]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - IkiWiki/Plugin/remove.pm
basically, removal works
[git.ikiwiki.info.git] / IkiWiki / Plugin / remove.pm
index 0dded4fa4b7d44285a389c54dadefa00b2db8d65..57c43cfdf4db1b033d19541b77d1893889e227fd 100644 (file)
@@ -106,7 +106,23 @@ sub sessioncgi ($$) { #{{{
                        exit 0;
                }
                elsif ($form->submitted eq 'Remove' && $form->validate) {
-                       error("removal not yet implemented"); # TODO
+                       my $page=IkiWiki::titlepage($form->field("page"));
+                       my $file=$pagesources{$page};
+
+                       # Do removal, and update the wiki.
+                       require IkiWiki::Render;
+                       if ($config{rcs}) {
+                               IkiWiki::rcs_remove($file);
+                               IkiWiki::disable_commit_hook();
+                               IkiWiki::rcs_commit($file, gettext("removed"),
+                                       IkiWiki::rcs_prepedit($file),
+                                       $session->param("name"), $ENV{REMOTE_ADDR});
+                               IkiWiki::enable_commit_hook();
+                               IkiWiki::rcs_update();
+                       }
+                       IkiWiki::prune("$config{srcdir}/$file");
+                       IkiWiki::refresh();
+                       IkiWiki::saveindex();
                }
                else {
                        IkiWiki::showform($form, $buttons, $session, $q);