Exemplo n.º 1
0
 private function onEditBoard()
 {
     $form = $this->getForm();
     if (false !== ($error = $form->validate($this->module))) {
         return $error;
     }
     if (!$this->board->isRoot()) {
         $bid = $this->board->getID();
         if ($bid !== ($newpid = (int) $form->getVar('moveboard'))) {
             if ($this->board->getParentID() !== $newpid) {
                 if (false !== ($newparent = GWF_ForumBoard::getBoard($newpid))) {
                     if (false === $this->board->move($newparent)) {
                         return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__));
                     }
                 }
             }
         }
     }
     $this->board->saveVars(array('board_gid' => $form->getVar('groupid'), 'board_title' => $form->getVar('title'), 'board_descr' => $form->getVar('descr')));
     # Options
     $this->board->saveOption(GWF_ForumBoard::ALLOW_THREADS, Common::getPost('allow_threads') !== false);
     $this->board->saveOption(GWF_ForumBoard::LOCKED, Common::getPost('is_locked') !== false);
     $this->board->saveOption(GWF_ForumBoard::GUEST_POSTS, Common::getPost('guests') !== false);
     $this->board->saveOption(GWF_ForumBoard::GUEST_VIEW, Common::getPost('guest_view') !== false);
     if (!$this->board->isRoot()) {
         $this->board->saveOption(GWF_ForumBoard::INVISIBLE, Common::getPost('invisible') !== false);
     }
     return $this->module->message('msg_edited_board', array($this->board->getShowBoardHREF()));
 }
Exemplo n.º 2
0
 private function move($dir = -1, $bid)
 {
     if (false === ($board = GWF_ForumBoard::getBoard($bid))) {
         return $this->module->error('err_board');
     }
     if ($board->isRoot()) {
         return GWF_HTML::err('ERR_PARAMETER', array(__FILE__, __LINE__, 'board_is_root'));
     }
     $myPos = $board->getVar('board_pos');
     $pid = $board->getVar('board_pid');
     $cmp = $dir === 1 ? '>' : '<';
     $orderby = $dir === 1 ? 'board_pos ASC' : 'board_pos DESC';
     if (false === ($swap = $board->selectFirstObject('*', "board_pid={$pid} AND board_pos{$cmp}{$myPos}", $orderby))) {
         return $this->module->requestMethodB('Forum');
     }
     $swapPos = $swap->getVar('board_pos');
     if (false === $board->saveVar('board_pos', $swapPos)) {
         return GWF_HTML::err('ERR_DATABASE', __FILE__, __LINE__);
     }
     if (false === $swap->saveVar('board_pos', $myPos)) {
         return GWF_HTML::err('ERR_DATABASE', __FILE__, __LINE__);
     }
     $this->cleanupPositions();
     $this->module->setCurrentBoard(GWF_ForumBoard::getBoard($pid));
     GWF_ForumBoard::init(true, true);
     return $this->module->requestMethodB('Forum');
 }
Exemplo n.º 3
0
 private function sanitize($boardid)
 {
     if (false === ($this->board = GWF_ForumBoard::getBoard($boardid))) {
         return $this->module->error('err_board');
     }
     if (!$this->board->hasPermissionS()) {
         return GWF_HTML::err('ERR_NO_PERMISSION');
     }
     return false;
 }
Exemplo n.º 4
0
 public static function hasSubscribed($userid, $boardid)
 {
     $curr = GWF_ForumBoard::getBoard($boardid);
     while ($curr !== false) {
         if (self::hasSubscribedB($userid, $curr->getID())) {
             return true;
         }
         $curr = $curr->getParent();
     }
     return false;
 }
Exemplo n.º 5
0
 private function onEdit()
 {
     $t = $this->thread;
     $form = $this->getForm();
     if (false !== ($error = $form->validate($this->module))) {
         return $error;
     }
     $t->saveOption(GWF_ForumThread::HIDDEN, isset($_POST['hidden']));
     $t->saveOption(GWF_ForumThread::STICKY, isset($_POST['sticky']));
     $t->saveOption(GWF_ForumThread::CLOSED, isset($_POST['closed']));
     $t->saveOption(GWF_ForumThread::GUEST_VIEW, isset($_POST['guest_view']));
     $t->saveOption(GWF_ForumThread::INVISIBLE, isset($_POST['invisible']));
     $t->saveVars(array('thread_title' => $form->getVar('title')));
     if ($t->getBoardID() !== ($bid = $form->getVar('move'))) {
         //			var_dump($bid);
         return $this->onMove($t, GWF_ForumBoard::getBoard($bid));
     } else {
         if ($t->getID() !== ($tid = $form->getVar('merge'))) {
             return $this->onMerge($t, GWF_ForumThread::getThread($tid));
         }
     }
     return $this->module->message('msg_edited_thread');
 }
Exemplo n.º 6
0
 /**
  * @return GWF_ForumBoard
  */
 public function getBoard()
 {
     return GWF_ForumBoard::getBoard($this->getBoardID());
 }
Exemplo n.º 7
0
 public function validate_parentid($arg)
 {
     if (false === ($board = GWF_ForumBoard::getBoard($arg))) {
         return $this->lang('err_parentid');
     }
     return false;
 }
Exemplo n.º 8
0
 /**
  * @return GWF_ForumBoard
  */
 public function getBoard()
 {
     return GWF_ForumBoard::getBoard($this->getVar('site_boardid'));
 }