getModule(); $qualifiedModuleName = $request->getModule(false); $viewer = $this->getViewer($request); $availableFrontendTypes = \Workflow\FrontendTypes::getAllAvailable(); $viewer->assign('FrontendTypes', $availableFrontendTypes); $sql = "SELECT * FROM vtiger_wf_settings WHERE module_name != '' ORDER BY module_name, active DESC, title"; $result = $adb->query($sql); $workflows = array(); $lastModule = ""; $activeSidebarWidget = false; while($row = $adb->fetch_array($result)) { $moduleName = getTranslatedString($row["module_name"], $row["module_name"]); $workflows[$moduleName][] = $row; } $viewer->assign('workflows', $workflows); $sql = 'SELECT vtiger_wf_frontendmanager.*, vtiger_wf_frontendmanager.module as module_name, vtiger_wf_settings.title FROM vtiger_wf_frontendmanager LEFT JOIN vtiger_wf_settings ON (vtiger_wf_settings.id = vtiger_wf_frontendmanager.workflow_id) ORDER BY vtiger_wf_frontendmanager.module, `order` '; $result = $adb->query($sql); $links = array(); $configurations = array(); while($row = $adb->fetchByAssoc($result)) { if(!empty($row['config'])) { $row['config'] = \Workflow\VtUtils::json_decode(html_entity_decode($row['config'])); $configurations[$row['id']] = $row['config']; } else { $configurations[$row['id']] = array(); } $links[getTranslatedString($row['module'], $row['module'])][] = $row; } $viewer->assign('links', $links); $sql = 'SELECT * FROM vtiger_wf_frontend_config'; $result = $adb->query($sql); $frontendConfig = array(); while($row = $adb->fetchByAssoc($result)) { $frontendConfig[$row['module']] = $row; } $viewer->assign('frontendConfig', $frontendConfig); $viewer->assign('configurations', $configurations); $viewer->assign('FA_ICONS', $this->iconsFA); $viewer->view('VT7/FrontendManager.tpl', $qualifiedModuleName); } /** * Function to get the list of Script models to be included * @param Vtiger_Request $request * @return - List of Vtiger_JsScript_Model instances */ function getHeaderScripts(Vtiger_Request $request) { $headerScriptInstances = parent::getHeaderScripts($request); $moduleName = $request->getModule(); $jsFileNames = array( "modules.Settings.$moduleName.views.resources.Workflow2", "modules.Settings.$moduleName.views.resources.FrontendManager", "modules.$moduleName.views.resources.js.jscolor.jscolor", ); $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances); $moduleModel = Vtiger_Module_Model::getInstance($moduleName); foreach($headerScriptInstances as $obj) { $src = $obj->get('src'); if(!empty($src) && strpos($src, $moduleName) !== false) { $obj->set('src', $src.'?v='.$moduleModel->version); } } return $headerScriptInstances; } function getHeaderCss(Vtiger_Request $request) { $headerScriptInstances = parent::getHeaderCss($request); $moduleName = $request->getModule(); $cssFileNames = array( "~layouts/".Vtiger_Viewer::getLayoutName()."/modules/Settings/$moduleName/resources/css/Workflow2.css", "~layouts/".Vtiger_Viewer::getLayoutName()."/modules/$moduleName/resources/css/Essentials.css", ); $cssScriptInstances = $this->checkAndConvertCssStyles($cssFileNames); $headerStyleInstances = array_merge($headerScriptInstances, $cssScriptInstances); return $headerStyleInstances; } }