<?php namespace infrajs\collect; use infrajs\router\Router; use infrajs\ans\Ans; if (!is_file('vendor/autoload.php')) { chdir('../../../'); require_once 'vendor/autoload.php'; Router::init(); } $js = Collect::js(); $ans = array(); if (!$js) { return Ans::err($ans); } else { return Ans::ret($ans); }
public static function loadCSS(&$js, $name) { $c = Config::get($name); if (empty($c['css'])) { return; } if (!empty($c['off'])) { return; } if (!empty($c['dependencies'])) { Each::exec($c['dependencies'], function &($name) use(&$js) { Collect::loadCSS($js, $name); $r = null; return $r; }); } if (!empty(Collect::$cssed[$name])) { return; } Collect::$cssed[$name] = true; $root = !empty($c['-collect']) && $c['-collect'] == 'root'; Each::exec($c['css'], function &($path) use($name, &$js, $root) { $r = null; if ($root) { $src = $path; } else { $src = '-' . $name . '/' . $path; } $js .= "\n\n" . '/*load css ' . $src . "*/\r\n"; if (!Path::theme($src)) { echo '<pre>'; throw new \Exception('Не найден файл ' . $src); } $js .= Load::loadTEXT('-csspath/?src=' . $src); return $r; }); }
} return Ans::css($code); } $p = explode(',', str_replace(' ', '', $_SERVER['HTTP_ACCEPT_ENCODING'])); $isgzip = !Load::isphp() && in_array('gzip', $p); $key = 'Infrajs::Collect::' . $isjs . $isgzip; //Два кэша зазипованый и нет. Не все браузеры понимают зазипованую версию. $code = Mem::get($key); if (!$code) { if (!Load::isphp()) { header('Infrajs-Cache: false'); } if ($isjs) { $code = Collect::js($name); } else { $code = Collect::css($name); } if ($isjs) { $min = new Minify\JS($code); } else { $min = new Minify\CSS($code); } if ($isgzip) { $code = $min->gzip(); } else { $code = $min->minify(); } Mem::set($key, $code); } if (!Load::isphp()) { if ($isgzip) {