public static function optimize_and_save(array $files) { self::init(); $cache_file = md5(serialize($files)) . '.js'; $cache_file = self::$cache_folder . DS . $cache_file; if (!joosFile::exists($cache_file)) { foreach ($files as $file) { $file = explode('?', $file); $file = $file[0]; $file = str_replace(JPATH_SITE, JPATH_BASE, $file); $file = str_replace('\\', '/', $file); self::$data[] = joosFile::exists($file) ? joosFile::get_content($file) : die($file); } $content = JSMin::minify(implode("\n;", self::$data)); joosFile::create($cache_file, $content); } $cache_file_live = str_replace(JPATH_BASE, JPATH_SITE, $cache_file); $cache_file_live = str_replace('\\', '/', $cache_file_live); return array('live' => $cache_file_live, 'base' => $cache_file); }