/** * Function to get the list of Css models to be included * @param Vtiger_Request $request * @return <Array> - List of Vtiger_CssScript_Model instances */ function getHeaderCss(Vtiger_Request $request) { global $log; $headerCssInstances = parent::getHeaderCss($request); $headerCss = Vtiger_Link_Model::getAllByType(Vtiger_Link::IGNORE_MODULE, array('HEADERCSS')); $selectedThemeCssPath = Vtiger_Theme::getStylePath(); //TODO : check the filename whether it is less or css and add relative less $isLessType = strpos($selectedThemeCssPath, ".less") !== false ? true : false; $cssScriptModel = new Vtiger_CssScript_Model(); $headerCssInstances[] = $cssScriptModel->set('href', $selectedThemeCssPath)->set('rel', $isLessType ? Vtiger_CssScript_Model::LESS_REL : Vtiger_CssScript_Model::DEFAULT_REL); foreach ($headerCss as $headerType => $cssLinks) { foreach ($cssLinks as $cssLink) { if ($this->checkFileUriInRelocatedMouldesFolder($cssLink->linkurl)) { $headerCssInstances[] = Vtiger_CssScript_Model::getInstanceFromLinkObject($cssLink); } } } return $headerCssInstances; }
/** * Function returns the css files * @param <Array> $cssFileNames * @param <String> $fileExtension * @return <Array of Vtiger_CssScript_Model> * * First check if $cssFileName exists * if not, check under layout folder $cssFileName eg:layouts/vlayout/$cssFileName */ function checkAndConvertCssStyles($cssFileNames, $fileExtension = 'css') { $cssStyleInstances = array(); foreach ($cssFileNames as $cssFileName) { $cssScriptModel = new Vtiger_CssScript_Model(); if (strpos($cssFileName, 'http://') === 0 || strpos($cssFileName, 'https://') === 0) { $cssStyleInstances[] = $cssScriptModel->set('href', $cssFileName); continue; } $completeFilePath = Vtiger_Loader::resolveNameToPath($cssFileName, $fileExtension); $filePath = NULL; if (file_exists($completeFilePath)) { if (strpos($cssFileName, '~') === 0) { $filePath = ltrim(ltrim($cssFileName, '~'), '/'); // if ~~ (reference is outside vtiger6 folder) if (substr_count($cssFileName, "~") == 2) { $filePath = "../" . $filePath; } } else { $filePath = str_replace('.', '/', $cssFileName) . '.' . $fileExtension; $filePath = Vtiger_Theme::getStylePath($filePath); } $cssStyleInstances[] = $cssScriptModel->set('href', $filePath); } } return $cssStyleInstances; }