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())); }
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'); }
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; }
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; }
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'); }
/** * @return GWF_ForumBoard */ public function getBoard() { return GWF_ForumBoard::getBoard($this->getBoardID()); }
public function validate_parentid($arg) { if (false === ($board = GWF_ForumBoard::getBoard($arg))) { return $this->lang('err_parentid'); } return false; }
/** * @return GWF_ForumBoard */ public function getBoard() { return GWF_ForumBoard::getBoard($this->getVar('site_boardid')); }