protected function buildCss()
{
global $locale, $defender;
$inputFile = CLASSES . "PHPFusion/Atom/less/atom.less";
$outputFolder = THEMES . $this->target_folder . "/";
$outputFile = THEMES . $this->target_folder . "/fusion_" . $this->target_folder . "_" . time() . ".css";
$returnFile = str_replace(THEMES, '', $outputFile);
$directories = array(INCLUDES . "atom/less/" => 'includes/atom/less/');
$options = array('output' => $outputFile, 'compress' => $this->compress);
$this->set_less_variables();
if (!empty($this->less_var) && $defender::safe() && $this->Compiler) {
if ($this->debug) {
print_p("current less var");
print_p($this->less_var);
print_p($inputFile);
print_p($outputFile);
}
try {
require_once "lessc.inc.php";
$parser = new \Less_Parser($options);
//$parser->SetImportDirs($directories);
$parser->parseFile($inputFile, $outputFolder);
$parser->ModifyVars($this->less_var);
$css = $parser->getCss();
if (!$this->debug) {
$css_file = fopen($outputFile, "w");
if (fwrite($css_file, $css)) {
fclose($css_file);
}
if ($css_file) {
return (string) $returnFile;
}
} else {
print_p($css);
// this is your css
}
} catch (\Exception $e) {
$error_message = $e->getMessage();
$defender->stop();
addNotice('danger', $error_message);
}
} else {
if (!$this->Compiler) {
$defender->stop();
addNotice('danger', $locale['theme_error_008']);
} else {
$defender->stop();
addNotice('danger', $locale['theme_error_007']);
}
}
return NULL;
}