コード例 #1
0
ファイル: RolePermUser.php プロジェクト: bitweaver/users
 /**
  * assumeUser Assume the identity of anothre user - Only admins may do this
  * 
  * @param numeric $pUserId User ID of the user you want to hijack
  * @access public
  * @return TRUE on success, FALSE on failure - mErrors will contain reason for failure
  */
 function assumeUser($pUserId)
 {
     global $gBitUser;
     $ret = FALSE;
     // make double sure the current logged in user has permission, check for p_users_admin, not admin, as that is all you need for assuming another user.
     // this enables creating of a non technical site adminstrators role, eg customer support representatives.
     if ($gBitUser->hasPermission('p_users_admin')) {
         $assumeUser = new RolePermUser($pUserId);
         $assumeUser->loadPermissions();
         if ($assumeUser->isAdmin()) {
             $this->mErrors['assume_user'] = tra("User administrators cannot be assumed.");
         } else {
             $this->mDb->query("UPDATE `" . BIT_DB_PREFIX . "users_cnxn` SET `user_id`=?, `assume_user_id`=? WHERE `cookie`=?", array($pUserId, $gBitUser->mUserId, $_COOKIE[$this->getSiteCookieName()]));
             $ret = TRUE;
         }
     }
     return $ret;
 }
コード例 #2
0
         $anonUser->removeUserFromRole(ANONYMOUS_USER_ID, $regRoleId);
         $anonUser->addUserToRole(ANONYMOUS_USER_ID, ANONYMOUS_TEAM_ID);
     }
 } 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
コード例 #3
0
ファイル: assign_role_user.php プロジェクト: bitweaver/users
<?php

// $Header$
// Copyright (c) 2002-2003, Luis Argerich, Garland Foster, Eduardo Polidor, et. al.
// All Rights Reserved. See below for details and a complete list of authors.
// Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See http://www.gnu.org/copyleft/lesser.html for details.
// This script is used to assign roles to a particular user
// 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();
コード例 #4
0
ファイル: RoleUser.php プロジェクト: bitweaver/users
 /**
  * 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;
 }
コード例 #5
0
ファイル: index.php プロジェクト: bitweaver/users
// override default max_records
$listHash = $_REQUEST;
$listHash['max_records'] = !empty($_REQUEST['max_records']) ? $_REQUEST['max_records'] : $gBitSystem->getConfig('max_records');
$users = $gBitUser->getList($listHash);
$gBitSmarty->assignByRef('users', $users);
$gBitSmarty->assignByRef('usercount', $listHash["cant"]);
if (isset($listHash["numrows"])) {
    $listHash['listInfo']["numrows"] = $listHash["numrows"];
} else {
    $listHash['listInfo']["numrows"] = 10;
}
$listHash['listInfo']["URL"] = USERS_PKG_URL . "admin/index.php";
$gBitSmarty->assignByRef('listInfo', $listHash['listInfo']);
if (defined('ROLE_MODEL')) {
    // invoke edit service for the add user feature
    $userObj = new RolePermUser();
    $userObj->invokeServices('content_edit_function');
    // Get roles (list of roles)
    $rolelist = $gBitUser->getRoles('', '', 'role_name_asc');
    $gBitSmarty->assign('rolelist', $rolelist);
} else {
    // invoke edit service for the add user feature
    $userObj = new BitPermUser();
    $userObj->invokeServices('content_edit_function');
    // Get groups (list of groups)
    $grouplist = $gBitUser->getGroups('', '', 'group_name_asc');
    $gBitSmarty->assign('grouplist', $grouplist);
}
$gBitSmarty->assign('feedback', $feedback);
$gBitSmarty->assign((!empty($_REQUEST['tab']) ? $_REQUEST['tab'] : 'userlist') . 'TabSelect', 'tdefault');
// Display the template