private function onUnlock() { if (!$this->is_author) { return GWF_HTML::err('ERR_NO_PERMISSION'); } $href_unlock = GWF_WEB_ROOT . sprintf('index.php?mo=PageBuilder&me=Moderate&token=%s&pageid=%s&action=unlock', $this->page->getHashcode(), $this->page->getID()); return $this->module->message('msg_unlock_confirm', array($href_unlock)); }
private function getPageCommentsForm(GWF_Page $page) { if (isset($_POST['reply']) || !$page->isOptionEnabled(GWF_Page::COMMENTS)) { return ''; } $reply = $this->mod_c->getMethod('Reply'); $reply instanceof Comments_Reply; $href = $this->getMethodHREF('&pageid=' . $page->getID()); return $reply->templateReply($href); }
private function onTranslate(GWF_Page $page) { $form = $this->formTranslate($page); if (false !== ($error = $form->validate($this->module))) { return $error; } $options = 0; $options |= GWF_Page::ENABLED; $options |= GWF_Page::TRANSLATION; $options |= $page->isLoginRequired() ? GWF_Page::LOGIN_REQUIRED : 0; $options |= $this->locked_mode ? GWF_Page::LOCKED : 0; $options |= $page->getMode(); $options |= $page->getShowFlags(); $gstring = $page->getVar('page_groups'); $tags = ',' . trim(trim($form->getVar('tags')), ',') . ','; $author = GWF_User::getStaticOrGuest(); $time = time(); $date = GWF_Time::getDate(GWF_Time::LEN_SECOND, $time); $newpage = new GWF_Page(array('page_id' => '0', 'page_otherid' => $page->getID(), 'page_lang' => $form->getVar('lang'), 'page_author' => $author->getID(), 'page_author_name' => $author->getVar('user_name'), 'page_groups' => $gstring, 'page_create_date' => $date, 'page_date' => $date, 'page_time' => $time, 'page_url' => $form->getVar('url'), 'page_title' => $form->getVar('title'), 'page_cat' => '0', 'page_meta_tags' => $tags, 'page_meta_desc' => $form->getVar('descr'), 'page_content' => $form->getVar('content'), 'page_views' => '0', 'page_options' => $options, 'page_inline_css' => $page->getVar('page_inline_css'))); if (false === $newpage->insert()) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } // if (false === GWF_PageGID::updateGIDs($newpage, $gstring)) // { // return GWF_HTML::err('ERR_DATABASE', array(__FILE__,__LINE__)); // } if (false === GWF_PageTags::updateTags($newpage, $tags, $form->getVar('lang'))) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } if (false === $this->module->writeHTA()) { return GWF_HTML::err('ERR_GENERAL', array(__FILE__, __LINE__)); } if ($this->locked_mode) { $this->module->sendModMails(); return $this->module->message('msg_added_locked'); } if (false === GWF_PageHistory::push($newpage)) { GWF_Error::err('ERR_DATABASE', array(__FILE__, __LINE__)); } return $this->module->message('msg_trans'); }
public static function onDelete(GWF_Page $page) { return self::table(__CLASS__)->deleteWhere('pgid_oid=' . $page->getID()); }
/** * Check if an URL is valid for a page. Optionally check for duplicate URLs too. * @param string $url * @param boolean $allow_dups * @return false|string */ public function validateURL($url, $allow_dups = false, $key = 'url') { # Dup checker if (!$allow_dups) { if (false !== GWF_Page::getByURL($url)) { return $this->lang('err_dup_url'); } } # Sanitize URL $_POST[$key] = $url = ltrim(trim($url), '/'); # Just some length check return GWF_Validator::validateString($this, $key, $url, 4, 255, false); }
private function sendModMail($userid, GWF_Page $page) { if (false === ($user = GWF_User::getByID($userid))) { return false; } if ('' === ($email = $user->getValidMail())) { return false; } $mail = new GWF_Mail(); $mail->setSender(GWF_BOT_EMAIL); $mail->setReceiver($email); $mail->setSubject($this->module->lang('subj_mod')); # Collect data $token = $page->getHashcode(); $pid = $page->getID(); $href_enable = Common::getAbsoluteURL(sprintf('index.php?mo=PageBuilder&me=Moderate&token=%s&pageid=%s&action=unlock', $token, $pid)); $href_delete = Common::getAbsoluteURL(sprintf('index.php?mo=PageBuilder&me=Moderate&token=%s&pageid=%s&action=delete', $token, $pid)); $mail->setBody($this->module->lang('body_mod', array($user->displayUsername(), $page->display('page_author_name'), $page->display('page_url'), $page->display('page_title'), $page->display('page_meta_tags'), $page->display('page_meta_desc'), $page->display('page_inline_css'), $page->display('page_content'), GWF_HTML::anchor($href_enable, $href_enable), GWF_HTML::anchor($href_delete, $href_delete)))); return $mail->sendToUser($user); }