示例#1
0
 function preProcess(Vtiger_Request $request, $display = true)
 {
     parent::preProcess($request, false);
     $viewer = $this->getViewer($request);
     $selectedModule = $request->getModule();
     $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
     $companyLogo = $companyDetails->getLogo();
     $currentDate = Vtiger_Date_UIType::getDisplayDateValue(date('Y-n-j'));
     $viewer->assign('CURRENTDATE', $currentDate);
     $viewer->assign('MODULE', $selectedModule);
     $viewer->assign('MODULE_NAME', $selectedModule);
     $viewer->assign('QUALIFIED_MODULE', $selectedModule);
     $viewer->assign('PARENT_MODULE', $request->get('parent'));
     $viewer->assign('MENUS', Vtiger_Menu_Model::getAll(true));
     $viewer->assign('VIEW', $request->get('view'));
     $viewer->assign('COMPANY_LOGO', $companyLogo);
     $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
     $homeModuleModel = Vtiger_Module_Model::getInstance('Home');
     $viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
     $viewer->assign('HEADER_LINKS', $this->getHeaderLinks());
     $viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
     $viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
     $viewer->assign('CHAT_ACTIVE', vtlib_isModuleActive('AJAXChat'));
     if ($display) {
         $this->preProcessDisplay($request);
     }
 }
示例#2
0
 function preProcess(Vtiger_Request $request, $display = true)
 {
     parent::preProcess($request, false);
     $viewer = $this->getViewer($request);
     $menuModelsList = Vtiger_Menu_Model::getAll(true);
     $selectedModule = $request->getModule();
     $menuStructure = Vtiger_MenuStructure_Model::getInstanceFromMenuList($menuModelsList, $selectedModule);
     $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
     $companyLogo = $companyDetails->getLogo();
     $currentDate = Vtiger_Date_UIType::getDisplayDateValue(date('Y-n-j'));
     $viewer->assign('CURRENTDATE', $currentDate);
     $viewer->assign('MODULE', $selectedModule);
     $viewer->assign('MODULE_NAME', $selectedModule);
     $viewer->assign('QUALIFIED_MODULE', $selectedModule);
     $viewer->assign('PARENT_MODULE', $request->get('parent'));
     $viewer->assign('VIEW', $request->get('view'));
     // Order by pre-defined automation process for QuickCreate.
     uksort($menuModelsList, array('Vtiger_MenuStructure_Model', 'sortMenuItemsByProcess'));
     $viewer->assign('MENUS', $menuModelsList);
     $viewer->assign('MENU_STRUCTURE', $menuStructure);
     $viewer->assign('MENU_SELECTED_MODULENAME', $selectedModule);
     $viewer->assign('MENU_TOPITEMS_LIMIT', $menuStructure->getLimit());
     $viewer->assign('COMPANY_LOGO', $companyLogo);
     $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
     $homeModuleModel = Vtiger_Module_Model::getInstance('Home');
     $viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
     $viewer->assign('HEADER_LINKS', $this->getHeaderLinks());
     $viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
     $viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
     if ($display) {
         $this->preProcessDisplay($request);
     }
 }
