예제 #1
0
 public static function loadFromID($id)
 {
     $record = ASDCLoader::instance()->query("SELECT * FROM `tbl_members_roles` WHERE `id` = {$id} LIMIT 1")->current();
     $forbidden_pages = $event_permissions = array();
     $records = ASDCLoader::instance()->query("SELECT `page_id` FROM `tbl_members_roles_forbidden_pages` WHERE `role_id` = '{$id}' ");
     if ($records->length() > 0) {
         $forbidden_pages = DatabaseUtilities::ResultColumn($records, 'page_id');
     }
     $tmp = ASDCLoader::instance()->query("SELECT * FROM `tbl_members_roles_event_permissions` WHERE `role_id` = '{$id}'");
     if ($tmp->length() > 0) {
         foreach ($tmp as $e) {
             $event_permissions[$e->event][$e->action] = $e->level;
         }
     }
     return new self($id, $record->name, $event_permissions, $forbidden_pages);
 }