<!-- $Id$ --> <?php // editpage relies on $pagename and $ScriptUrl if ($edit) { $pagename = rawurldecode($edit); if (get_magic_quotes_gpc()) { $pagename = stripslashes($pagename); } $banner = htmlspecialchars($pagename); $pagehash = RetrievePage($dbi, $pagename, $WikiPageStore); } elseif ($copy) { $pagename = rawurldecode($copy); if (get_magic_quotes_gpc()) { $pagename = stripslashes($pagename); } $banner = htmlspecialchars (sprintf (gettext ("Copy of %s"), $pagename)); $pagehash = RetrievePage($dbi, $pagename, $ArchivePageStore); } else { ExitWiki(gettext ("No page name passed into editpage!")); } if (is_array($pagehash)) { if (($pagehash['flags'] & FLAG_PAGE_LOCKED) && !defined('WIKI_ADMIN')) { $html = "<p>"; $html .= gettext ("This page has been locked by the administrator and cannot be edited."); $html .= "\n<p>"; $html .= gettext ("Sorry for the inconvenience."); $html .= "\n"; GeneratePage('MESSAGE', $html, sprintf (gettext ("Problem while editing %s"), $pagename), 0); ExitWiki (""); } $textarea = htmlspecialchars(implode("\n", $pagehash["content"])); if (isset($copy)) { // $cdbi = OpenDataBase($WikiPageStore); $currentpage = RetrievePage($dbi, $pagename, $WikiPageStore); $pagehash["version"] = $currentpage["version"]; } elseif ($pagehash["version"] > 1) { if(IsInArchive($dbi, $pagename)) $pagehash["copy"] = 1; } } else { if (preg_match("/^${WikiNameRegexp}\$/", $pagename)) $newpage = $pagename; else $newpage = "[$pagename]"; $textarea = htmlspecialchars( sprintf(gettext ("Describe %s here."), $newpage)); unset($pagehash); $pagehash["version"] = 0; $pagehash["lastmodified"] = time(); $pagehash["author"] = ''; } GeneratePage('EDITPAGE', $textarea, $pagename, $pagehash); ?>