示例#3
0
	public function getMenuName($row, $settings = false)
	{
		switch ($row['type']) {
			case 0: $name = empty($row['label']) ? $row['name'] : $row['label'];
				break;
			case 3: $name = 'LBL_SEPARATOR';
				break;
			case 5:
				if ($row['label'] != '') {
					$name = $row['label'];
				} elseif ($settings) {
					$name = vtranslate('LBL_QUICK_CREATE_MODULE', 'Menu') . ': ' . Vtiger_Menu_Model::vtranslateMenu('SINGLE_' . $row['name'], $row['name']);
				}
				break;
			case 6: $name = 'LBL_HOME';
				break;
			case 7:
				$adb = PearDatabase::getInstance();
				$result = $adb->pquery('SELECT viewname,entitytype FROM vtiger_customview WHERE cvid=?', [$row['dataurl']]);
				$data = $adb->raw_query_result_rowdata($result, 0);
				if ($settings) {
					$name = Vtiger_Menu_Model::vtranslateMenu($data['entitytype'], $data['entitytype']) . ': ' . vtranslate($data['viewname'], $data['entitytype']);
				} else {
					$name = Vtiger_Menu_Model::vtranslateMenu($data['viewname'], $data['entitytype']);
				}
				break;
			default: $name = $row['label'];
				break;
		}
		return $name;
	}
	public function preProcess(Vtiger_Request $request, $display=true) {
		if($this->checkPermission($request)) {
			$viewer = $this->getViewer($request);
			$currentUser = Users_Record_Model::getCurrentUserModel();
			$selectedModule = $request->getModule();
			$companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
			$companyLogo = $companyDetails->getLogo();
			$currentDate = Vtiger_Date_UIType::getDisplayDateValue(date('Y-n-j'));
			$viewer->assign('CURRENTDATE', $currentDate);
			$viewer->assign('MODULE', $selectedModule);
			$viewer->assign('MODULE_NAME', $selectedModule);
			$viewer->assign('QUALIFIED_MODULE', $selectedModule);
			$viewer->assign('PARENT_MODULE', $request->get('parent'));
			$viewer->assign('MENUS', Vtiger_Menu_Model::getAll(true));
			$viewer->assign('VIEW', $request->get('view'));
			$viewer->assign('COMPANY_LOGO',$companyLogo);
			$viewer->assign('USER_MODEL', $currentUser);
			
			$homeModuleModel = Vtiger_Module_Model::getInstance('Home');
			$viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
			$viewer->assign('HEADER_LINKS',$this->getHeaderLinks());
			$viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
			$viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
			$viewer->assign('CHAT_ACTIVE', vtlib_isModuleActive('AJAXChat'));

			//Additional parameters
			$recordId = $request->get('record');
			$moduleName = $request->getModule();
			$detailViewModel = Vtiger_DetailView_Model::getInstance($moduleName, $recordId);
			$recordModel = $detailViewModel->getRecord();
			$detailViewLinkParams = array('MODULE'=>$moduleName,'RECORD'=>$recordId);
			$detailViewLinks = $detailViewModel->getDetailViewLinks($detailViewLinkParams);
			$viewer->assign('RECORD', $recordModel);
			$viewer->assign('MODULE_MODEL', $detailViewModel->getModule());
			$viewer->assign('DETAILVIEW_LINKS', $detailViewLinks);
			$viewer->assign('IS_EDITABLE', $detailViewModel->getRecord()->isEditable($moduleName));
			$viewer->assign('IS_DELETABLE', $detailViewModel->getRecord()->isDeletable($moduleName));

			$linkParams = array('MODULE'=>$moduleName, 'ACTION'=>$request->get('view'));
			$linkModels = $detailViewModel->getSideBarLinks($linkParams);
			$viewer->assign('QUICK_LINKS', $linkModels);
			$viewer->assign('PAGETITLE', $this->getPageTitle($request));
			$viewer->assign('FOOTER_SCRIPTS',$this->getFooterScripts($request));
			$viewer->assign('STYLES',$this->getHeaderCss($request));
			$viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request));
			$viewer->assign('CURRENT_VIEW', $request->get('view'));
			$viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath());
			$viewer->assign('HTMLLANG', Vtiger_Language_Handler::getShortLanguageName());
			$viewer->assign('LANGUAGE', $currentUser->get('language'));
			$viewer->assign('HEADER_SCRIPTS',$this->getHeaderScripts($request));
			if($display) {
				$this->preProcessDisplay($request);
			}
		}
	}
 public function preProcess(Vtiger_Request $request, $display = true)
 {
     if ($this->checkPermission($request)) {
         $currentUser = Users_Record_Model::getCurrentUserModel();
         $recordId = $request->get('record');
         $moduleName = $request->getModule();
         $detailViewModel = Vtiger_DetailView_Model::getInstance($moduleName, $recordId);
         $recordModel = $detailViewModel->getRecord();
         $detailViewLinkParams = array('MODULE' => $moduleName, 'RECORD' => $recordId);
         $detailViewLinks = $detailViewModel->getDetailViewLinks($detailViewLinkParams);
         $viewer = $this->getViewer($request);
         $viewer->assign('RECORD', $recordModel);
         $viewer->assign('MODULE_MODEL', $detailViewModel->getModule());
         $viewer->assign('DETAILVIEW_LINKS', $detailViewLinks);
         $viewer->assign('IS_EDITABLE', $detailViewModel->getRecord()->isEditable($moduleName));
         $viewer->assign('IS_DELETABLE', $detailViewModel->getRecord()->isDeletable($moduleName));
         $linkParams = array('MODULE' => $moduleName, 'ACTION' => $request->get('view'));
         $linkModels = $detailViewModel->getSideBarLinks($linkParams);
         $viewer->assign('QUICK_LINKS', $linkModels);
         $viewer->assign('PAGETITLE', $this->getPageTitle($request));
         $viewer->assign('SCRIPTS', $this->getHeaderScripts($request));
         $viewer->assign('STYLES', $this->getHeaderCss($request));
         $viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request));
         $viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
         $menuModelsList = Vtiger_Menu_Model::getAll(true);
         $selectedModule = $request->getModule();
         $menuStructure = Vtiger_MenuStructure_Model::getInstanceFromMenuList($menuModelsList, $selectedModule);
         // Order by pre-defined automation process for QuickCreate.
         uksort($menuModelsList, array('Vtiger_MenuStructure_Model', 'sortMenuItemsByProcess'));
         $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
         $companyLogo = $companyDetails->getLogo();
         $viewer->assign('CURRENTDATE', date('Y-n-j'));
         $viewer->assign('MODULE', $selectedModule);
         $viewer->assign('PARENT_MODULE', $request->get('parent'));
         $viewer->assign('VIEW', $request->get('view'));
         $viewer->assign('MENUS', $menuModelsList);
         $viewer->assign('MENU_STRUCTURE', $menuStructure);
         $viewer->assign('MENU_SELECTED_MODULENAME', $selectedModule);
         $viewer->assign('MENU_TOPITEMS_LIMIT', $menuStructure->getLimit());
         $viewer->assign('COMPANY_LOGO', $companyLogo);
         $viewer->assign('USER_MODEL', Users_Record_Model::getCurrentUserModel());
         $homeModuleModel = Vtiger_Module_Model::getInstance('Home');
         $viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
         $viewer->assign('HEADER_LINKS', $this->getHeaderLinks());
         $viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
         $viewer->assign('CURRENT_VIEW', $request->get('view'));
         $viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath());
         $viewer->assign('LANGUAGE', $currentUser->get('language'));
         if ($display) {
             $this->preProcessDisplay($request);
         }
     }
 }
