privileges = array(); } protected function loadUserPrivilegesWithId($id) { if (!isset($this->privileges[$id])) { checkFileAccessForInclusion('user_privileges/user_privileges_'.$id.'.php'); require('user_privileges/user_privileges_'.$id.'.php'); $privilege = new stdClass; foreach (self::$PRIVILEGE_ATTRS as $attr) { if (isset($attr)) $privilege->$attr = $$attr; } $this->privileges[$id] = $privilege; } return $this->privileges[$id]; } protected static $singleton = null; public static function loadUserPrivileges($id) { if (self::$singleton == null) { self::$singleton = new self(); } return self::$singleton->loadUserPrivilegesWithId($id); } public static function clearUserPrivileges($id) { if (self::$singleton == null) { self::$singleton = new self(); } if (self::$singleton->privileges[$id]) { unset(self::$singleton->privileges[$id]); } } }