[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Vtiger/models/ -> Menu.php (source)

   1  <?php
   2  /*+***********************************************************************************
   3   * The contents of this file are subject to the vtiger CRM Public License Version 1.0
   4   * ("License"); You may not use this file except in compliance with the License
   5   * The Original Code is:  vtiger CRM Open Source
   6   * The Initial Developer of the Original Code is vtiger.
   7   * Portions created by vtiger are Copyright (C) vtiger.
   8   * All Rights Reserved.
   9   *************************************************************************************/
  10  
  11  /**
  12   * Vtiger Menu Model Class
  13   */
  14  class Vtiger_Menu_Model extends Vtiger_Module_Model {
  15  
  16      /**
  17       * Static Function to get all the accessible menu models with/without ordering them by sequence
  18       * @param <Boolean> $sequenced - true/false
  19       * @return <Array> - List of Vtiger_Menu_Model instances
  20       */
  21      public static function getAll($sequenced = false) {
  22          $currentUser = Users_Record_Model::getCurrentUserModel();
  23          $userPrivModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
  24          $restrictedModulesList = array('Emails', 'ProjectMilestone', 'ProjectTask', 'ModComments', 'ExtensionStore', 'ExtensionStorePro',
  25                                          'Integration', 'Dashboard', 'Home', 'vtmessages', 'vttwitter');
  26  
  27          
  28          $allModules = parent::getAll(array('0','2'));
  29          $menuModels = array();
  30          $moduleSeqs = Array();
  31          $moduleNonSeqs = Array();
  32          foreach($allModules as $module){
  33              if($module->get('tabsequence') != -1){
  34                  $moduleSeqs[$module->get('tabsequence')] = $module;
  35              }else {
  36                  $moduleNonSeqs[] = $module;
  37              }
  38          }
  39          ksort($moduleSeqs);
  40          $modules = array_merge($moduleSeqs, $moduleNonSeqs);
  41  
  42          foreach($modules as $module) {
  43              if (($userPrivModel->isAdminUser() ||
  44                      $userPrivModel->hasGlobalReadPermission() ||
  45                      $userPrivModel->hasModulePermission($module->getId()))& !in_array($module->getName(), $restrictedModulesList) && $module->get('parent') != '') {
  46                      $menuModels[$module->getName()] = $module;
  47  
  48              }
  49          }
  50  
  51          return $menuModels;
  52      }
  53  
  54  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1