[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/lib/exe/ -> jquery.php (source)

   1  <?php
   2  
   3  use dokuwiki\Cache\Cache;
   4  
   5  if (!defined('DOKU_INC')) define('DOKU_INC', __DIR__ . '/../../');
   6  if (!defined('NOSESSION')) define('NOSESSION', true); // we do not use a session or authentication here (better caching)
   7  if (!defined('NL')) define('NL', "\n");
   8  if (!defined('DOKU_DISABLE_GZIP_OUTPUT')) define('DOKU_DISABLE_GZIP_OUTPUT', 1); // we gzip ourself here
   9  require_once (DOKU_INC . 'inc/init.php');
  10  
  11  // MAIN
  12  header('Content-Type: application/javascript; charset=utf-8');
  13  jquery_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   */
  23  function jquery_out()
  24  {
  25      $cache = new Cache('jquery', '.js');
  26      $files = [
  27          DOKU_INC . 'lib/scripts/jquery/jquery.min.js',
  28          DOKU_INC . 'lib/scripts/jquery/jquery-ui.min.js'
  29      ];
  30      $cache_files = $files;
  31      $cache_files[] = __FILE__;
  32  
  33      // check cache age & handle conditional request
  34      // This may exit if a cache can be used
  35      $cache_ok = $cache->useCache(['files' => $cache_files]);
  36      http_cached($cache->cache, $cache_ok);
  37  
  38      $js = '';
  39      foreach ($files as $file) {
  40          $js .= file_get_contents($file) . "\n";
  41      }
  42      stripsourcemaps($js);
  43  
  44      http_cached_finish($cache->cache, $js);
  45  }