]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/rename.pm
rename: implemented new canrename hook
[ikiwiki.git] / IkiWiki / Plugin / rename.pm
index 25ddd2d65870fea21fda94930fa90031ec9e4342..740ca8ac443f72ba05336599da5a331d1157f55e 100644 (file)
@@ -87,6 +87,26 @@ sub check_canrename ($$$$$$) {
                        IkiWiki::Plugin::attachment::check_canattach($session, $dest, $srcfile);
                }
        }
+
+       my $canrename;
+       IkiWiki::run_hooks(canrename => sub {
+               return if defined $canrename;
+               my $ret=shift->($src, $q, $session);
+               if (defined $ret) {
+                       if ($ret eq "") {
+                               $canrename=1;
+                       }
+                       elsif (ref $ret eq 'CODE') {
+                               $ret->();
+                               $canrename=0;
+                       }
+                       elsif (defined $ret) {
+                               error($ret);
+                               $canrename=0;
+                       }
+               }
+       });
+       return $canrename;
 }
 
 sub rename_form ($$$) {