// ASSIGN USER TO ROLES // Initialization require_once '../../kernel/setup_inc.php'; $gBitSystem->verifyPermission('p_users_admin'); if (!$gBitUser->userExists(array('user_id' => $_REQUEST["assign_user"]))) { $gBitSystem->fatalError(tra("User doesnt exist")); } $assignUser = new RolePermUser($_REQUEST["assign_user"]); $assignUser->load(TRUE); if ($assignUser->isAdmin() && !$gBitUser->isAdmin()) { $gBitSystem->fatalError(tra('You cannot modify a system administrator.')); } if (isset($_REQUEST["action"])) { $gBitUser->verifyTicket(); if ($_REQUEST["action"] == 'assign') { $assignUser->addUserToRole($assignUser->mUserId, $_REQUEST["role_id"]); } elseif ($_REQUEST["action"] == 'removerole') { $assignUser->removeUserFromRole($_REQUEST["assign_user"], $_REQUEST["role_id"]); } bit_redirect('assign_role_user.php?assign_user='******'set_default'])) { $gBitUser->verifyTicket(); $assignUser->storeUserDefaultRole($assignUser->mUserId, $_REQUEST['default_role']); $assignUser->load(); } $gBitSmarty->assignByRef('assignUser', $assignUser); $listHash = array('sort_mode' => 'role_name_asc'); $gBitSmarty->assign('roles', $gBitUser->getAllRoles($listHash)); $gBitSystem->setBrowserTitle('Edit User: '******'bitpackage:users/admin_assign_role_user.tpl', NULL, array('display_mode' => 'admin'));
} else { $anonUser = new BitPermUser(); if ($anonUser->store($storeHash)) { // Remove anonymous from registered group $regGroupId = $anonUser->groupExists('Registered', ROOT_USER_ID); $anonUser->removeUserFromGroup(ANONYMOUS_USER_ID, $regGroupId); $anonUser->addUserToGroup(ANONYMOUS_USER_ID, ANONYMOUS_GROUP_ID); } } // Create 'Admin' user has id= 2 $storeHash = array('real_name' => $_SESSION['real_name'], 'login' => $_SESSION['login'], 'password' => $_SESSION['password'], 'email' => $_SESSION['email'], 'pass_due' => FALSE); if (defined('ROLE_MODEL')) { $adminUser = new RolePermUser(); if ($adminUser->store($storeHash)) { // add user to admin role $adminUser->addUserToRole($adminUser->mUserId, 1); // set admin role as default $adminUser->storeUserDefaultRole($adminUser->mUserId, 1); } else { vd($adminUser->mErrors); die; } } else { $adminUser = new BitPermUser(); if ($adminUser->store($storeHash)) { // add user to admin group $adminUser->addUserToGroup($adminUser->mUserId, 1); // set admin group as default $adminUser->storeUserDefaultGroup($adminUser->mUserId, 1); } else { vd($adminUser->mErrors);
/** * Imports a user record from csv file * This is a admin specific function * * @param $pParamHash an array with user data * @return TRUE if import succeed **/ function importUser(&$pParamHash) { global $gBitUser; if (!$gBitUser->hasPermission('p_users_admin')) { return FALSE; } if ($this->verifyUserImport($pParamHash)) { $this->StartTrans(); $pParamHash['content_type_guid'] = BITUSER_CONTENT_TYPE_GUID; if (!empty($pParamHash['user_store']) && count($pParamHash['user_store'])) { // lookup and asign the default role for user $defaultRoles = RolePermUser::getDefaultRole(); if (!empty($defaultRoles)) { $pParamHash['user_store']['default_role_id'] = key($defaultRoles); } if ($this->isValid()) { $userId = array("user_id" => $this->mUserId); $result = $this->mDb->associateUpdate(BIT_DB_PREFIX . 'users_users', $pParamHash['user_store'], $userId); } else { if (empty($pParamHash['user_store']['user_id'])) { $pParamHash['user_store']['user_id'] = $this->mDb->GenID('users_users_user_id_seq'); } $this->mUserId = $pParamHash['user_store']['user_id']; $result = $this->mDb->associateInsert(BIT_DB_PREFIX . 'users_users', $pParamHash['user_store']); } // make sure user is added into the default role map if (!empty($pParamHash['user_store']['default_role_id'])) { RolePermUser::addUserToRole($pParamHash['user_store']['user_id'], $pParamHash['user_store']['default_role_id']); } } // Prevent liberty from assuming ANONYMOUS_USER_ID while storing $pParamHash['user_id'] = $this->mUserId; if (LibertyContent::store($pParamHash)) { if (empty($this->mInfo['content_id']) || $pParamHash['content_id'] != $this->mInfo['content_id']) { $query = "UPDATE `" . BIT_DB_PREFIX . "users_users` SET `content_id`=? WHERE `user_id`=?"; $result = $this->mDb->query($query, array($pParamHash['content_id'], $this->mUserId)); $this->mInfo['content_id'] = $pParamHash['content_id']; } } $this->CompleteTrans(); // store any uploaded images $this->storeImages($pParamHash); $this->load(TRUE); } return count($this->mErrors) == 0; }