示例#6
0
 public function getAll($roleId)
 {
     $db = PearDatabase::getInstance();
     $settingsModel = Settings_Menu_Module_Model::getInstance();
     $result = $db->pquery('SELECT yetiforce_menu.*, vtiger_tab.name FROM yetiforce_menu LEFT JOIN vtiger_tab ON vtiger_tab.tabid = yetiforce_menu.module WHERE role = ? ORDER BY yetiforce_menu.sequence, yetiforce_menu.parentid;', [$roleId]);
     $menu = [];
     for ($i = 0; $i < $db->num_rows($result); ++$i) {
         $row = $db->raw_query_result_rowdata($result, $i);
         $menu[] = ['id' => $row['id'], 'parent' => $row['parentid'] == 0 ? '#' : $row['parentid'], 'text' => Vtiger_Menu_Model::vtranslateMenu($settingsModel->getMenuName($row, true), $row['name']), 'icon' => 'menu-icon-' . $settingsModel->getMenuTypes($row['type'])];
     }
     return $menu;
 }
示例#7
0
 public function process(Vtiger_Request $request)
 {
     $allModelsList = Vtiger_Menu_Model::getAll(true);
     $menuModelStructure = Vtiger_MenuStructure_Model::getInstanceFromMenuList($allModelsList);
     $moduleName = $request->getModule();
     $qualifiedModuleName = $request->getModule(false);
     $viewer = $this->getViewer($request);
     $viewer->assign('ALL_MODULES', $menuModelStructure->getMore());
     $viewer->assign('SELECTED_MODULES', $menuModelStructure->getTop());
     $viewer->assign('MODULE_NAME', $moduleName);
     $viewer->view('Index.tpl', $qualifiedModuleName);
 }
