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); }