public function Run() { if ($this->enableLessRunTimeCompile) { // TODO check if the ./css folder is writable autoCompileLess(dirname(__FILE__) . '/' . 'css/main.less', dirname(__FILE__) . '/' . 'css/main.css'); } if ($this->IsHTTPHandlerProcessingRequested()) { $this->ProcessHTTPHandlers(); } else { $this->mainPage->BeginRender(); $this->mainPage->EndRender(); } }
// true для отключения сжатия выходящего файла. $alertError = true; // false для показа ошибок компиляции вверху страницы (по умолчанию показываются js-алертом); $copyText = '@author: Павел Белоусов (www.info-expert.ru)'; // Текст, который будет записан в начало файла CSS вместе со статистикой /** * Конец настроек */ // Если включено логирование - "запускаем счётчик времени". if ($lessLog) { $timeStart = microtime(true); $logError = ''; } // Выполняем функцию компиляции try { autoCompileLess($inputFile, $outputFile, $normal, $copyText); } catch (exception $e) { // Если что-то пошло не так - скажем об этом пользователю способом, указанным в настройках и запишем в лог. $logError = str_replace($_SERVER['DOCUMENT_ROOT'], '', $e->getMessage()); $showError = $alertError ? '<script>alert("Less error: ' . str_replace('"', ' ', $logError) . '")</script>' : '<div style="text-align: center; background: #fff; color: red; padding: 5px;">Less error: ' . $logError . '</div>'; echo $showError; } // Если разрешено, то пишем лог-файл с временем выполнения компиляции less-файлов :) if ($lessLog) { $timeStop = microtime(true); $lessLog = round($timeStop - $timeStart, 6); $textColor = $lessLog > '0.001' ? 'red' : 'green'; $mem_usg = ''; $lessLogFile = $_SERVER['DOCUMENT_ROOT'] . '/' . $lessLogFile . '.html'; if (function_exists("memory_get_peak_usage")) { $mem_usg = round(memory_get_peak_usage() / (1024 * 1024), 2) . "Мб";
} // Preserve comments if (isset($config['comments'])) { $less->setPreserveComments($config['comments']); } // Compile a new cache $newCache = $less->cachedCompile($cache); if (!is_array($cache) || $newCache["updated"] > $cache["updated"]) { file_put_contents($cacheFile, serialize($newCache)); file_put_contents($outputFile, $newCache['compiled']); } } // // Compile and output the resulting css-file, use caching whenever suitable. // $less = $config['style_file'] . '.less'; $css = $config['style_file'] . '.css'; $changed = autoCompileLess($less, $css, $config); $time = filemtime($css); $gmdate = gmdate("D, d M Y H:i:s", $time); // // Write it out and leave a response, use gzip if available // ob_start("ob_gzhandler") or ob_start(); header('Last-Modified: ' . $gmdate . " GMT"); if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) == $time) { header("HTTP/1.0 304 Not Modified"); } else { header('Content-type: text/css'); readfile($css); }
<?php use Illuminate\Database\Capsule\Manager as Capsule; $capsule = new Capsule(); /* ENVIRONMENT 1 = dev 2 = testing 3 = production */ define("ENVIRONMENT", "1"); switch (ENVIRONMENT) { default: require 'development.php'; autoCompileLess('css/less/main.less', 'css/main.css'); break; case 2: require 'testing.php'; autoCompileLess('css/less/main.less', 'css/main.css'); break; case 3: require 'production.php'; break; } $capsule->setAsGlobal(); $capsule->bootEloquent(); // set timezone for timestamps etc date_default_timezone_set('UTC');