]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/editpage.pm
po(formbuilder_setup): remove the rename/remove buttons on slave pages
[git.ikiwiki.info.git] / IkiWiki / Plugin / editpage.pm
index 9210d6ff8c7a61eeac6e3162e89cc9b92d09847b..91d125a5ca1ca30e836706a6e5e2aa43df6eced2 100644 (file)
@@ -81,6 +81,33 @@ sub check_canedit ($$$;$) {
        return $canedit;
 }
 
        return $canedit;
 }
 
+sub check_cansave ($$$$) {
+       my $page=shift;
+       my $content=shift;
+       my $q=shift;
+       my $session=shift;
+
+       my $cansave;
+       run_hooks(cansave => sub {
+               return if defined $cansave;
+               my $ret=shift->($page, $content, $q, $session);
+               if (defined $ret) {
+                       if ($ret eq "") {
+                               $cansave=1;
+                       }
+                       elsif (ref $ret eq 'CODE') {
+                               $ret->();
+                               $cansave=0;
+                       }
+                       else {
+                               error($ret);
+                               $cansave=0;
+                       }
+               }
+       });
+       return $cansave;
+}
+
 sub cgi_editpage ($$) {
        my $q=shift;
        my $session=shift;
 sub cgi_editpage ($$) {
        my $q=shift;
        my $session=shift;
@@ -105,7 +132,6 @@ sub cgi_editpage ($$) {
                header => 0,
                table => 0,
                template => scalar template_params("editpage.tmpl"),
                header => 0,
                table => 0,
                template => scalar template_params("editpage.tmpl"),
-               wikiname => $config{wikiname},
        );
        
        decode_form_utf8($form);
        );
        
        decode_form_utf8($form);
@@ -371,6 +397,7 @@ sub cgi_editpage ($$) {
                }
                
                my $content=$form->field('editcontent');
                }
                
                my $content=$form->field('editcontent');
+               check_cansave($page, $content, $q, $session);
                run_hooks(editcontent => sub {
                        $content=shift->(
                                content => $content,
                run_hooks(editcontent => sub {
                        $content=shift->(
                                content => $content,