示例#8
0
 public function preProcess(Vtiger_Request $request, $display = true)
 {
     if ($this->checkPermission($request)) {
         $currentUser = Users_Record_Model::getCurrentUserModel();
         $viewer = $this->getViewer($request);
         $menuModelsList = Vtiger_Menu_Model::getAll(true);
         $selectedModule = $request->getModule();
         $menuStructure = Vtiger_MenuStructure_Model::getInstanceFromMenuList($menuModelsList, $selectedModule);
         // Order by pre-defined automation process for QuickCreate.
         uksort($menuModelsList, array('Vtiger_MenuStructure_Model', 'sortMenuItemsByProcess'));
         $companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
         $companyLogo = $companyDetails->getLogo();
         $viewer->assign('CURRENTDATE', date('Y-n-j'));
         $viewer->assign('MODULE', $selectedModule);
         $viewer->assign('PARENT_MODULE', $request->get('parent'));
         $viewer->assign('VIEW', $request->get('view'));
         $viewer->assign('MENUS', $menuModelsList);
         $viewer->assign('MENU_STRUCTURE', $menuStructure);
         $viewer->assign('MENU_SELECTED_MODULENAME', $selectedModule);
         $viewer->assign('MENU_TOPITEMS_LIMIT', $menuStructure->getLimit());
         $viewer->assign('COMPANY_LOGO', $companyLogo);
         $viewer->assign('USER_MODEL', $currentUser);
         $viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
         $homeModuleModel = Vtiger_Module_Model::getInstance('Home');
         $viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
         $viewer->assign('HEADER_LINKS', $this->getHeaderLinks());
         $viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
         $viewer->assign('CURRENT_VIEW', $request->get('view'));
         $viewer->assign('PAGETITLE', $this->getPageTitle($request));
         $viewer->assign('SCRIPTS', $this->getHeaderScripts($request));
         $viewer->assign('STYLES', $this->getHeaderCss($request));
         $viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request));
         $viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath());
         $viewer->assign('IS_PREFERENCE', true);
         $viewer->assign('LANGUAGE', $currentUser->get('language'));
         $allUsers = Users_Record_Model::getAll(true);
         $sharedUsers = Calendar_Module_Model::getCaledarSharedUsers($currentUser->id);
         $sharedType = Calendar_Module_Model::getSharedType($currentUser->id);
         $viewer->assign('ALL_USERS', $allUsers);
         $viewer->assign('SHAREDUSERS', $sharedUsers);
         $viewer->assign('SHARED_TYPE', $sharedType);
         // OpenSaaS
         $OSSMenu = OSSMenuManager_Record_Model::getMenu();
         $viewer->assign('MENU_STRUCTURE', $OSSMenu);
         //  OpenSaaS
         if ($display) {
             $this->preProcessDisplay($request);
         }
     }
 }
	public function preProcess(Vtiger_Request $request, $display = true)
	{
		if ($this->checkPermission($request)) {
			$currentUser = Users_Record_Model::getCurrentUserModel();
			$viewer = $this->getViewer($request);

			$selectedModule = $request->getModule();
			$companyDetails = Vtiger_CompanyDetails_Model::getInstanceById();
			$companyLogo = $companyDetails->getLogo();
			$currentDate = Vtiger_Date_UIType::getDisplayDateValue(date('Y-n-j'));
			$viewer->assign('CURRENTDATE', $currentDate);
			$viewer->assign('MODULE', $selectedModule);
			$viewer->assign('MODULE_NAME', $selectedModule);
			$viewer->assign('QUALIFIED_MODULE', $selectedModule);
			$viewer->assign('PARENT_MODULE', $request->get('parent'));
			$viewer->assign('MENUS', Vtiger_Menu_Model::getAll(true));
			$viewer->assign('VIEW', $request->get('view'));
			$viewer->assign('COMPANY_LOGO', $companyLogo);
			$viewer->assign('USER_MODEL', $currentUser);

			$homeModuleModel = Vtiger_Module_Model::getInstance('Home');
			$viewer->assign('HOME_MODULE_MODEL', $homeModuleModel);
			$viewer->assign('HEADER_LINKS', $this->getHeaderLinks());
			$viewer->assign('ANNOUNCEMENT', $this->getAnnouncement());
			$viewer->assign('SEARCHABLE_MODULES', Vtiger_Module_Model::getSearchableModules());
			$viewer->assign('CHAT_ACTIVE', vtlib_isModuleActive('AJAXChat'));

			//Additional parameters
			$viewer->assign('CURRENT_VIEW', $request->get('view'));
			$viewer->assign('PAGETITLE', $this->getPageTitle($request));
			$viewer->assign('FOOTER_SCRIPTS', $this->getFooterScripts($request));
			$viewer->assign('STYLES', $this->getHeaderCss($request));
			$viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request));
			$viewer->assign('SKIN_PATH', Vtiger_Theme::getCurrentUserThemePath());
			$viewer->assign('IS_PREFERENCE', true);
			$viewer->assign('HTMLLANG', Vtiger_Language_Handler::getShortLanguageName());
			$viewer->assign('LANGUAGE', $currentUser->get('language'));

			$allUsers = Users_Record_Model::getAll(true);
			$sharedUsers = Calendar_Module_Model::getCaledarSharedUsers($currentUser->id);
			$sharedType = Calendar_Module_Model::getSharedType($currentUser->id);
			$viewer->assign('ALL_USERS', $allUsers);
			$viewer->assign('SHAREDUSERS', $sharedUsers);
			$viewer->assign('SHARED_TYPE', $sharedType);
			$viewer->assign('HEADER_SCRIPTS', $this->getHeaderScripts($request));
			if ($display) {
				$this->preProcessDisplay($request);
			}
		}
	}
