/** * Create the new UserType with the config variables given. * If a config variable is not set, the default value will be used. * * @param array * $p_configVars The privileges list to be granted * * @return bool * TRUE on success, FALSE on failure */ public function create($p_name, $p_configVars = array()) { global $LiveUserAdmin; $success = false; if (empty($p_name) || !is_string($p_name)) { return $success; } // create the user type via LiveUser_Admin API $data = array('group_define_name' => $p_name); $uTypeId = $LiveUserAdmin->perm->addGroup($data); if ($uTypeId) { $success = true; $this->m_data['group_id'] = $uTypeId; // user successfully created, then grant the checked rights $defaultConfig = User::GetDefaultConfig(); if (sizeof($p_configVars)) { foreach ($p_configVars as $varname => $value) { if (array_key_exists($varname, $defaultConfig)) { $filter = array('filters' => array('right_define_name' => $varname)); $right = $LiveUserAdmin->perm->getRights($filter); $data = array('right_id' => $right[0]['right_id'], 'group_id' => $this->m_data['group_id']); $LiveUserAdmin->perm->grantGroupRight($data); } } } } // fetch user type data if it was successfully created $this->fetch(); return $success; }
camp_html_goto_page($backLink); } else { $editUser->commit(); } $logtext = getGS('User account information changed for "$1"', $editUser->getUserName()); Log::Message($logtext, $g_user->getUserId(), 56); // sync base data to the corresponding phorum user $isPhorumUser = Phorum_user::GetByUserName($editUser->getUserName()); if($isPhorumUser) { $editUser->syncPhorumUser(); } if ($editUser->isAdmin() && $customizeRights && $canManage) { $rightsFields = $editUser->GetDefaultConfig(); $permissions = array(); foreach ($rightsFields as $field=>$value) { $val = Input::Get($field, 'string', 'off'); $permissionEnabled = ($val == 'off') ? false : true; $permissions[$field] = $permissionEnabled; } } if ($editUser->isAdmin() && $customizeRights && $canManage) { // save user customized rights $editUser->updatePermissions($permissions); $logtext = getGS('Permissions changed for user "$1"',$editUser->getUserName()); Log::Message($logtext, $g_user->getUserId(), 55); }
} $BackLink = "add.php"; $uType = Input::Get('Name', 'string', ''); if ($uType != '') { $userType = UserType::GetByName($uType); if ($userType->exists()) { $errMsg = getGS("A user type with the name '$1' already exists.", $uType); camp_html_add_msg($errMsg); camp_html_goto_page($BackLink); exit; } } else { camp_html_add_msg(getGS('You must fill in the $1 field.', getGS('Name'))); camp_html_goto_page($BackLink); exit; } $rights = array(); $rightsFields = User::GetDefaultConfig(); foreach ($rightsFields as $field=>$value) { $val = Input::Get($field, 'string', 'off'); if ($val != 'off') { $rights[$field] = 1; } } $userType->create($uType, $rights); camp_html_goto_page("/$ADMIN/user_types/access.php?UType=".$userType->getId()); ?>