0,0 → 1,121 |
<?php |
|
/** |
* User class. |
* |
* @author Tamlyn Rhodes <tam at zenology dot co dot uk> |
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License |
* @copyright (c)2003, 2004 Tamlyn Rhodes |
* @version $Id: user.class.php,v 1.5 2006/03/14 19:38:54 tamlyn Exp $ |
*/ |
|
/** |
* Class used to represent a user. |
* @package singapore |
* @author Tamlyn Rhodes <tam at zenology dot co dot uk> |
* @copyright (c)2003, 2004 Tamlyn Rhodes |
*/ |
class sgUser |
{ |
/** |
* Username of user. Special cases are 'guest' and 'admin'. |
* @var string |
*/ |
var $username = ""; |
|
/** |
* MD5 hash of password |
* @var string |
*/ |
var $userpass = "5f4dcc3b5aa765d61d8327deb882cf99"; |
|
/** |
* Bit-field of permissions |
* @var int |
*/ |
var $permissions = 0; |
|
/** |
* Space-separated list of groups of which the user is a member |
* @var string |
*/ |
var $groups = ""; |
|
/** |
* Email address of user |
* @var string |
*/ |
var $email = ""; |
|
/** |
* The name or title of the user |
* @var string |
*/ |
var $fullname = ""; |
|
/** |
*Description of user account |
* @var string |
*/ |
var $description = ""; |
|
/** |
* Statistics (what's this? I don't know!) |
* @var string |
*/ |
var $stats = ""; |
|
/** |
* Constructor ensures username and userpass have values |
*/ |
function sgUser($username, $userpass) |
{ |
$this->username = $username; |
$this->userpass = $userpass; |
} |
|
/** |
* Checks if currently logged in user is an administrator. |
* |
* @return bool true on success; false otherwise |
*/ |
function isAdmin() |
{ |
return $this->permissions & SG_ADMIN; |
} |
|
/** |
* Checks if currently logged in user is a guest. |
* |
* @return bool true on success; false otherwise |
*/ |
function isGuest() |
{ |
return $this->username == "guest"; |
} |
|
/** |
* Checks if this user is the owner of the specified item. |
* |
* @param sgItem the item to check |
* @return bool true if this user is the owner; false otherwise |
*/ |
function isOwner($item) |
{ |
return $item->owner == $this->username; |
} |
|
/** |
* Checks if this user is a member of the group(s) supplied |
* |
* @return bool true on success; false otherwise |
*/ |
function isInGroup($groups) |
{ |
return (bool) array_intersect(explode(" ",$groups),explode(" ",$this->groups)); |
} |
|
|
} |
|
?> |