1<?php 2 3use dokuwiki\Cache\Cache; 4 5if(!defined('DOKU_INC')) define('DOKU_INC', dirname(__FILE__) . '/../../'); 6if(!defined('NOSESSION')) define('NOSESSION', true); // we do not use a session or authentication here (better caching) 7if(!defined('NL')) define('NL', "\n"); 8if(!defined('DOKU_DISABLE_GZIP_OUTPUT')) define('DOKU_DISABLE_GZIP_OUTPUT', 1); // we gzip ourself here 9require_once(DOKU_INC . 'inc/init.php'); 10 11// MAIN 12header('Content-Type: application/javascript; charset=utf-8'); 13jquery_out(); 14 15/** 16 * Delivers the jQuery JavaScript 17 * 18 * We do absolutely nothing fancy here but concatenating the different files 19 * and handling conditional and gzipped requests 20 * 21 * uses cache or fills it 22 */ 23function jquery_out() { 24 $cache = new Cache('jquery', '.js'); 25 $files = array( 26 DOKU_INC . 'lib/scripts/jquery/jquery.min.js', 27 DOKU_INC . 'lib/scripts/jquery/jquery-ui.min.js', 28 ); 29 $cache_files = $files; 30 $cache_files[] = __FILE__; 31 32 // check cache age & handle conditional request 33 // This may exit if a cache can be used 34 $cache_ok = $cache->useCache(array('files' => $cache_files)); 35 http_cached($cache->cache, $cache_ok); 36 37 $js = ''; 38 foreach($files as $file) { 39 $js .= file_get_contents($file)."\n"; 40 } 41 stripsourcemaps($js); 42 43 http_cached_finish($cache->cache, $js); 44} 45