_info = $info; } function get($key) { return val_or($this->_info, $key, ''); } function getId() { return $this->get('user_id'); } function hasRole($role) { return in_array($role, $this->_roles); } function isMember() { return FALSE; } } class k4BannedSpider extends k4Visitor { } class k4Guest extends k4Visitor { var $_roles = array('guest'); function k4Guest() { $info = array('name' => 'Guest', 'email' => '', 'user_id' => 0, 'usergroups' => '', 'perms' => 1, 'styleset' => '', 'topicsperpage' => 0, 'postsperpage' => 0, 'viewavatars' => 0,'viewflash'=>1,'viewemoticons'=>1,'viewsigs'=>1,'viewavatars'=> 1,'viewimages'=>1,'viewcensors'=>1,'invisible'=>0,'seen'=>time(),'last_seen'=>time(),'spider'=>FALSE); parent::k4Visitor($info); } } class k4Spider extends k4Visitor { var $_roles = array('spider'); function k4Spider($name) { $info = array('name' => $name, 'email' => '', 'user_id' => 0, 'usergroups' => '', 'perms' => 1, 'styleset' => '', 'topicsperpage' => 0, 'postsperpage' => 0, 'viewavatars' => 0,'viewflash'=>1,'viewemoticons'=>1,'viewsigs'=>1,'viewavatars'=> 1,'viewimages'=>1,'viewcensors'=>1,'invisible'=>0,'seen'=>time(),'last_seen'=>time(),'spider'=>FALSE); parent::k4Visitor($info); } } class k4Member extends k4Visitor { function isMember() { return TRUE; } } ?>