예제 #1
0
 public static function addStylesheet($pfile)
 {
     global $app;
     $doc = JFactory::getDocument();
     $compileLess = $app->getTemplate(true)->params->get('compileLess', 'server');
     if (strtolower($compileLess) == 'client' && JRequest::getVar('compile') != 'server') {
         // add rel = "stylesheet/less"
         $doc->addHeadLink($pfile, 'stylesheet/less');
     } else {
         if (JRequest::getVar('less2css') == 'all') {
             $cssfile = str_replace('/less/', '/css/', str_replace('.less', '.css', $pfile));
             //var_dump($cssfile);die('vao day');
             // For *-rtl.css
             $path_ = str_replace('.less', '-rtl.less', $pfile);
             if (is_file($path_)) {
                 $topath_ = str_replace('.css', '-rtl.css', $cssfile);
                 YTLess::complieToCss($path_, $topath_);
             }
             // For template-*.css
             if (basename($pfile) == 'template.less') {
                 YTLess::complieToCss(dirname($pfile) . '/ie/template-ie9.less', dirname($cssfile) . '/ie/template-ie9.css');
                 YTLess::complieToCss(dirname($pfile) . '/ie/template-ie10.less', dirname($cssfile) . '/ie/template-ie10.css');
                 YTLess::complieToCss(dirname($pfile) . '/system/cpanel.less', dirname($cssfile) . '/system/cpanel.css');
                 YTLess::complieToCss(dirname($pfile) . '/system/sticky.less', dirname($cssfile) . '/system/sticky.css');
                 $dircolor = scandir(dirname($pfile) . '/color');
                 for ($i = 0; $i < count($dircolor); $i++) {
                     if ($dircolor[$i] == 'variables_color.less') {
                         continue;
                     }
                     if (is_file(dirname($pfile) . '/color/' . $dircolor[$i])) {
                         $tcontent = JFile::read(JPATH_ROOT . '/' . dirname($pfile) . '/color/' . $dircolor[$i]);
                         JFile::write(JPATH_ROOT . '/' . dirname($pfile) . '/color/variables_color.less', $tcontent);
                         $path_ = $pfile;
                         $topath_ = dirname($pfile) . '/template-' . $dircolor[$i];
                         $topath_ = str_replace('/less/', '/css/', str_replace('.less', '.css', $topath_));
                         YTLess::complieToCss($path_, $topath_);
                     }
                 }
             } else {
                 YTLess::complieToCss($pfile, $cssfile);
             }
         } else {
             $cssfile = YTLess::buidStyleSheet($pfile);
         }
         $doc->addStylesheet($cssfile);
     }
 }
예제 #2
0
 public static function addStylesheet($pfile)
 {
     global $app;
     $doc = JFactory::getDocument();
     if (JRequest::getVar('less2css') == 'all') {
         $cssfile = str_replace('/less/', '/css/', str_replace('.less', '.css', $pfile));
         // For *-rtl.css
         $path_ = str_replace('.less', 'template-rtl.less', $pfile);
         if (is_file($path_)) {
             $topath_ = str_replace('.css', 'template-rtl.css', $cssfile);
             YTLess::complieToCss($path_, $topath_);
         }
         // For template-*.css
         if (basename($pfile) == 'template.less') {
             YTLess::complieToCss(dirname($pfile) . '/template-ie9.less', dirname($cssfile) . '/template-ie9.css');
             YTLess::complieToCss(dirname($pfile) . '/template-ie10.less', dirname($cssfile) . '/template-ie10.css');
             YTLess::complieToCss(dirname($pfile) . '/cpanel.less', dirname($cssfile) . '/cpanel.css');
             YTLess::complieToCss(dirname($pfile) . '/sticky.less', dirname($cssfile) . '/sticky.css');
             $dircolor = scandir(dirname($pfile) . '/color');
             for ($i = 0; $i < count($dircolor); $i++) {
                 if ($dircolor[$i] == 'variables_color.less') {
                     continue;
                 }
                 if (is_file(dirname($pfile) . '/color/' . $dircolor[$i])) {
                     $tcontent = JFile::read(JPATH_ROOT . '/' . dirname($pfile) . '/color/' . $dircolor[$i]);
                     JFile::write(JPATH_ROOT . '/' . dirname($pfile) . '/color/variables_color.less', $tcontent);
                     $path_ = $pfile;
                     $topath_ = dirname($pfile) . '/template-' . $dircolor[$i];
                     $topath_ = str_replace('/less/', '/css/', str_replace('.less', '.css', $topath_));
                     YTLess::complieToCss($path_, $topath_);
                 }
             }
         } else {
             YTLess::complieToCss($pfile, $cssfile);
         }
     } else {
         $cssfile = YTLess::buidStyleSheet($pfile);
     }
     $doc->addStylesheet($cssfile);
 }