36 lines
876 B
PHP
36 lines
876 B
PHP
<?php
|
|
|
|
class Crunchbutton_Controller_AssetBundle extends Cana_Controller {
|
|
public function assets($dir) {
|
|
$directory = c::config()->dirs->www.'assets/'.$dir.'/';
|
|
$iterator = new DirectoryIterator($directory);
|
|
|
|
foreach ($iterator as $fileinfo) {
|
|
if ($fileinfo->isFile()) {
|
|
$files[] = $directory.$fileinfo->getFilename();
|
|
}
|
|
}
|
|
return $files;
|
|
}
|
|
public function __construct() {
|
|
define('MINIFY_MIN_DIR', c::config()->dirs->library . 'Minify/old/lib');
|
|
set_include_path(MINIFY_MIN_DIR . PATH_SEPARATOR . get_include_path());
|
|
require 'Minify.php';
|
|
}
|
|
|
|
public function serve($files) {
|
|
foreach ($files as $key => $file) {
|
|
if (!file_exists($file)) {
|
|
|
|
unset($files[$key]);
|
|
}
|
|
}
|
|
|
|
Minify::setCache(c::config()->dirs->cache.'/min/');
|
|
return Minify::serve('Files', [
|
|
'files' => $files,
|
|
'maxAge' => 86400,
|
|
'quiet' => true
|
|
]);
|
|
}
|
|
} |