1515 * ===============================================================
1616 * Файл: less.php
1717 * ---------------------------------------------------------------
18- * Версия: 2.0.0 (19 .06.2013)
18+ * Версия: 2.0.1 (21 .06.2013)
1919 * ===============================================================
2020 *
2121 * Использование:
3535 */
3636
3737// Ведение лог-файла
38- $ lessLog = false ; // Вести лог-файл с отображением времени выполнения компиляции. true включит ведение лога.
38+ $ lessLog = true ; // Вести лог-файл с отображением времени выполнения компиляции. true включит ведение лога.
3939$ lessFileSize = '15 ' ; // максимальный размер файла лога, в килобайтах (если размер файла будет больше, он удалится).
4040$ lessLogFile = 'less-log ' ; // Имя лог-файла. Файл является html-страницей и записывается в корень сайта.
4141
4242// Определяем входящий и выходящий файлы и определяем сжимать или нет выходящий файл.
4343$ inputFile = $ _SERVER ['DOCUMENT_ROOT ' ].SITE_TEMPLATE_PATH ."/template_styles.less " ; // Файл template_styles.less, лежащий в текущем шаблоне сайта
4444$ outputFile = str_ireplace ('.less ' , '.css ' , $ inputFile ); // Файл template_styles.css - который подключается к шаблону
45- $ normal = false ; // true для отключения сжатия выходящего файла.
45+ $ normal = true ; // true для отключения сжатия выходящего файла.
46+ $ alertError = true ; // false для показа ошибок компиляции вверху страницы (по умолчанию показываются js-алертом);
4647
4748
4849/**
5152// Если включено логирование - "запускаем счётчик времени".
5253if ($ lessLog ) {
5354 $ timeStart = microtime (true );
55+ $ logError = '' ;
5456}
5557
5658
5759// Выполняем функцию компиляции
5860try {
5961 autoCompileLess ($ inputFile , $ outputFile , $ normal );
6062} catch (exception $ e ) {
61- // Если что-то пошло не так - скажем об этом пользователю.
62- echo '<div style="text-align: center; background: #fff; color: red; padding: 5px;">Less error: ' .$ e ->getMessage ().'</div> ' ;
63+ // Если что-то пошло не так - скажем об этом пользователю способом, указанным в настройках и запишем в лог.
64+ $ logError = str_replace ($ _SERVER ['DOCUMENT_ROOT ' ], '' , $ e ->getMessage ());
65+ $ showError = ($ alertError ) ? '<script>alert("Less error: ' .$ logError .'")</script> ' : '<div style="text-align: center; background: #fff; color: red; padding: 5px;">Less error: ' .$ logError .'</div> ' ;
66+
67+ echo $ showError ;
68+
69+
6370}
6471
6572// Если разрешено, то пишем лог-файл с временем выполнения компиляции less-файлов :)
138145 $ newText = implode ("" , $ cLessFileArr );
139146
140147 $ newTextAdd = "добавляем строку, не спрашивайте, так надо! \r\n" ;
141- $ newTextAdd = "
142- <tr>
143- <td class='queries'> " .date ('Y-m-d H:i:s ' )."</td>
144- <td class='timer " .$ textColor ."'><b> " .$ lessLog ."с</b></td>
145- <td class='mem_usg'> " .$ mem_usg ."</td>
146- </tr> \r\n" ;
148+ if ($ logError ) {
149+ $ newTextAdd = "
150+ <tr>
151+ <td class='queries'> " .date ('Y-m-d H:i:s ' )."</td>
152+ <td colspan='2'><b class='red'>Ошибка: </b> " .$ logError ."</td>
153+ </tr> \r\n" ;
154+ } else {
155+ $ newTextAdd = "
156+ <tr>
157+ <td class='queries'> " .date ('Y-m-d H:i:s ' )."</td>
158+ <td class='timer " .$ textColor ."'><b> " .$ lessLog ."с</b></td>
159+ <td class='mem_usg'> " .$ mem_usg ."</td>
160+ </tr> \r\n" ;
161+
162+ }
163+
147164
148165 $ cLessFile = fopen ($ lessLogFile , "w " );
149166
@@ -191,4 +208,4 @@ function autoCompileLess($inpFile, $outFile, $nocompress = false) {
191208 }
192209 }
193210
194- ?>
211+ ?>
0 commit comments