This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "quickfw".
The branch, master has been updated
via e1e9653c58c06c2f156578e320d98017a08cfce1 (commit)
via 7fc9165e805a3e572ae0449efbee5d8ee36d2b5a (commit)
from afd9295222fefd7d41673eca494b2998794aa54d (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit e1e9653c58c06c2f156578e320d98017a08cfce1
Author: Ivan1986 <iva...@li...>
Date: Wed Jun 16 17:23:12 2010 +0400
Добавлен класс генерации CSS из SCSS (нужен sass)
diff --git a/application/default/controllers/CssController.php b/application/default/controllers/CssController.php
new file mode 100644
index 0000000..9dbf2ca
--- /dev/null
+++ b/application/default/controllers/CssController.php
@@ -0,0 +1,81 @@
+<?php
+/**
+ * Преобразование scss в css
+ *
+ * <br>Необходимо установить sass версии не ниже 3.0
+ *
+ * @author ivan1986
+ */
+class CssController
+{
+ /** Путь к sass */
+ const SASS = 'sass -C';
+
+ /**
+ * Генерирует несуществующую css по scss если он есть
+ *
+ * @return string сгенерированная css
+ */
+ public function indexAction()
+ {
+ QFW::$view->mainTemplate = '';
+ $args = func_get_args();
+ $css = implode('/', $args);
+ $scss = str_replace('.css', '.scss', $css);
+ if (!is_file(DOC_ROOT.'/css/'.$scss))
+ QFW::$router->show404();
+
+ header('Content-Type: text/css');
+ $out = array();
+ $ret = false;
+ //запускаем преобразования - по умолчанию без кеша и выводим ошибки в основной поток
+ exec(self::SASS.' 2>&1 '.DOC_ROOT.'/css/'.$scss, $out, $ret);
+ $out = implode("\n", $out);
+
+ if ($ret)
+ { //если у нас в scss ошибка, то выводим ее
+ $out = str_replace('Use --trace for backtrace.', '', $out);
+ $out = trim(str_replace("\n", ' ', $out));
+ $out = 'body:before { content: \''.addslashes($out).'\'; }';
+ }
+ return $out;
+ }
+
+ /**
+ * Преобразует все файлы scss в css
+ */
+ public function genCli()
+ {
+ $out = array();
+ $ret = false;
+ exec('find '.DOC_ROOT.'/css -name \'*.scss\'', $out, $ret);
+ if ($ret)
+ return;
+ foreach ($out as $file)
+ {
+ $css = str_replace('.scss', '.css', $file);
+ exec(self::SASS.' 2>&1 '.$file.' | unexpand -t2 --first-only >'.$css, $out, $ret);
+ }
+ }
+
+ /**
+ * Удаляет автоматически сгенерированные css
+ */
+ public function cleanCli()
+ {
+ $out = array();
+ $ret = false;
+ exec('find '.DOC_ROOT.'/css -name \'*.scss\'', $out, $ret);
+ if ($ret)
+ return;
+ foreach ($out as $file)
+ {
+ $css = str_replace('.scss', '.css', $file);
+ if (is_file($css))
+ unlink($css);
+ }
+ }
+
+}
+
+?>
commit 7fc9165e805a3e572ae0449efbee5d8ee36d2b5a
Author: Ivan1986 <iva...@li...>
Date: Wed Jun 16 17:22:27 2010 +0400
Изменено определение DOC_ROOT в cron
diff --git a/cron/start.php b/cron/start.php
index 7b6f671..b1cbc95 100644
--- a/cron/start.php
+++ b/cron/start.php
@@ -1,6 +1,6 @@
<?php
- define ('DOC_ROOT', realpath(dirname(__FILE__).'../www'));
- define ('ROOTPATH', realpath(dirname(__FILE__).'/../'));
+ define ('DOC_ROOT', dirname(dirname(__FILE__)).'/www');
+ define ('ROOTPATH', dirname(dirname(__FILE__)));
define ('APPPATH', ROOTPATH . '/application');
define ('TMPPATH', ROOTPATH . '/tmp');
define ('QFWPATH', ROOTPATH . '/QFW');
-----------------------------------------------------------------------
Summary of changes:
application/default/controllers/CssController.php | 81 +++++++++++++++++++++
cron/start.php | 4 +-
2 files changed, 83 insertions(+), 2 deletions(-)
create mode 100644 application/default/controllers/CssController.php
hooks/post-receive
--
quickfw
|