source: spip-zone/_plugins_/fastcache/fastcache.php @ 32445

Last change on this file since 32445 was 32445, checked in by fil@…, 11 years ago

gerer toutes les invalidations : par changement d'une meta, ou par var_mode=calcul

File size: 1.2 KB
Line 
1<?php
2
3#
4# un script pour servir quelques pages le plus vite possible
5#
6# implique que ces pages n'aient pas besoin d'executer du php a chaque hit
7#
8# (c) 2007-2009 fil@rezo.net
9#
10
11# debut du code
12define('_DIR_RESTREINT_ABS', 'ecrire/');
13
14if (empty($_POST)
15AND !isset($_COOKIE[_FC_COOKIE_PREFIX.'_admin'])
16AND !isset($_COOKIE[_FC_COOKIE_PREFIX.'_session'])
17AND !isset($_SERVER['PHP_AUTH_USER'])
18)
19        define('_FC_KEY', $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
20
21function fc_testie() {
22        return
23                (
24                strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'msie')
25                AND preg_match('/MSIE /i', $_SERVER['HTTP_USER_AGENT'])
26                )
27                OR isset($_GET['fctestie']);
28}
29
30if (defined('_FC_KEY'))
31        require_once _FC_XCACHE;
32
33if (defined('_FC_KEY')
34AND $p = cache_get(_FC_KEY)
35AND $p['time'] == @filemtime(_FC_META)
36) {
37        eval($p['head']);
38        $b = (!is_null($p['ie']) AND fc_testie()) ? 'ie' : 'body';
39        header('Content-length: '.strlen($p[$b]));
40        header('Connection: close');
41        echo $p[$b];
42
43        // faire les stats ?
44        if (_FC_STATS_SPIP) {
45                include_once _DIR_PLUGIN_FASTCACHE.'public/stats.php';
46                public_stats();
47        }
48}
49
50else {
51        include_once _DIR_RESTREINT_ABS.'inc_version.php';
52        include _DIR_RESTREINT_ABS.'public.php';
53}
54
55?>
Note: See TracBrowser for help on using the repository browser.