Esempio n. 1
0
 /**
  * Function to get all the Settings menu items for the given menu
  * @return <Array> - List of Settings_Vtiger_MenuItem_Model instances
  */
 public function getMenuItems($menu = false)
 {
     $menuModel = false;
     if ($menu) {
         $menuModel = Settings_Vtiger_Menu_Model::getInstance($menu);
     }
     return Settings_Vtiger_MenuItem_Model::getAll($menuModel);
 }
Esempio n. 2
0
 public static function getBreadcrumbs($pageTitle = false)
 {
     $breadcrumbs = false;
     $request = new Vtiger_Request($_REQUEST, $_REQUEST);
     $userPrivModel = Users_Privileges_Model::getCurrentUserPrivilegesModel();
     $roleMenu = 'user_privileges/menu_' . filter_var($userPrivModel->get('roleid'), FILTER_SANITIZE_NUMBER_INT) . '.php';
     if (file_exists($roleMenu)) {
         require $roleMenu;
     } else {
         require 'user_privileges/menu_0.php';
     }
     if (count($menus) == 0) {
         require 'user_privileges/menu_0.php';
     }
     $moduleName = $request->getModule();
     $view = $request->get('view');
     $parent = $request->get('parent');
     if ($parent !== 'Settings') {
         if (empty($parent)) {
             foreach ($parentList as &$parentItem) {
                 if ($moduleName == $parentItem['name']) {
                     $parent = $parentItem['parent'];
                     break;
                 }
             }
         }
         $parentMenu = self::getParentMenu($parentList, $parent, $moduleName);
         if (count($parentMenu) > 0) {
             $breadcrumbs = array_reverse($parentMenu);
         }
         $breadcrumbs[] = ['name' => vtranslate($moduleName, $moduleName), 'url' => 'index.php?module=' . $moduleName . '&view=List'];
         if ($pageTitle) {
             $breadcrumbs[] = ['name' => vtranslate($pageTitle, $moduleName)];
         } elseif ($view == 'Edit' && $request->get('record') == '') {
             $breadcrumbs[] = ['name' => vtranslate('LBL_VIEW_CREATE', $moduleName)];
         } elseif ($view != '' && $view != 'index' && $view != 'Index') {
             $breadcrumbs[] = ['name' => vtranslate('LBL_VIEW_' . strtoupper($view), $moduleName)];
         } elseif ($view == '') {
             $breadcrumbs[] = ['name' => vtranslate('LBL_HOME', $moduleName)];
         }
         if ($request->get('record') != '') {
             $recordLabel = Vtiger_Functions::getCRMRecordLabel($request->get('record'));
             if ($recordLabel != '') {
                 $breadcrumbs[] = ['name' => $recordLabel];
             }
         }
     } elseif ($parent === 'Settings') {
         $qualifiedModuleName = $request->getModule(false);
         $breadcrumbs[] = ['name' => vtranslate('LBL_VIEW_SETTINGS', $qualifiedModuleName), 'url' => 'index.php?module=Vtiger&parent=Settings&view=Index'];
         if ($moduleName !== 'Vtiger' || $view !== 'Index') {
             $fieldId = $request->get('fieldid');
             $menu = Settings_Vtiger_MenuItem_Model::getAll();
             foreach ($menu as &$menuModel) {
                 if (empty($fieldId)) {
                     if ($menuModel->getModule() == $moduleName) {
                         $parent = $menuModel->getMenu();
                         $breadcrumbs[] = ['name' => vtranslate($parent->get('label'), $qualifiedModuleName)];
                         $breadcrumbs[] = ['name' => vtranslate($menuModel->get('name'), $qualifiedModuleName), 'url' => $menuModel->getUrl()];
                         break;
                     }
                 } else {
                     if ($fieldId == $menuModel->getId()) {
                         $parent = $menuModel->getMenu();
                         $breadcrumbs[] = ['name' => vtranslate($parent->get('label'), $qualifiedModuleName)];
                         $breadcrumbs[] = ['name' => vtranslate($menuModel->get('name'), $qualifiedModuleName), 'url' => $menuModel->getUrl()];
                         break;
                     }
                 }
             }
             if ($pageTitle) {
                 $breadcrumbs[] = ['name' => vtranslate($pageTitle, $moduleName)];
             } elseif ($view == 'Edit' && $request->get('record') == '' && $request->get('parent_roleid') == '') {
                 $breadcrumbs[] = ['name' => vtranslate('LBL_VIEW_CREATE', $qualifiedModuleName)];
             } elseif ($view != '' && $view != 'List') {
                 $breadcrumbs[] = ['name' => vtranslate('LBL_VIEW_' . strtoupper($view), $qualifiedModuleName)];
             }
             if ($request->get('record') != '') {
                 $recordLabel = Vtiger_Functions::getUserRecordLabel($request->get('record'));
                 if ($recordLabel != '') {
                     $breadcrumbs[] = ['name' => $recordLabel];
                 }
             }
         }
     }
     return $breadcrumbs;
 }
Esempio n. 3
0
 /**
  * Function returns menu items for the current menu
  * @return <Settings_Vtiger_MenuItem_Model>
  */
 public function getMenuItems()
 {
     return Settings_Vtiger_MenuItem_Model::getAll($this);
 }