Changeset 383

Show
Ignore:
Timestamp:
06/21/09 12:18:40 (11 years ago)
Author:
kovell
Message:

page cache enables properly.

Location:
dev/common
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • dev/common/includes/class.cache.php

    r370 r383  
    3232    } 
    3333 
    34     function shouldCache() 
     34    function shouldCache($page = '') 
    3535    { 
    3636        // never cache for admins 
     
    3939            return false; 
    4040        } 
    41  
     41                // Don't cache the image files. 
     42                if (strpos($_SERVER['REQUEST_URI'],'thumb') || 
     43                        strpos($_SERVER['REQUEST_URI'],'mapview')) return false; 
    4244        if (config::get('auto_reinforced') && config::get('is_reinforced') && count($_POST) == 0) 
    4345        { 
     
    4648 
    4749        $cacheignore = explode(',', config::get('cache_ignore')); 
    48         if (KB_CACHE == 1 && count($_POST) == 0 && !in_array($page, $cacheignore)) 
     50                if (KB_CACHE == 1 && count($_POST) == 0 && !($page != '' && in_array($page, $cacheignore))) 
    4951        { 
    5052            return true; 
    5153        } 
    52         return false; 
     54                return false; 
    5355    } 
    5456 
    5557    function check($page) 
    5658    { 
    57         if (cache::shouldCache()) 
     59        if (cache::shouldCache($page)) 
    5860        { 
    5961            if (!file_exists(KB_CACHEDIR.'/'.KB_SITE)) 
     
    6163                mkdir(KB_CACHEDIR.'/'.KB_SITE); 
    6264            } 
    63             $cachefile = KB_CACHEDIR.'/'.KB_SITE.'/'.md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']).'.cache'; 
    64  
     65                        // Include session info in the hash to support session-based security. 
     66            $cachefile = KB_CACHEDIR.'/'.KB_SITE.'/'.md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'].implode($_SESSION)).'.cache'; 
     67/* 
    6568            // cache is unlimited in reinforced mode 
    6669            if (config::get('is_reinforced') && file_exists($cachefile)) 
     
    7679                $smarty->assign('message', 'Note: This killboard has entered reinforced operation mode.'); 
    7780            } 
    78  
     81*/ 
    7982            $times = explode(',', config::get('cache_times')); 
    8083            foreach ($times as $string) 
     
    9093            else 
    9194            { 
    92                 $cachetime = 5; 
     95                $cachetime = 1; 
    9396            } 
    9497            $cachetime = $cachetime * 60; 
    9598 
    96             $timestamp = ((@file_exists($cachefile))) ? @filemtime($cachefile) : 0; 
     99                        if (config::get('is_reinforced')) 
     100            { 
     101                global $smarty; 
     102                $smarty->assign('message', 'Note: This killboard has entered reinforced operation mode.'); 
     103                                // cache is extended in reinforced mode 
     104                                $cachetime = $cachetime * 20; 
     105            } 
     106                        if(file_exists($cachefile)) 
     107                        { 
     108                                $timestamp = @filemtime($cachefile); 
     109                                if(time() - $cachetime > $timestamp) unlink($cachefile); 
     110                        } 
     111                        else $timestamp = 0; 
     112            //$timestamp = ((@file_exists($cachefile))) ? @filemtime($cachefile) : 0; 
    97113            if (time() - $cachetime < $timestamp) 
    98114            { 
     
    112128            $cachefile = KB_CACHEDIR.'/'.KB_SITE.'/'.md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']).'.cache'; 
    113129            $fp = @fopen($cachefile, 'w'); 
    114             @fwrite($fp, ob_get_contents()); 
    115             @fwrite($fp, '<!-- Generated from cache -->'); 
     130                        //@fwrite($fp, ob_get_contents()); 
     131 
     132            @fwrite($fp, preg_replace('/profile -->.*<!-- \/profile/','profile -->Cached '.gmdate("d M Y H:i:s").'<!-- /profile',ob_get_contents())); 
     133            //if(!strpos($_SERVER['REQUEST_URI'], 'feed')) @fwrite($fp, '<!-- Generated from cache -->'); 
    116134            @fclose($fp); 
    117135            ob_end_flush(); 
  • dev/common/includes/globals.php

    r376 r383  
    77else 
    88{ 
    9         $svn_rev = '376'; 
     9        $svn_rev = '383'; 
    1010} 
    1111define('SVN_REV', $svn_rev); 
     
    2121// add new corporations here once you've added the logo to img/corps/ 
    2222$corp_npc = array('Guristas', 'Serpentis Corporation', 'Sansha\'s Nation', 'CONCORD', 
    23         'Mordus Legion', 'Blood Raider', 'Archangels', 'Guardian Angels'); 
     23        'Mordus Legion', 'Blood Raider', 'Archangels', 'Guardian Angels', 'True Power'); 
    2424 
    2525function shorten($shorten, $by = 22) 
  • dev/common/index.php

    r370 r383  
    134134    } 
    135135} 
     136// Enable page caching if set. 
     137if(config::get('cache_enabled')) define('KB_CACHE', 1); 
     138else define('KB_CACHE', 0); 
    136139 
    137140// all admin files are now in the admin directory and preload the menu 
     
    193196    $page = 'home'; 
    194197} 
    195  
     198// Serve feeds to feed fetchers. 
     199if(strpos($_SERVER['HTTP_USER_AGENT'], 'EDK Feedfetcher') !== false) $page = 'feed'; 
    196200cache::check($page); 
    197201if ($settingsPage)