2 rcs_id('$Id: editpage.php,v 1.14 2001-02-15 21:33:40 dairiki Exp $');
4 // editpage relies on $pagename, $version
6 $currentpage = RetrievePage($dbi, $pagename, $WikiPageStore);
7 $editing_copy = isset($version) && $version == 'archive';
10 $banner = htmlspecialchars (sprintf (gettext ("Copy of %s"), $pagename));
11 $pagehash = RetrievePage($dbi, $pagename, $ArchivePageStore);
13 $banner = htmlspecialchars($pagename);
14 $pagehash = $currentpage;
17 if (is_array($pagehash)) {
19 if (($pagehash['flags'] & FLAG_PAGE_LOCKED) && !$user->is_admin()) {
21 $html .= gettext ("This page has been locked by the administrator and cannot be edited.");
23 $html .= gettext ("Sorry for the inconvenience.");
25 echo GeneratePage('MESSAGE', $html,
26 sprintf (gettext ("Problem while editing %s"), $pagename), 0);
30 $textarea = implode("\n", $pagehash["content"]);
32 $pagehash["version"] = $currentpage["version"];
35 if ($pagehash["version"] > 1 && IsInArchive($dbi, $pagename)) {
36 $pagehash["copy"] = 1;
40 if (preg_match("/^${WikiNameRegexp}\$/", $pagename))
43 $newpage = "[$pagename]";
45 $textarea = htmlspecialchars(
46 sprintf(gettext ("Describe %s here."), $newpage));
49 $pagehash["version"] = 0;
50 $pagehash["lastmodified"] = time();
51 $pagehash["author"] = '';
52 $currentpage = $pagehash;
55 if (empty($pagehash['copy']))
57 else if ( $user->is_admin() )
58 $do_archive = 'probably';
59 else if ( $user->id() == $currentpage['author'] )
61 $page_age = time() - $currentpage['lastmodified'];
62 if ($page_age < MINOR_EDIT_TIMEOUT)
63 $do_archive = 'maybe';
65 $do_archive = 'probably';
68 $do_archive = 'force';
70 if ($do_archive == 'probably' || $do_archive == 'maybe')
72 $pagehash['minor_edit_checkbox']
73 = Element('input', array('type' => 'checkbox',
74 'name' => 'minor_edit',
76 'checked' => ($do_archive == 'maybe')));
79 echo GeneratePage('EDITPAGE', $textarea, $pagename, $pagehash);
84 // c-file-style: "ellemtel"