public function compileLess($name, $lessFile, $args = array())
{
// Load the LESS compiler
require_once 'lib/pkp/lib/vendor/oyejorge/less.php/lessc.inc.php';
$less = new Less_Parser(array('relativeUrls' => false, 'compress' => true));
$request = $this->_request;
// Allow plugins to intervene
HookRegistry::call('PageHandler::compileLess', array(&$less, &$lessFile, &$args, $name, $request));
// Read the stylesheet
$less->parseFile($lessFile);
// Add extra LESS files before compiling
if (isset($args['addLess']) && is_array($args['addLess'])) {
foreach ($args['addLess'] as $addless) {
$less->parseFile($addless);
}
}
// Add extra LESS variables before compiling
if (isset($args['addLessVariables'])) {
$less->parse($args['addLessVariables']);
}
// Set the @baseUrl variable
$baseUrl = !empty($args['baseUrl']) ? $args['baseUrl'] : $request->getBaseUrl(true);
$less->parse("@baseUrl: '{$baseUrl}';");
return $less->getCSS();
}