public static function combine($type, $files, $compress = false) { $root = panel::instance()->roots()->assets() . DS . $type; $cache = new Media($root . DS . 'panel.' . $type); $media = new Collection(array_map(function ($file) use($root) { return new Media($root . DS . str_replace('/', DS, $file)); }, $files)); // get the max modification date $modified = max($media->pluck('modified')); if (is_writable($root) and (!$cache->exists() or $cache->modified() < $modified)) { $cache->remove(); $content = ''; foreach ($media as $asset) { $content .= $asset->read() . PHP_EOL; } if ($compress) { $content = static::compress($content); } f::write($root . DS . 'panel.' . $type, $content); } if ($cache->exists()) { return $type(panel()->urls()->{$type}() . '/panel.' . $type . '?v=' . panel()->version()); } return $type(array_map(function ($item) use($type) { return 'panel/assets/' . $type . '/' . $item; }, $files)); }
function panel() { return panel::instance(); }
public function __construct($file, $data = array()) { parent::__construct($file, $data); $this->root = panel::instance()->roots()->snippets(); }
public function __construct($file, $data = array()) { $this->root = panel::instance()->roots()->views(); $this->file = $file; $this->data = $data; }