if ($view == 'editnew') { // edit a new page if (!$perm->have_studip_perm("autor", $SessSemName[1])) { throw new AccessDeniedException(_('Sie haben keine Berechtigung, Seiten zu editieren!')); } // set lock setWikiLock(null, $user->id, $SessSemName[1], $keyword); wikiEdit($keyword, NULL, $user->id, Request::quoted('lastpage')); } else { // Default action: Display WikiPage (+ logic for submission) // if (empty($keyword)) { $keyword = 'WikiWikiWeb'; // display Start page as default } releaseLocks($keyword); // kill old locks $special = ""; if (Request::submitted('submit')) { // // Page was edited and submitted // submitWikiPage($keyword, $version, Studip\Markup::purifyHtml(Request::get('body')), $user->id, $SessSemName[1]); $version = ""; // $version="" means: get latest } else { if ($cmd == "abortedit") { // Editieren abgebrochen // // Editing page was aborted //
/** * Display edit form for wiki page. * * @param string keyword WikiPage name * @param array wikiData Array from DB with WikiPage data * @param string user_id Internal user id * @param string backpage Page to display if editing is aborted * **/ function wikiEdit($keyword, $wikiData, $user_id, $backpage=NULL) { showPageFrameStart(); wikiSinglePageHeader($wikiData, $keyword); begin_blank_table(); if (!$wikiData) { $body = ""; $version = 0; $lastpage="&lastpage=".urlencode($backpage); } else { $body = $wikiData["body"]; $version = $wikiData["version"]; $lastpage = ""; } releaseLocks($keyword); // kill old locks $locks=getLock($keyword, $user_id); $cont=""; if ($locks && $lock["user_id"]!=$user_id) { $message = MessageBox::info(sprintf(_("Die Seite wird eventuell von %s bearbeitet."), htmlReady($locks)), array(_("Wenn Sie die Seite trotzdem ändern, kann ein Versionskonflikt entstehen."), _("Es werden dann beide Versionen eingetragen und müssen von Hand zusammengeführt werden."), _("Klicken Sie auf Abbrechen, um zurückzukehren."))); PageLayout::postMessage($message); } if ($keyword=='toc') { $message = MessageBox::info(_("Sie bearbeiten die QuickLinks."), array(_("Verwenden Sie Aufzählungszeichen (-, --, ---), um Verweise auf Seiten hinzuzufügen."))); PageLayout::postMessage($message); if (!$body) { $body=_("- WikiWikiWeb\n- BeispielSeite\n-- UnterSeite1\n-- UnterSeite2"); } } $template = $GLOBALS['template_factory']->open('wiki/edit.php'); $template->keyword = $keyword; $template->version = $version; $template->body = $body; $cont = $template->render(); printcontent(0, 0, $cont, ''); Helpbar::get()->setVariables(array( 'help_link' => format_help_url('Basis.VerschiedenesFormat'), )); end_blank_table(); echo "</td>"; // end of content area showPageFrameEnd(); }