예제 #1
0
 /**
  * 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;
 }
예제 #2
0
 /**
  * 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;
 }