Example #1
0
 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();
     }
 }
Example #2
0
// 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) . "Мб";
Example #3
0
    }
    // 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);
}
Example #4
0
<?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');