static function checking() { global $user, $mainframe; if ($user->isSuperAdmin()) { return true; } $backEnd = $mainframe->isBackEnd(); $string_url = CheckPerMission::get_fullurl(); $arr_url = CheckPerMission::get_arr_url(); $arr_resource = CheckPerMission::getResources($backEnd, $arr_url); $query_user = "******" . TBL_RSM_RESOURCE_XREF . " WHERE object_type = 1 AND objectID = {$user->id}"; $query_group = "SELECT * FROM " . TBL_RSM_RESOURCE_XREF . " WHERE object_type = 2 AND objectID = {$user->groupID}"; $arr_granted = CheckPerMission::getGranted($user->id, 1); $arr_Ggranted = CheckPerMission::getGranted($user->groupID, 2); $table_ext = YiiTables::getInstance(TBL_EXTENSIONS); $ext_default_1 = $table_ext->loadColumn("name", "allowall = 1 "); if (count($arr_resource)) { // step 1: check allow user // neu co cho phep thi return true // neu khong thay noi gi thi sang s2 foreach ($arr_resource as $resource) { if (in_array($resource->id, $arr_granted['allow'])) { return true; } } // step 2: check deny user // neu co bi cam thi redirect // neu khong thay noi gi thi sang s3 foreach ($arr_resource as $resource) { if (in_array($resource->id, $arr_granted['deny'])) { YiiMessage::raseNotice($resource->redirect_msg); Yii::app()->getRequest()->redirect($resource->redirect_url); return true; } } // step 3: check allow group // neu co cho phep thi return true // neu khong thay noi gi thi sang s4 foreach ($arr_resource as $resource) { if (in_array($resource->app, $arr_Ggranted)) { return true; } } } // kiem tra mac dinh $cur_app = Request::getVar('app'); if (in_array($cur_app, $ext_default_1)) { // neu app hien tai nam trong so app duoc phep thi return true return true; } else { // khong duoc truy cap if ($mainframe->isBackEnd()) { YiiMessage::raseNotice("Your account not have permissin to visit page"); if ($cur_app == "cpanel") { // ra trang chu froent-end Yii::app()->getRequest()->redirect("/"); } else { Yii::app()->getRequest()->redirect("?app=cpanel"); } } else { return true; } } }