示例#10
0
 public static function getMenuIcon($menu, $title = '')
 {
     if ($title == '') {
         $title = Vtiger_Menu_Model::vtranslateMenu($menu['label']);
     }
     if (is_string($menu)) {
         $iconName = vimage_path($menu);
         if (file_exists($iconName)) {
             return '<img src="' . $iconName . '" alt="' . $title . '" title="' . $title . '" class="menuIcon" />';
         }
     }
     if (!empty($menu['icon'])) {
         if (strpos($menu['icon'], 'adminIcon-') !== false || strpos($menu['icon'], 'userIcon-') !== false) {
             return '<span class="menuIcon ' . $menu['icon'] . '" aria-hidden="true"></span>';
         } else {
             if (strpos($menu['icon'], 'glyphicon-') !== false) {
                 return '<span class="glyphicon ' . $menu['icon'] . '" aria-hidden="true"></span>';
             }
         }
         $icon = vimage_path($menu['icon']);
         if (file_exists($icon)) {
             return '<img src="' . $icon . '" alt="' . $title . '" title="' . $title . '" class="menuIcon" />';
         }
     }
     if ($menu['type'] == 'Module') {
         return '<span class="menuIcon userIcon-' . $menu['mod'] . '" aria-hidden="true"></span>';
     }
     return '';
 }
示例#11
0
 protected function getMenu()
 {
     return Vtiger_Menu_Model::getAll(true);
 }
示例#12
0
 public function prepareMenuToDisplay($menuModels, $moduleName, $selectedMenuId, $fieldId)
 {
     if (!empty($selectedMenuId)) {
         $selectedMenu = Settings_Vtiger_Menu_Model::getInstanceById($selectedMenuId);
     } elseif (!empty($moduleName) && $moduleName != 'Vtiger') {
         $fieldItem = Settings_Vtiger_Index_View::getSelectedFieldFromModule($menuModels, $moduleName);
         if ($fieldItem) {
             $selectedMenu = Settings_Vtiger_Menu_Model::getInstanceById($fieldItem->get('blockid'));
             $fieldId = $fieldItem->get('fieldid');
         } else {
             reset($menuModels);
             $firstKey = key($menuModels);
             $selectedMenu = $menuModels[$firstKey];
         }
     } else {
         $selectedMenu = false;
     }
     $menu = [];
     foreach ($menuModels as $blockId => $menuModel) {
         $childs = [];
         foreach ($menuModel->getMenuItems() as $menuItem) {
             $childs[] = ['id' => $menuItem->getId(), 'active' => $menuItem->getId() == $fieldId ? true : false, 'name' => $menuItem->get('name'), 'type' => 'Shortcut', 'sequence' => $menuModel->get('sequence'), 'newwindow' => '0', 'icon' => $menuItem->get('iconpath'), 'dataurl' => $menuItem->getUrl(), 'parent' => 'Settings', 'moduleName' => Vtiger_Menu_Model::getModuleNameFromUrl($menuItem->getUrl())];
         }
         $menu[] = ['id' => $blockId, 'active' => $selectedMenu && $selectedMenu->get('blockid') == $blockId ? true : false, 'name' => $menuModel->getLabel(), 'type' => 'Label', 'sequence' => $menuModel->get('sequence'), 'childs' => $childs, 'icon' => $menuModel->get('icon'), 'moduleName' => 'Settings::Vtiger'];
     }
     return $menu;
 }