/** * We install one root board per default. Return empty string on success or error msg. * @param $forum * @return string */ public static function installRoot(Module_Forum $forum) { $table = GDO::table('GWF_ForumBoard'); # Do we have a root? if (false !== ($board = GWF_ForumBoard::getByID(1))) { return ''; } $root = new GWF_ForumBoard(array('board_bid' => 1, 'board_pid' => 0, 'board_gid' => 0, 'board_pos' => 0, 'board_options' => GWF_ForumBoard::GUEST_VIEW, 'board_title' => GWF_SITENAME, 'board_descr' => 'Forums', 'board_postcount' => 0, 'board_threadcount' => 0)); if (false === $root->insert()) { return GWF_HTML::err('ERR_DATABASE', __FILE__, __LINE__); } return ''; }
private function createBoard(GWF_Group $group) { $name = $group->getName(); $pid = $this->module->getForumBoard()->getID(); // $pid = Common::clamp($this->module->cfgBID(), 1); if (false === GWF_ForumBoard::getByID($pid)) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } $groupid = $group->getID(); $options = GWF_ForumBoard::ALLOW_THREADS; if (false === ($board = GWF_ForumBoard::createBoard('Usergroup: ' . $name, 'Board for the ' . $name . ' group', $pid, $options, $groupid))) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } if (false === $group->saveVar('group_bid', $board->getID())) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } if (false !== ($error = $this->module->adjustFlags($group))) { return $error; } return false; }
$founder = $group->getFounder(); $in_grp = $user->isInGroupName($groupname); if ($in_grp) { $ugopt = $user->getUserGroupOptions($group->getID()); #getGroupByName($groupname)->getInt('group_options'); // $ugopt = $user->getUserGroupOptions($groupname); } else { $ugopt = 0; } if (($ugopt & (GWF_UserGroup::LEADER | GWF_UserGroup::CO_LEADER)) > 0) { $edit = GWF_Button::edit(GWF_WEB_ROOT . 'edit_usergroup/' . $group->getID() . '/' . $group->urlencodeSEO('group_name')); } else { $edit = ''; } $parent_board = $tVars['module']->getForumBoard(); if (false !== ($board = GWF_ForumBoard::getByID($group->getVar('group_bid')))) { $href = $board->getShowBoardHREF(); $forum = GWF_HTML::anchor($href, $group->getVar('group_name')); } else { $forum = $group->display('group_name'); } $members = GWF_HTML::anchor(GWF_WEB_ROOT . 'users_in_group/' . $group->getID() . '/' . $group->urlencodeSEO('group_name'), $group->getVar('group_memberc')); echo GWF_Table::rowStart(); echo GWF_Table::column($edit . $forum, 'nowrap'); echo GWF_Table::column($members, 'gwf_num'); echo GWF_Table::column($founder->displayProfileLink()); if ($user->isGuest()) { echo '<td></td>' . PHP_EOL; } elseif ($in_grp) { echo GWF_Table::column(sprintf('<input type="submit" name="part[%s]" value="%s" />', $group->getVar('group_id'), $btn_part)); } elseif ($group->isOptionEnabled(GWF_Group::FREE)) {
public function adjustFlags(GWF_Group $group) { if (false === ($mod_forum = GWF_Module::getModule('Forum'))) { return false; } $mod_forum->onInclude(); if (false === ($board = GWF_ForumBoard::getByID($group->getBoardID()))) { return GWF_HTML::err('ERR_DATABASE', array(__FILE__, __LINE__)); } # Adjust Board and Thread Flags $gid = 0; $guestview = true; switch ($group->getVisibleMode()) { case GWF_Group::VISIBLE: // $board->saveVar('board_gid', 0); // $board->saveGuestView(true); // $board->saveOption(GWF_ForumBoard::GUEST_VIEW, true); // $this->adjustThreads($board, 0, true); // return false; break; case GWF_Group::COMUNITY: // $board->saveVar('board_gid', 0); // $board->saveGuestView(false); // $board->saveOption(GWF_ForumBoard::GUEST_VIEW, false); $guestview = false; break; case GWF_Group::HIDDEN: case GWF_Group::SCRIPT: // $board->saveVar('board_gid', $group->getID()); // $board->saveGuestView(false); // $board->saveOption(GWF_ForumBoard::GUEST_VIEW, false); $gid = $group->getID(); $guestview = false; break; default: return GWF_HTML::err('ERR_GENERAL', array(__FILE__, __LINE__)); } $board->saveGroupID($gid); $board->saveGuestView($guestview); }
private function changeGroupName(GWF_Group $group, $new_name) { if ($new_name === $group->getVar('group_name')) { return true; } if (false === ($mod_forum = GWF_Module::getModule('Forum'))) { return true; } $mod_forum->onInclude(); if (false === ($board = GWF_ForumBoard::getByID($group->getBoardID()))) { return false; } if (false === $group->saveVar('group_name', $new_name)) { return false; } if (false === $board->saveVars(array('board_title' => 'Usergroup: ' . $new_name, 'board_descr' => 'Board for the ' . $new_name . ' group'))) { return false; } return true; }