Example #1
0
<?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);
}
Example #2
0
 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;
     });
 }
Example #3
0
    }
    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) {