コード例 #1
0
ファイル: UserType.php プロジェクト: nidzix/Newscoop
 /**
  * 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;
 }
コード例 #2
0
ファイル: do_edit.php プロジェクト: nistormihai/Newscoop
    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);
}
コード例 #3
0
ファイル: do_add.php プロジェクト: nistormihai/Newscoop
}

$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());

?>