function activate()
 {
     Loader::load('module', 'file/CombineAssetsModule');
     $filename = URL::getPathMap(array('file'));
     $filename = $filename['file'];
     $cache = CombineAssetsModule::getCombinedAsset($filename);
     if ($cache && is_string($cache)) {
         list($hash, $extension) = explode('.', $filename);
         $mimetype = $extension == 'js' ? 'javascript' : 'css';
         $lastmod = substr($hash, 32);
         $lastmod = gmdate('D, d M Y H:i:s', intval($lastmod)) . ' GMT';
         $etag = '"' . md5($lastmod) . '"';
         $ifmod = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] == $lastmod : null;
         $iftag = isset($_SERVER['HTTP_IF_NONE_MATCH']) ? $_SERVER['HTTP_IF_NONE_MATCH'] == $etag : null;
         //stop cache-control and pragma from making caching fail
         header("Cache-Control:");
         header("Pragma:");
         // Fancy-pants conditional get
         if (($ifmod || $iftag) && ($ifmod !== false && $iftag !== false)) {
             header("ETag: {$etag}");
             header('HTTP/1.0 304 Not Modified');
             exit;
         }
         header("ETag: {$etag}");
         header("Last-Modified: {$lastmod}");
         header("Content-type: text/{$mimetype}; charset: UTF-8");
         $expires = "Expires: " . gmdate("D, d M Y H:i:s", time() + 31556926) . " GMT";
         header($expires);
         echo $cache;
     } else {
         header('HTTP/1.0 404 Not Found');
         echo "Could not load resource: {$filename}";
         error_log('[Asset Lookup] Failed to locate ' . $filename);
     }
     Config::set('HideDebugger', true);
     exit;
 }
 private static function combine_type($files, $extension, $url)
 {
     $combined = array();
     $files_copy = $files;
     foreach ($files as $index => $file) {
         $filename = null;
         if (!is_array($file)) {
             if (self::fileHasExtension($file, $extension)) {
                 $filename = $file;
             }
         } else {
             if (count($file) == 1 && isset($file['path'])) {
                 $filename = $file['path'];
             }
         }
         if (isset($filename) && substr($filename, 0, 7) != 'http://') {
             $clean = ltrim($file, '/');
             $clean = explode('?', $clean);
             $combined[] = $clean[0];
             unset($files[$index], $filename);
         }
     }
     if (!empty($combined)) {
         Loader::load('module', 'file/CombineAssetsModule');
         $root = Config::get('VirtualRoot');
         foreach ($combined as &$file) {
             $file = "{$root}/{$file}";
         }
         $combiner = new CombineAssetsModule($combined, $extension);
         $combined_file = $combiner->activate();
         if (!$combined_file) {
             $files = $files_copy;
         } else {
             array_unshift($files, $url . $combined_file);
         }
     }
     return $files;
 }