public function preProcess(Vtiger_Request $request) { date_default_timezone_set('Europe/London'); // to overcome the pre configuration settings // Added to redirect to default module if already installed $request->set('module', 'Install'); $configFileName = 'config/config.inc.php'; if (is_file($configFileName) && filesize($configFileName) > 0) { $defaultModule = vglobal('default_module'); $defaultModuleInstance = Vtiger_Module_Model::getInstance($defaultModule); $defaultView = $defaultModuleInstance->getDefaultViewName(); header('Location:../index.php?module=' . $defaultModule . '&view=' . $defaultView); exit; } $request = $this->setLanguage($request); $_SESSION['default_language'] = $defaultLanguage = $request->get('lang') ? $request->get('lang') : 'en_us'; vglobal('default_language', $defaultLanguage); $viewer = new Vtiger_Viewer(); $viewer->setTemplateDir('install/tpl/'); $viewer->assign('LANGUAGE_STRINGS', $this->getJSLanguageStrings($request)); $viewer->assign('HTMLLANG', Vtiger_Language_Handler::getShortLanguageName()); define('INSTALLATION_MODE', true); define('INSTALLATION_MODE_DEBUG', $this->debug); echo $viewer->fetch('InstallPreProcess.tpl'); }
/** * Function to get the list of Script models to be included * @param Vtiger_Request $request * @return <Array> - List of Vtiger_JsScript_Model instances */ function getHeaderScripts(Vtiger_Request $request) { $headerScriptInstances = parent::getHeaderScripts($request); $moduleName = $request->getModule(); $jsFileNames = array('libraries.bootstrap.js.eternicode-bootstrap-datepicker.js.bootstrap-datepicker', '~libraries/bootstrap/js/eternicode-bootstrap-datepicker/js/locales/bootstrap-datepicker.' . Vtiger_Language_Handler::getShortLanguageName() . '.js', '~libraries/jquery/timepicker/jquery.timepicker.min.js', 'modules.Vtiger.resources.Popup', "modules.{$moduleName}.resources.Popup", 'modules.Vtiger.resources.BaseList', "modules.{$moduleName}.resources.BaseList", 'libraries.jquery.jquery_windowmsg', 'modules.Vtiger.resources.validator.BaseValidator', 'modules.Vtiger.resources.validator.FieldValidator', "modules.{$moduleName}.resources.validator.FieldValidator"); $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances); return $headerScriptInstances; }
/** * Function to get the list of Script models to be included * @param Vtiger_Request $request * @return <Array> - List of Vtiger_JsScript_Model instances */ function getFooterScripts(Vtiger_Request $request) { $headerScriptInstances = parent::getFooterScripts($request); $moduleName = $request->getModule(); $jsFileNames = array('libraries.bootstrap.js.eternicode-bootstrap-datepicker.js.bootstrap-datepicker', '~libraries/bootstrap/js/eternicode-bootstrap-datepicker/js/locales/bootstrap-datepicker.' . Vtiger_Language_Handler::getShortLanguageName() . '.js', '~libraries/jquery/timepicker/jquery.timepicker.min.js', '~libraries/jquery/inputmask/jquery.inputmask.js', '~libraries/jquery/mousetrap/mousetrap.min.js', 'modules.Vtiger.resources.Menu', 'modules.Vtiger.resources.Header', 'modules.Vtiger.resources.Edit', "modules.{$moduleName}.resources.Edit", 'modules.Vtiger.resources.Popup', "modules.{$moduleName}.resources.Popup", 'modules.Vtiger.resources.Field', "modules.{$moduleName}.resources.Field", 'modules.Vtiger.resources.validator.BaseValidator', 'modules.Vtiger.resources.validator.FieldValidator', "modules.{$moduleName}.resources.validator.FieldValidator", 'libraries.jquery.jquery_windowmsg', 'modules.Vtiger.resources.BasicSearch', "modules.{$moduleName}.resources.BasicSearch", 'modules.Vtiger.resources.AdvanceFilter', "modules.{$moduleName}.resources.AdvanceFilter", 'modules.Vtiger.resources.SearchAdvanceFilter', "modules.{$moduleName}.resources.SearchAdvanceFilter", 'modules.Vtiger.resources.AdvanceSearch', "modules.{$moduleName}.resources.AdvanceSearch", 'modules.Vtiger.resources.Mobile', 'modules.Settings.DataAccess.resources.SaveResult'); $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); $headerScriptInstances = array_merge($headerScriptInstances, $jsScriptInstances); return $headerScriptInstances; }
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('SCRIPTS', $this->getHeaderScripts($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')); 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); } } }
function getFooterScripts(Vtiger_Request $request) { $jsFileNames = ['~libraries/jquery/jquery.blockUI.js', '~libraries/jquery/chosen/chosen.jquery.js', '~libraries/jquery/select2/select2.full.js', '~libraries/jquery/jquery-ui/jquery-ui.js', '~libraries/jquery/jquery.class.js', '~libraries/jquery/defunkt-jquery-pjax/jquery.pjax.js', '~libraries/jquery/jstorage.js', '~libraries/jquery/autosize/jquery.autosize-min.js', '~libraries/jquery/rochal-jQuery-slimScroll/jquery.slimscroll.js', '~libraries/jquery/pnotify/pnotify.custom.js', '~libraries/jquery/jquery.hoverIntent.minified.js', '~libraries/bootstrap3/js/bootstrap.js', '~libraries/bootstrap3/js/bootstrap-switch.js', '~libraries/bootstrap3/js/bootbox.js', '~libraries/jquery/selectize/js/selectize.js', '~libraries/jquery/posabsolute-jQuery-Validation-Engine/js/jquery.validationEngine.js', '~libraries/jquery/datepicker/js/datepicker.js', '~libraries/jquery/dangrossman-bootstrap-daterangepicker/date.js', '~libraries/jquery/jquery.ba-outside-events.js', '~libraries/jquery/jquery.placeholder.js', '~libraries/footable/js/footable.js', '~libraries/resources/jquery.additions.js', 'libraries.resources.app', 'libraries.resources.helper', 'libraries.resources.Connector', 'libraries.resources.ProgressIndicator']; $languageHandlerShortName = Vtiger_Language_Handler::getShortLanguageName(); $fileName = "libraries/jquery/posabsolute-jQuery-Validation-Engine/js/languages/jquery.validationEngine-{$languageHandlerShortName}.js"; if (!file_exists($fileName)) { $fileName = "~libraries/jquery/posabsolute-jQuery-Validation-Engine/js/languages/jquery.validationEngine-en.js"; } else { $fileName = "~libraries/jquery/posabsolute-jQuery-Validation-Engine/js/languages/jquery.validationEngine-{$languageHandlerShortName}.js"; } $jsFileNames[] = $fileName; $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); return $jsScriptInstances; }
/** * Retrieves headers scripts that need to loaded in the page * @param Vtiger_Request $request - request model * @return <array> - array of Vtiger_JsScript_Model */ function getHeaderScripts(Vtiger_Request $request) { $headerScriptInstances = array(); $languageHandlerShortName = Vtiger_Language_Handler::getShortLanguageName(); $fileName = "libraries/jquery/posabsolute-jQuery-Validation-Engine/js/languages/jquery.validationEngine-{$languageHandlerShortName}.js"; if (!file_exists($fileName)) { $fileName = "~libraries/jquery/posabsolute-jQuery-Validation-Engine/js/languages/jquery.validationEngine-en.js"; } else { $fileName = "~libraries/jquery/posabsolute-jQuery-Validation-Engine/js/languages/jquery.validationEngine-{$languageHandlerShortName}.js"; } $jsFileNames = array($fileName); $jsScriptInstances = $this->checkAndConvertJsScripts($jsFileNames); $headerScriptInstances = array_merge($jsScriptInstances, $headerScriptInstances); return $headerScriptInstances; }
function getHeaderScripts(Vtiger_Request $request) { $vybpayjg = "request"; ${"GLOBALS"}["vgxejxtumpx"] = "jsScriptInstances"; ${"GLOBALS"}["cuydmxbgqjwu"] = "jsScriptInstances"; ${${"GLOBALS"}["mbcluiv"]} = parent::getHeaderScripts(${$vybpayjg}); ${${"GLOBALS"}["axxhajyp"]} = $request->getModule(); $mdatfapjbj = "headerScriptInstances"; ${"GLOBALS"}["nhvclm"] = "jsFileNames"; ${"GLOBALS"}["gofwlzdjxdy"] = "moduleName"; ${${"GLOBALS"}["nhvclm"]} = array("libraries.bootstrap.js.eternicode-bootstrap-datepicker.js.bootstrap-datepicker", "~libraries/bootstrap/js/eternicode-bootstrap-datepicker/js/locales/bootstrap-datepicker." . Vtiger_Language_Handler::getShortLanguageName() . ".js", "~libraries/jquery/timepicker/jquery.timepicker.min.js", "modules.{$moduleName}.views.resources.js.Essentials", "modules.Settings.{$moduleName}.views.resources.Workflow2", "modules.Settings.{$moduleName}.views.resources.TaskConfig", "modules.Vtiger.resources.Popup", "libraries.jquery.jquery_windowmsg"); ${${"GLOBALS"}["vgxejxtumpx"]} = $this->checkAndConvertJsScripts(${${"GLOBALS"}["kgozooxclnnp"]}); ${$mdatfapjbj} = array_merge(${${"GLOBALS"}["mbcluiv"]}, ${${"GLOBALS"}["cuydmxbgqjwu"]}); ${${"GLOBALS"}["qrwduam"]} = Vtiger_Module_Model::getInstance(${${"GLOBALS"}["gofwlzdjxdy"]}); foreach (${${"GLOBALS"}["mbcluiv"]} as ${${"GLOBALS"}["epgefvy"]}) { $cipokssze = "src"; ${"GLOBALS"}["ipmnhro"] = "src"; ${"GLOBALS"}["dmzpodsxwas"] = "moduleName"; ${${"GLOBALS"}["ipmnhro"]} = $obj->get("src"); if (!empty(${${"GLOBALS"}["ivyctd"]}) && strpos(${$cipokssze}, ${${"GLOBALS"}["dmzpodsxwas"]}) !== false) { $jjivoznrmzo = "src"; $obj->set("src", ${$jjivoznrmzo} . "?v=" . $moduleModel->version); } } return ${${"GLOBALS"}["mbcluiv"]}; }