if (!$superadmin_reg && !$session->allow_registrations) { return; } // Handle new user registrations if (isset($_POST['register_usr']) && isset($_POST['register_pwd']) && isset($_POST['register_pwd2'])) { $reg = UserHandler::getInstance(); $user_id = $reg->register($_POST['register_usr'], $_POST['register_pwd'], $_POST['register_pwd2']); if ($user_id) { if ($superadmin_reg) { if (!UserGroup::getAll()) { // If no UserGroup:s exist, create them UserGroup::create('Webmasters', 1); UserGroup::create('Admins', 2); $sadmin_id = UserGroup::create('Super Admins', 3); } else { $grp = UserGroup::getByName('Super Admins'); $sadmin_id = $grp['groupId']; } if (!$sadmin_id) { throw new \Exception('super admin group not found'); } // Add this user to Super Admin group UserGroupHandler::addToGroup($user_id, $sadmin_id); } if ($session->login($_POST['register_usr'], $_POST['register_pwd'])) { $session->showStartPage(); } } // after form submit failed, put focus back to the register form <div> to show error $header->embedJsOnload('show_reg_form();'); }
public static function arcGetMenu() { $menu = []; $pages = \Page::getAllPages(); $groups[] = \UserGroup::getByName("Guests"); if (self::arcIsUserLoggedIn() == true) { $groups = array_merge($groups, self::arcGetUser()->getGroups()); } foreach ($pages as $page) { if ($page->hidefrommenu == true || $page->hideonlogin == true && self::arcIsUserLoggedIn() == true) { continue; } if (\UserPermission::hasPermission($groups, $page->seourl)) { $data = explode("/", $page->seourl); $menu[ucwords($data[0])][$page->title]["name"] = $page->title; $menu[ucwords($data[0])][$page->title]["url"] = $page->seourl; $menu[ucwords($data[0])][$page->title]["icon"] = $page->iconclass; } } return $menu; }
/** * * @return \UserGroup Gets the group of the user */ public function getGroups() { $groups = []; foreach (json_decode($this->groups) as $group) { $grp = UserGroup::getByName($group); if ($grp->id != 0) { $groups[] = $grp; } } return $groups; }