Example #1
0
 private function onAddThread()
 {
     $form = $this->getForm();
     if (false !== ($error = $form->validate($this->module))) {
         return $error . $this->templateAddThread();
     }
     $user = GWF_Session::getUser();
     $is_mod = $user === false && $this->module->isGuestPostModerated();
     $title = $form->getVar('title');
     $message = $form->getVar('message');
     $bid = $this->board->getID();
     $gid = $this->board->getGroupID();
     $options = 0;
     $options |= $is_mod === false ? 0 : GWF_ForumThread::IN_MODERATION;
     $options |= $this->board->isGuestView() ? GWF_ForumThread::GUEST_VIEW : 0;
     //		$options |= Common::getPost('guest_view') === false ? 0 : GWF_ForumThread::GUEST_VIEW;
     $date = GWF_Time::getDate(GWF_Time::LEN_SECOND);
     $thread = GWF_ForumThread::fakeThread($user, $title, $bid, $gid, 1, $options, $date);
     if (false === $thread->insert()) {
         return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
     }
     $tid = $thread->getID();
     $gid = $thread->getGroupID();
     $options = 0;
     $options |= Common::getPost('bbcode') === false ? 0 : GWF_ForumPost::DISABLE_BB;
     $options |= Common::getPost('smileys') === false ? 0 : GWF_ForumPost::DISABLE_SMILE;
     $options |= $is_mod === false ? 0 : GWF_ForumPost::IN_MODERATION;
     $options |= $this->board->isGuestView() ? GWF_ForumPost::GUEST_VIEW : 0;
     $post = GWF_ForumPost::fakePost($user, $title, $message, $options, $tid, $gid, $date);
     if (false === $post->insert()) {
         return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
     }
     if (!$is_mod) {
         $thread->onApprove();
         //			$this->module->cachePostcoun();
         return $this->module->message('msg_posted', array($thread->getLastPageHREF()));
     } else {
         GWF_ForumSubscription::sendModerateThread($this->module, $thread, $message);
         return $this->module->message('msg_posted_mod', array($this->board->getShowBoardHREF()));
     }
 }
Example #2
0
 public function onPreview()
 {
     $form = $this->getForm();
     $errors = $form->validate($this->module);
     //		$user = GWF_Session::getUser();
     $user = $this->post->getUser(true);
     $title = $form->getVar('title');
     $message = $form->getVar('message');
     $options = 0;
     $options |= Common::getPost('bbcode') === false ? 0 : GWF_ForumPost::DISABLE_BB;
     $options |= Common::getPost('smileys') === false ? 0 : GWF_ForumPost::DISABLE_SMILE;
     $tVars = array('thread' => GWF_ForumThread::fakeThread($user, $title), 'posts' => array(GWF_ForumPost::fakePost($user, $title, $message, $options, 0, 0, GWF_Time::getDate(GWF_Date::LEN_SECOND), true)), 'pagemenu' => '', 'actions' => false, 'title' => false, 'reply' => true, 'nav' => false, 'term' => '', 'page' => 0, 'href_edit' => '');
     $preview = $this->module->templatePHP('show_thread.php', $tVars);
     return $errors . $preview . $this->templateEdit();
 }
Example #3
0
 public static function newThread(GWF_User $user, $title = '', $message = '', $options = 0, $bid = 0, $gid = 0)
 {
     // No params
     if ($title === '' && $message === '') {
         return false;
     }
     // insert thread
     $postcount = $message === '' ? 0 : 1;
     $thread = self::fakeThread($user, $title, $bid, $gid, $postcount, $options);
     if (false === $thread->insert()) {
         return false;
     }
     // Insert message if there is one.
     if ($message !== '') {
         $threadid = $thread->getID();
         $post = GWF_ForumPost::fakePost($user, $title, $message, $options, $threadid, $gid);
         if (false === $post->insert()) {
             return false;
         }
     }
     $thread->onApprove(false, $postcount);
     Module_Forum::getInstance()->cachePostcount();
     return $thread;
 }
Example #4
0
 private function onReply()
 {
     $form = $this->getForm();
     if (false !== ($error = $form->validate($this->module))) {
         return $error . $this->templateReply();
     }
     # Gather vars
     $user = GWF_Session::getUser();
     $is_mod = $user === false && $this->module->isGuestPostModerated();
     $title = $form->getVar('title');
     $message = $form->getVar('message');
     $options = 0;
     $options |= Common::getPost('bbcode') === false ? 0 : GWF_ForumPost::DISABLE_BB;
     $options |= Common::getPost('smileys') === false ? 0 : GWF_ForumPost::DISABLE_SMILE;
     $options |= $is_mod ? GWF_ForumPost::IN_MODERATION : 0;
     //		$options |= Common::getPost('guest_view') === false ? 0 : $this->thread->isGuestView();
     $options |= $this->thread->isGuestView() ? GWF_ForumPost::GUEST_VIEW : 0;
     $threadid = $this->thread->getID();
     $groupid = $this->thread->getGroupID();
     # Post it
     $post = GWF_ForumPost::fakePost($user, $title, $message, $options, $threadid, $groupid);
     if (false === $post->insert()) {
         return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
     }
     if (!$is_mod) {
         if (false === $post->onApprove($this->module)) {
             return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
         }
         //			$this->thread->increase('thread_postcount', 1); # Increase cache :/
         $this->module->cachePostcount();
         return $this->module->message('msg_posted', array($post->getThread()->getLastPageHREF()));
     } else {
         GWF_ForumSubscription::sendModeratePost($this->module, $post);
         return $this->module->message('msg_posted_mod', array($this->thread->getLastPageHREF()));
     }
 }