/** * 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); }
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; }
/** * Function returns menu items for the current menu * @return <Settings_Vtiger_MenuItem_Model> */ public function getMenuItems() { return Settings_Vtiger_MenuItem_Model::getAll($this); }