public static function getMenu() { $MY =& MY_Controller::get_instance(); /* @var $mModule Module_Model */ $mModule =& $MY->mModule; $isSuperAdminProfile = Helper_App_Session::isSuperAdminProfile(); $eModules = $mModule->listModules(NULL, Module_Model::ORDER_BY_ORDER, $isSuperAdminProfile, 1); //Helper_Log::write( $eModules ); $sessionPermissionsProfile = Helper_App_Session::getPermissions(); //Helper_Log::write( $sessionPermissionsRol ); /* @var $eModule eModule */ foreach ($eModules as $num => $eModule) { if (!isset($sessionPermissionsProfile[$eModule->name_key])) { unset($eModules[$num]); continue; } $permissions = $sessionPermissionsProfile[$eModule->name_key]; if (!in_array('access', $permissions)) { unset($eModules[$num]); continue; } $eModulesSub = $mModule->listModules($eModule->id, Module_Model::ORDER_BY_ORDER, $isSuperAdminProfile, 1); //Helper_Log::write( $eModulesSub ); if (!empty($eModulesSub)) { /* @var $eModuleSub $eModule */ foreach ($eModulesSub as $num2 => $eModuleSub) { if (!isset($sessionPermissionsProfile[$eModuleSub->name_key])) { unset($eModulesSub[$num2]); continue; } $permissions2 = $sessionPermissionsProfile[$eModuleSub->name_key]; if (!in_array('access', $permissions2)) { unset($eModulesSub[$num2]); continue; } } } if (empty($eModulesSub)) { unset($eModules[$num]); continue; } $eModules[$num]->{'_submodules'} = $eModulesSub; } //Helper_Log::write( $eModules ); return $eModules; }