]> CyberLeo.Net >> Repos - SourceForge/phpwiki.git/blob - lib/removepage.php
Fixed bugs so now page deletion works again. Also added some minor
[SourceForge/phpwiki.git] / lib / removepage.php
1 <?php
2 rcs_id('$Id: removepage.php,v 1.7 2002-01-28 01:57:13 dairiki Exp $');
3 require_once('lib/Template.php');
4
5 function RemovePage (&$request) {
6     global $Theme;
7
8     $pagename = $request->getArg('pagename');
9
10     $pagelink = $Theme->linkExistingWikiWord($pagename);
11     $page = $request->getPage();
12     $rev = $page->getCurrentRevision();
13     $version = $rev->getVersion();
14
15     if ($request->getArg('cancel')) {
16         $request->redirect(WikiURL($pagename));
17         // The user probably doesn't see the rest of this.
18         $html[] = HTML::h2(_("Request Cancelled!"));
19         $html[] = HTML::p(fmt("Return to %s.", $pagelink));
20     }
21
22     
23     if (!$request->isPost() || !$request->getArg('verify')) {
24         $url = WikiURL($pagename, array('action' => 'remove', 'verify' => 'okay'));
25
26         $removeB = $Theme->makeSubmitButton(_("Remove the page now"), 'verify', 'wikiadmin');
27         $cancelB = $Theme->makeSubmitButton(_("Cancel"), 'cancel', 'wikiaction');
28         
29         $html[] = HTML::h2(fmt("You are about to remove '%s' permanently!", $pagelink));
30         $html[] = HTML::form(array('method' => 'post',
31                                    'action' => WikiURL($pagename)),
32                              HTML::input(array('type' => 'hidden',
33                                                'name' => 'currentversion',
34                                                'value' => $version)),
35                              HTML::input(array('type' => 'hidden',
36                                                'name' => 'action',
37                                                'value' => 'remove')),
38                              HTML::div(array('class' => 'toolbar'),
39                                        $removeB,
40                                        $Theme->getButtonSeparator(),
41                                        $cancelB));
42     }
43     elseif ($request->getArg('currentversion') != $version) {
44         $html[] = HTML::h2(_("Someone has edited the page!"));
45         $html[] = HTML::p(fmt("Since you started the deletion process, someone has saved a new version of %s.  Please check to make sure you still want to premanently remove the page from the database.", $pagelink));
46     }
47     else {
48         // Real delete.
49         $dbi = $request->getDbh();
50         $dbi->deletePage($pagename);
51         $html[] = HTML::h2(fmt("Removed page '%s' succesfully.", $pagename));
52     }
53
54     GeneratePage($html, _("Remove page"));
55 }
56
57
58 // For emacs users
59 // Local Variables:
60 // mode: php
61 // tab-width: 8
62 // c-basic-offset: 4
63 // c-hanging-comment-ender-p: nil
64 // indent-tabs-mode: nil
65 // End:
66
67 ?>