public static function compileAll($theme = null) { // get params $db = JFactory::getDbo(); $params = new JRegistry(); //get params of templates $query = $db->getQuery(true); $query->select('params')->from('#__template_styles')->where('template=' . $db->quote(PLAZART_TEMPLATE)); $db->setQuery($query); $params->loadString($db->loadResult()); if (!$params->get('devmode', 0)) { return false; } $less = new self(); // compile all css files $files = array(); $lesspath = 'templates' . DIRECTORY_SEPARATOR . PLAZART_TEMPLATE . DIRECTORY_SEPARATOR . 'less' . DIRECTORY_SEPARATOR; $csspath = 'templates' . DIRECTORY_SEPARATOR . PLAZART_TEMPLATE . DIRECTORY_SEPARATOR . 'css' . DIRECTORY_SEPARATOR; // delete old css $less->clearfolder(JPATH_ROOT . DIRECTORY_SEPARATOR . $csspath); // get themes $themes = JFolder::folders(JPATH_ROOT . DIRECTORY_SEPARATOR . $lesspath . DIRECTORY_SEPARATOR . 'themes'); if (count($themes)) { foreach ($themes as $t) { $buffer = '<html><body></body></html>'; JFile::write(JPATH_ROOT . DIRECTORY_SEPARATOR . $csspath . 'themes' . DIRECTORY_SEPARATOR . $t . DIRECTORY_SEPARATOR . 'index.html', $buffer); // compile $files = JFolder::files(JPATH_ROOT . DIRECTORY_SEPARATOR . $lesspath . DIRECTORY_SEPARATOR . 'themes' . DIRECTORY_SEPARATOR . $t, '.less'); if (!count($files)) { continue; } foreach ($files as $file) { $filecss = substr($file, 0, -5); $less->ccompile(JPATH_ROOT . DIRECTORY_SEPARATOR . $lesspath . 'themes' . DIRECTORY_SEPARATOR . $t . DIRECTORY_SEPARATOR . $file, JPATH_ROOT . DIRECTORY_SEPARATOR . $csspath . 'themes' . DIRECTORY_SEPARATOR . $t . DIRECTORY_SEPARATOR . $filecss . '.css'); } } } //compile bootstrap // $lesspath = PLAZART_PATH.DIRECTORY_SEPARATOR.'bootstrap'.DIRECTORY_SEPARATOR.'less'.DIRECTORY_SEPARATOR; // $csspath = 'templates'.DIRECTORY_SEPARATOR.PLAZART_TEMPLATE.DIRECTORY_SEPARATOR.'css'.DIRECTORY_SEPARATOR; // $result = $less->ccompile($lesspath.'bootstrap.less',JPATH_ROOT.DIRECTORY_SEPARATOR.$csspath.'bootstrap.css'); // $result = $less->ccompile($lesspath.'responsive.less',JPATH_ROOT.DIRECTORY_SEPARATOR.$csspath.'bootstrap-responsive.css'); }