more work on user classes

This commit is contained in:
Shish 2012-02-14 06:41:45 +00:00
parent 809e1c22d6
commit 629e998f45

View File

@ -15,7 +15,7 @@ class User {
var $name; var $name;
var $email; var $email;
var $join_date; var $join_date;
var $admin; var $class;
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Initialisation * * Initialisation *
@ -35,8 +35,12 @@ class User {
$this->name = $row['name']; $this->name = $row['name'];
$this->email = $row['email']; $this->email = $row['email'];
$this->join_date = $row['joindate']; $this->join_date = $row['joindate'];
$this->admin = ($row['admin'] == 'Y');
$this->passhash = $row['pass']; $this->passhash = $row['pass'];
global $config;
if($row['admin'] == 'Y') $this->class = "admin";
else if($this->id != $config->get_int('anon_id')) $this->class = "user";
else $this->class = "anonymous";
} }
public static function by_session(/*string*/ $name, /*string*/ $session) { public static function by_session(/*string*/ $name, /*string*/ $session) {
@ -165,14 +169,7 @@ class User {
), ),
); );
return $user_classes[$this->get_class()][$ability]; return $user_classes[$this->class][$ability];
}
// FIXME: this should be a column in the users table
public function get_class() {
if($this->is_admin()) return "admin";
else if($this->is_logged_in()) return "user";
else return"anonymous";
} }
@ -202,7 +199,7 @@ class User {
* @retval bool * @retval bool
*/ */
public function is_admin() { public function is_admin() {
return $this->admin; return ($this->class === "admin");
} }
public function set_admin(/*bool*/ $admin) { public function set_admin(/*bool*/ $admin) {