Example #1
0
 function post()
 {
     if (!Current_User::authorized('wiki', 'edit_page') && !(PHPWS_Settings::get('wiki', 'allow_page_edit') && Current_User::isLogged()) || !$this->allow_edit) {
         Current_User::disallow(dgettext('wiki', 'User attempted access to wiki page save.'));
         return;
     }
     if (isset($_POST['cancel'])) {
         /* sendMessage does not return */
         WikiManager::sendMessage(dgettext('wiki', 'Edit Cancelled!'), array('page' => $this->getTitle(FALSE)), FALSE);
     }
     $this->setPagetext($_POST['pagetext']);
     if (isset($_POST['preview'])) {
         return $this->edit(TRUE);
     }
     $this->setOwnerId(Current_User::getId());
     $this->setEditorId(Current_User::getId());
     $this->setCreated(mktime());
     $this->setUpdated(mktime());
     $this->setComment($_POST['comment']);
     $result = $this->save();
     if (PHPWS_Error::logIfError($result)) {
         WikiManager::sendMessage(dgettext('wiki', 'Page could not be saved.'), array('page' => $this->getTitle(FALSE)), FALSE);
     }
     PHPWS_Core::initModClass('version', 'Version.php');
     $version = new Version('wiki_pages');
     $version->setSource($this);
     $version->setApproved(1);
     $version->save();
     WikiManager::sendEmail();
     WikiManager::sendMessage(dgettext('wiki', 'Wiki Page Saved!'), array('page' => $this->getTitle(FALSE)), FALSE);
 }