khanat-opennel-code/code/web/public_php/api/common/user.php

70 lines
1.6 KiB
PHP
Raw Normal View History

2014-09-10 00:20:23 +00:00
<?php
/* Copyright (C) 2009 Winch Gate Property Limited
*
* This file is part of ryzom_api.
* ryzom_api is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* ryzom_api is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with ryzom_api. If not, see <http://www.gnu.org/licenses/>.
*/
class ryUser {
private $infos;
function __construct($infos) {
$this->infos = $infos;
}
function __get($name)
{
if (array_key_exists($name, $this->infos)) {
return $this->infos[$name];
} else {
/** TODO **/
return NULL;
}
}
function inGroup($groups) {
$groups = explode(':', $groups);
foreach ($groups as $group) {
if ($group != '') {
if (in_array($group, $this->groups))
return true;
if ('P_'.$this->id == $group)
return true;
if ('G_'.$this->guild_id == $group)
return true;
if ($group == '*')
return true;
}
}
return false;
}
}
function ryzom_auth_user($ask_login=true, $welcome_message='') {
global $user, $_USER;
$result = ryzom_app_authenticate($user, $ask_login, $welcome_message, true);
$_USER = new RyUser($user);
return $result;
}
function _user() {
global $_USER;
return $_USER;
}
?>