$sequenced - true/false * @return - List of Vtiger_Menu_Model instances */ public static function getAll($sequenced = false) { $currentUser = Users_Record_Model::getCurrentUserModel(); $userPrivModel = Users_Privileges_Model::getCurrentUserPrivilegesModel(); $restrictedModulesList = array('Emails', 'ProjectMilestone', 'ProjectTask', 'ModComments', 'ExtensionStore', 'ExtensionStorePro', 'Integration', 'Dashboard', 'Home', 'vtmessages', 'vttwitter'); $allModules = parent::getAll(array('0','2')); $menuModels = array(); $moduleSeqs = Array(); $moduleNonSeqs = Array(); foreach($allModules as $module){ if($module->get('tabsequence') != -1){ $moduleSeqs[$module->get('tabsequence')] = $module; }else { $moduleNonSeqs[] = $module; } } ksort($moduleSeqs); $modules = array_merge($moduleSeqs, $moduleNonSeqs); foreach($modules as $module) { if (($userPrivModel->isAdminUser() || $userPrivModel->hasGlobalReadPermission() || $userPrivModel->hasModulePermission($module->getId()))& !in_array($module->getName(), $restrictedModulesList) && $module->get('parent') != '') { $menuModels[$module->getName()] = $module; } } return $menuModels; } }