/** * 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/basic/$cssFileName */ function checkAndConvertCssStyles($cssFileNames, $fileExtension = 'css') { $cssStyleInstances = []; 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); if (file_exists($completeFilePath)) { if (strpos($cssFileName, '~') === 0) { $filePath = ltrim(ltrim($cssFileName, '~'), '/'); } else { $filePath = str_replace('.', '/', $cssFileName) . '.' . $fileExtension; } $minFilePath = str_replace('.css', '.min.css', $filePath); if (Vtiger_Functions::getMinimizationOptions($fileExtension) && is_file(Vtiger_Loader::resolveNameToPath('~' . $minFilePath, $fileExtension))) { $filePath = $minFilePath; } $cssStyleInstances[$cssFileName] = $cssScriptModel->set('href', $filePath); continue; } else { $preLayoutPath = ''; if (strpos($cssFileName, '~') === 0) { $cssFile = ltrim(ltrim($cssFileName, '~'), '/'); $preLayoutPath = '~'; } else { $cssFile = $cssFileName; } // Checking if file exists in selected layout $layoutPath = 'layouts' . '/' . Yeti_Layout::getActiveLayout(); $fallBackFilePath = Vtiger_Loader::resolveNameToPath($preLayoutPath . $layoutPath . '/' . $cssFile, $fileExtension); if (is_file($fallBackFilePath)) { if (empty($preLayoutPath)) { $filePath = str_replace('.', '/', $cssFile) . '.css'; } $minFilePath = str_replace('.css', '.min.css', $filePath); if (Vtiger_Functions::getMinimizationOptions($fileExtension) && is_file(Vtiger_Loader::resolveNameToPath('~' . $layoutPath . '/' . $minFilePath, $fileExtension))) { $filePath = $minFilePath; } $cssStyleInstances[$cssFileName] = $cssScriptModel->set('href', $layoutPath . '/' . $filePath); continue; } // Checking if file exists in default layout $layoutPath = 'layouts' . '/' . Vtiger_Viewer::getDefaultLayoutName(); $fallBackFilePath = Vtiger_Loader::resolveNameToPath($preLayoutPath . $layoutPath . '/' . $cssFile, $fileExtension); if (is_file($fallBackFilePath)) { if (empty($preLayoutPath)) { $filePath = str_replace('.', '/', $cssFile) . '.css'; } $minFilePath = str_replace('.css', '.min.css', $filePath); if (Vtiger_Functions::getMinimizationOptions($fileExtension) && is_file(Vtiger_Loader::resolveNameToPath('~' . $layoutPath . '/' . $minFilePath, $fileExtension))) { $filePath = $minFilePath; } $cssStyleInstances[$cssFileName] = $cssScriptModel->set('href', $layoutPath . '/' . $filePath); continue; } } } return $cssStyleInstances; }
/** * 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; $minFilePath = str_replace('.css', '.min.css', $completeFilePath); if (Vtiger_Functions::getMinimizationOptions($fileExtension) && file_exists($minFilePath)) { if (strpos($cssFileName, '~') === 0) { $minFilePath = str_replace('.css', '.min.css', $cssFileName); $filePath = ltrim(ltrim($minFilePath, '~'), '/'); // if ~~ (reference is outside vtiger6 folder) if (substr_count($minFilePath, "~") == 2) { $filePath = "../" . $filePath; } } else { $filePath = str_replace('.', '/', $cssFileName) . '.min.' . $fileExtension; $filePath = Vtiger_Theme::getStylePath($filePath); } $cssStyleInstances[] = $cssScriptModel->set('href', $filePath); } else { 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; }