WordPress.org

Plugin Directory

Changeset 419604


Ignore:
Timestamp:
08/05/11 06:09:24 (3 years ago)
Author:
fredericktownes
Message:
 
Location:
w3-total-cache/trunk
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • w3-total-cache/trunk/inc/define.php

    r415717 r419604  
    236236 */ 
    237237function w3_is_apache() { 
    238     return (isset($_SERVER['SERVER_SOFTWARE']) && stristr($_SERVER['SERVER_SOFTWARE'], 'apache') !== false); 
     238    return (isset($_SERVER['SERVER_SOFTWARE']) && stristr($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false); 
     239} 
     240 
     241/** 
     242 * Check whether server is LiteSpeed 
     243 * 
     244 * @return bool 
     245 */ 
     246function w3_is_litespeed() { 
     247    return (isset($_SERVER['SERVER_SOFTWARE']) && stristr($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false); 
    239248} 
    240249 
     
    814823 */ 
    815824function w3_can_check_rules() { 
    816     return (w3_is_apache() || w3_is_nginx()); 
     825    return (w3_is_apache() || w3_is_litespeed() || w3_is_nginx()); 
    817826} 
    818827 
  • w3-total-cache/trunk/inc/functions/rule.php

    r410604 r419604  
    77 */ 
    88function w3_is_permalink_rules() { 
    9     if (w3_is_apache() && !w3_is_network()) { 
     9    if ((w3_is_apache() || w3_is_litespeed()) && !w3_is_network()) { 
    1010        $path = w3_get_home_root() . '/.htaccess'; 
    1111 
     
    4141    switch (true) { 
    4242        case w3_is_apache(): 
     43        case w3_is_litespeed(): 
    4344            return w3_get_home_root() . '/.htaccess'; 
    4445 
     
    5859    switch (true) { 
    5960        case w3_is_apache(): 
     61        case w3_is_litespeed(): 
    6062            return W3TC_CACHE_FILE_PGCACHE_DIR . '/.htaccess'; 
    6163 
     
    7577    switch (true) { 
    7678        case w3_is_apache(): 
     79        case w3_is_litespeed(): 
    7780            return w3_get_home_root() . '/.htaccess'; 
    7881 
     
    9295    switch (true) { 
    9396        case w3_is_apache(): 
     97        case w3_is_litespeed(): 
    9498            return w3_get_home_root() . '/.htaccess'; 
    9599 
     
    109113    switch (true) { 
    110114        case w3_is_apache(): 
     115        case w3_is_litespeed(): 
    111116            return W3TC_CACHE_FILE_MINIFY_DIR . '/.htaccess'; 
    112117 
     
    126131    switch (true) { 
    127132        case w3_is_apache(): 
     133        case w3_is_litespeed(): 
    128134            return W3TC_CACHE_FILE_MINIFY_DIR . '/.htaccess'; 
    129135 
     
    143149    switch (true) { 
    144150        case w3_is_apache(): 
     151        case w3_is_litespeed(): 
    145152            return '.htaccess'; 
    146153 
     
    160167function w3_can_modify_rules($path) { 
    161168    if (w3_is_network()) { 
    162         if (w3_is_apache()) { 
     169        if (w3_is_apache() || w3_is_litespeed()) { 
    163170            switch ($path) { 
    164171                case w3_get_pgcache_rules_cache_path(): 
  • w3-total-cache/trunk/inc/options/general.php

    r415717 r419604  
    437437                <th>Debug Mode:</th> 
    438438                <td> 
    439                     <input type="hidden" name="pgcache.debug" value="0" /> 
    440                     <input type="hidden" name="minify.debug" value="0" /> 
    441                     <input type="hidden" name="dbcache.debug" value="0" /> 
    442                     <input type="hidden" name="objectcache.debug" value="0" /> 
    443                     <input type="hidden" name="cdn.debug" value="0" /> 
    444                     <input type="hidden" name="varnish.debug" value="0" /> 
    445                     <label><input type="checkbox" name="pgcache.debug" value="pgcache"<?php checked($this->_config->get_boolean('pgcache.debug'), true); ?> /> Page Cache</label><br /> 
    446                     <label><input type="checkbox" name="minify.debug" value="minify"<?php checked($this->_config->get_boolean('minify.debug'), true); ?> /> Minify</label><br /> 
    447                     <label><input type="checkbox" name="dbcache.debug" value="dbcache"<?php checked($this->_config->get_boolean('dbcache.debug'), true); ?> /> Database Cache</label><br /> 
    448                     <label><input type="checkbox" name="objectcache.debug" value="objectcache"<?php checked($this->_config->get_boolean('objectcache.debug'), true); ?> /> Object Cache</label><br /> 
    449                     <label><input type="checkbox" name="cdn.debug" value="cdn"<?php checked($this->_config->get_boolean('cdn.debug'), true); ?> /> Content Delivery Network</label><br /> 
    450                     <label><input type="checkbox" name="varnish.debug" value="varnish"<?php checked($this->_config->get_boolean('varnish.debug'), true); ?> /> Varnish</label><br /> 
     439                    <input type="hidden" name="pgcache.debug" value="<?php echo ((!$this->_config->get_boolean('pgcache.enabled') && $this->_config->get_boolean('pgcache.debug')) ? "1" : "0") ?>" /> 
     440                    <input type="hidden" name="minify.debug" value="<?php echo ((!$this->_config->get_boolean('minify.enabled') && $this->_config->get_boolean('minify.debug')) ? "1" : "0") ?>" /> 
     441                    <input type="hidden" name="dbcache.debug" value="<?php echo ((!$this->_config->get_boolean('dbcache.enabled') && $this->_config->get_boolean('dbcache.debug')) ? "1" : "0") ?>" /> 
     442                    <input type="hidden" name="objectcache.debug" value="<?php echo ((!$this->_config->get_boolean('objectcache.enabled') && $this->_config->get_boolean('objectcache.debug')) ? "1" : "0") ?>" /> 
     443                    <input type="hidden" name="cdn.debug" value="<?php echo ((!$this->_config->get_boolean('cdn.enabled') && $this->_config->get_boolean('cdn.debug')) ? "1" : "0") ?>" /> 
     444                    <input type="hidden" name="varnish.debug" value="<?php echo ((!$this->_config->get_boolean('varnish.enabled') && $this->_config->get_boolean('varnish.debug')) ? "1" : "0") ?>" /> 
     445                    <label><input type="checkbox" name="pgcache.debug" value="pgcache"<?php checked($this->_config->get_boolean('pgcache.debug') && $this->_config->get_boolean('pgcache.enabled'), true); ?> <?php if (!$this->_config->get_boolean('pgcache.enabled')): ?> disabled="disabled"<?php endif; ?>/> Page Cache</label><br /> 
     446                    <label><input type="checkbox" name="minify.debug" value="minify"<?php checked($this->_config->get_boolean('minify.debug') && $this->_config->get_boolean('minify.enabled'), true); ?> <?php if (!$this->_config->get_boolean('minify.enabled')): ?> disabled="disabled"<?php endif; ?>/> Minify</label><br /> 
     447                    <label><input type="checkbox" name="dbcache.debug" value="dbcache"<?php checked($this->_config->get_boolean('dbcache.debug') && $this->_config->get_boolean('dbcache.enabled'), true); ?> <?php if (!$this->_config->get_boolean('dbcache.enabled')): ?> disabled="disabled"<?php endif; ?>/> Database Cache</label><br /> 
     448                    <label><input type="checkbox" name="objectcache.debug" value="objectcache"<?php checked($this->_config->get_boolean('objectcache.debug') && $this->_config->get_boolean('objectcache.enabled'), true); ?> <?php if (!$this->_config->get_boolean('objectcache.enabled')): ?> disabled="disabled"<?php endif; ?>/> Object Cache</label><br /> 
     449                    <label><input type="checkbox" name="cdn.debug" value="cdn"<?php checked($this->_config->get_boolean('cdn.debug') && $this->_config->get_boolean('cdn.enabled'), true); ?> <?php if (!$this->_config->get_boolean('cdn.enabled')): ?> disabled="disabled"<?php endif; ?>/> Content Delivery Network</label><br /> 
     450                    <label><input type="checkbox" name="varnish.debug" value="varnish"<?php checked($this->_config->get_boolean('varnish.debug') && $this->_config->get_boolean('varnish.enabled'), true); ?> <?php if (!$this->_config->get_boolean('varnish.enabled')): ?> disabled="disabled"<?php endif; ?>/> Varnish</label><br /> 
    451451                    <span class="description">If selected, detailed caching information will be appear at the end of each page in a <acronym title="Hypertext Markup Language">HTML</acronym> comment. View a page's source code to review.</span> 
    452452                </td> 
  • w3-total-cache/trunk/inc/options/objectcache.php

    r409551 r419604  
    1818<form action="admin.php?page=<?php echo $this->_page; ?>" method="post"> 
    1919    <div class="metabox-holder"> 
    20         <?php echo $this->postbox_header('General'); ?> 
    21         <table class="form-table"> 
    22             <tr> 
    23                 <th> 
    24                     <input type="hidden" name="objectcache.reject.admin" value="0" /> 
    25                     <label><input type="checkbox" name="objectcache.reject.admin" value="1"<?php checked($this->_config->get_boolean('objectcache.reject.admin'), true); ?> /> Don't cache WordPress Admin</label> 
    26                     <br /><span class="description">Leave this option checked to maintain default WordPress Admin behavior.</span> 
    27                 </th> 
    28             </tr> 
    29         </table> 
    30  
    31         <p class="submit"> 
    32             <?php echo $this->nonce_field('w3tc'); ?> 
    33             <input type="submit" name="w3tc_save_options" class="w3tc-button-save button-primary" value="Save all settings" /> 
    34         </p> 
    35         <?php echo $this->postbox_footer(); ?> 
    36  
    3720        <?php echo $this->postbox_header('Advanced'); ?> 
    3821        <table class="form-table"> 
     
    6346            </tr> 
    6447            <tr> 
    65                 <th><label for="objectcache_reject_uri">Never cache the following pages:</label></th> 
    66                 <td> 
    67                     <textarea id="objectcache_reject_uri" name="objectcache.reject.uri" cols="40" rows="5"><?php echo htmlspecialchars(implode("\r\n", $this->_config->get_array('objectcache.reject.uri'))); ?></textarea> 
    68                     <br /><span class="description">Always ignore the specified pages / directories.</span> 
    69                 </td> 
    70             </tr> 
    71             <tr> 
    7248                <th><label for="objectcache_groups_global">Global groups:</label></th> 
    7349                <td> 
  • w3-total-cache/trunk/lib/W3/Config.php

    r410604 r419604  
    4747        'objectcache.memcached.servers' => 'array', 
    4848        'objectcache.memcached.persistant' => 'boolean', 
    49         'objectcache.reject.admin' => 'boolean', 
    50         'objectcache.reject.uri' => 'array', 
    5149        'objectcache.groups.global' => 'array', 
    5250        'objectcache.groups.nonpersistent' => 'array', 
     
    362360        ), 
    363361        'objectcache.memcached.persistant' => true, 
    364         'objectcache.reject.admin' => true, 
    365         'objectcache.reject.uri' => array(), 
    366362        'objectcache.groups.global' => array( 
    367363            'users', 
     
    645641            'high' => array( 
    646642                'theme' => '', 
    647                 'enabled' => true, 
     643                'enabled' => false, 
    648644                'redirect' => '', 
    649645                'agents' => array( 
     
    689685            'low' => array( 
    690686                'theme' => '', 
    691                 'enabled' => true, 
     687                'enabled' => false, 
    692688                'redirect' => '', 
    693689                'agents' => array( 
     
    802798            'search_engines' => array( 
    803799                'theme' => '', 
    804                 'enabled' => true, 
     800                'enabled' => false, 
    805801                'redirect' => '', 
    806802                'referrers' => array( 
  • w3-total-cache/trunk/lib/W3/Db.php

    r416323 r419604  
    180180 
    181181    /** 
     182    * Insert a row into a table. 
     183    * 
     184    * @param string $table 
     185    * @param array $data 
     186    * @param array|string $format 
     187    * @return int|false 
     188    */ 
     189    function insert($table, $data, $format = null) { 
     190        return $this->_nocache_instance()->insert($table, $data, $format); 
     191    } 
     192 
     193    /** 
     194    * Replace a row into a table. 
     195    * 
     196    * @param string $table 
     197    * @param array $data 
     198    * @param array|string $format 
     199    * @return int|false 
     200    */ 
     201    function replace($table, $data, $format = null) { 
     202        return $this->_nocache_instance()->replace($table, $data, $format); 
     203    } 
     204 
     205    /** 
     206    * Update a row in the table 
     207    * 
     208    * @param string $table 
     209    * @param array $data 
     210    * @param array $where 
     211    * @param array|string $format 
     212    * @param array|string $format_where 
     213    * @return int|false 
     214    */ 
     215    function update($table, $data, $where, $format = null, $where_format = null) { 
     216        return $this->_nocache_instance()->update($table, $data, $where, $format, $where_format); 
     217    } 
     218 
     219    /** 
     220     * Executes query without caching, completely ignored by cache 
     221     * 
     222     * @param string $query 
     223     * @return integer 
     224     */ 
     225    function query_nocache($query) { 
     226        $return_val = parent::query($query); 
     227        return $return_val; 
     228    } 
     229 
     230    /** 
    182231     * Flushes cache 
    183232     * 
     
    204253 
    205254        return $instances[0]; 
     255    } 
     256 
     257    function _nocache_instance() 
     258    { 
     259        if (!isset($this->_nocache_instance)) { 
     260            $this->_nocache_instance = new W3_Db_Nocache($this); 
     261        } 
     262 
     263        return $this->_nocache_instance; 
    206264    } 
    207265 
     
    617675    } 
    618676} 
     677 
     678/** 
     679 * Class W3_Db 
     680 */ 
     681class W3_Db_Nocache extends W3_Db_Driver { 
     682    function __construct($object_doing_query) { 
     683        $this->_object_doing_query = $object_doing_query; 
     684    } 
     685 
     686    /** 
     687     * PHP4 constructor 
     688     * 
     689     * @param string $dbhost 
     690     */ 
     691    function W3_Db_Nocache($object_doing_query) { 
     692        $this->__construct($object_doing_query); 
     693    } 
     694 
     695    /** 
     696     * Executes query 
     697     * 
     698     * @param string $query 
     699     * @return integer 
     700     */ 
     701    function query($query) { 
     702        return $this->_object_doing_query->query_nocache($query); 
     703    } 
     704} 
  • w3-total-cache/trunk/lib/W3/ObjectCache.php

    r418070 r419604  
    116116     */ 
    117117    function __construct() { 
     118        global $_wp_using_ext_object_cache; 
     119 
    118120        $this->_config = & w3_instance('W3_Config'); 
    119121        $this->_lifetime = $this->_config->get_integer('objectcache.lifetime'); 
    120122        $this->_debug = $this->_config->get_boolean('objectcache.debug'); 
     123        $this->_caching = $_wp_using_ext_object_cache = $this->_can_cache(); 
    121124 
    122125        $this->global_groups = $this->_config->get_array('objectcache.groups.global'); 
    123126        $this->nonpersistent_groups = $this->_config->get_array('objectcache.groups.nonpersistent'); 
    124  
    125         $this->_caching = $this->_can_cache(); 
    126  
    127         $GLOBALS['_wp_using_ext_object_cache'] = $this->_caching; 
    128127 
    129128        if ($this->_can_ob()) { 
     
    155154 
    156155        $key = $this->_get_cache_key($id, $group); 
    157  
    158         $caching = true; 
    159         $internal = true; 
    160         $reason = ''; 
    161  
    162         if (isset($this->cache[$key])) { 
    163             if (is_object($this->cache[$key])) { 
    164                 $value = wp_clone($this->cache[$key]); 
    165             } else { 
    166                 $value = $this->cache[$key]; 
    167             } 
     156        $internal = isset($this->cache[$key]); 
     157 
     158        if ($internal) { 
     159            $value = $this->cache[$key]; 
     160        } elseif ($this->_caching && !in_array($group, $this->nonpersistent_groups)) { 
     161            $cache = & $this->_get_cache(); 
     162            $value = $cache->get($key); 
    168163        } else { 
    169             $caching = $this->_can_cache_read($id, $group, $reason); 
    170             $internal = false; 
    171  
    172             if ($caching) { 
    173                 $cache = & $this->_get_cache(); 
    174                 $value = $cache->get($key); 
    175             } else { 
    176                 $value = false; 
    177             } 
    178  
    179             if (is_object($value)) { 
    180                 $this->cache[$key] = wp_clone($value); 
    181             } else { 
    182                 $this->cache[$key] = $value; 
    183             } 
     164            $value = false; 
    184165        } 
    185166 
     
    188169        } 
    189170 
     171        if (is_object($value)) { 
     172            $value = wp_clone($value); 
     173        } 
     174 
     175        $this->cache[$key] = $value; 
    190176        $this->cache_total++; 
    191177 
     
    212198                'id' => $id, 
    213199                'group' => $group, 
    214                 'caching' => $caching, 
    215                 'reason' => $reason, 
    216200                'cached' => $cached, 
    217201                'internal' => $internal, 
     
    240224        } 
    241225 
    242         if (isset($this->cache[$key]) && $this->cache[$key] === $data) { 
    243             return true; 
    244         } 
    245  
    246226        $this->cache[$key] = $data; 
    247227 
    248         $reason = ''; 
    249  
    250         if ($this->_can_cache_write($id, $group, $reason)) { 
     228        if ($this->_caching && !in_array($group, $this->nonpersistent_groups)) { 
    251229            $cache = & $this->_get_cache(); 
    252230 
     
    266244     */ 
    267245    function delete($id, $group = 'default', $force = false) { 
    268         if (!$force && false === $this->get($id, $group)) { 
     246        if (!$force && $this->get($id, $group) === false) { 
    269247            return false; 
    270248        } 
     
    274252        unset($this->cache[$key]); 
    275253 
    276         $reason = ''; 
    277  
    278         if ($this->_can_cache_write($id, $group, $reason)) { 
     254        if ($this->_caching && !in_array($group, $this->nonpersistent_groups)) { 
    279255            $cache = & $this->_get_cache(); 
    280256 
     
    325301     */ 
    326302    function reset() { 
    327         return $this->flush(); 
     303        global $_wp_using_ext_object_cache; 
     304 
     305        $_wp_using_ext_object_cache = $this->_caching; 
     306 
     307        return true; 
    328308    } 
    329309 
     
    336316        $this->cache = array(); 
    337317 
    338         $cache = & $this->_get_cache(); 
    339  
    340         return $cache->flush(); 
     318        if ($this->_caching) { 
     319            $cache = & $this->_get_cache(); 
     320 
     321            return $cache->flush(); 
     322        } 
     323 
     324        return true; 
    341325    } 
    342326 
     
    486470        } 
    487471 
    488         /** 
    489          * Check request URI 
    490          */ 
    491         if (!$this->_check_request_uri()) { 
    492             $this->_cache_reject_reason = 'Request URI is rejected'; 
    493  
    494             return false; 
    495         } 
    496  
    497472        return true; 
    498473    } 
    499474 
    500475    /** 
    501      * Check if persistent cache reading is allowed 
    502      * 
    503      * @param string $id 
    504      * @param string $group 
    505      * @param string $cache_reject_reason 
    506      * @return boolean 
    507      */ 
    508     function _can_cache_read($id, $group, &$cache_reject_reason) { 
    509         /** 
    510          * Skip if writing is disabled 
    511          */ 
    512         if (!$this->_can_cache_write($id, $group, $cache_reject_reason)) { 
    513             return false; 
    514         } 
    515  
    516         /** 
    517          * Skip if admin 
    518          */ 
    519         if ($this->_config->get_boolean('objectcache.reject.admin') && defined('WP_ADMIN')) { 
    520             $this->_cache_reject_reason = 'wp-admin'; 
    521  
    522             return false; 
    523         } 
    524  
    525         return true; 
    526     } 
    527  
    528     /** 
    529      * Check if persistent cache writing is allowed 
    530      * 
    531      * @param $id 
    532      * @param $group 
    533      * @param $cache_reject_reason 
    534      * @return bool 
    535      */ 
    536     function _can_cache_write($id, $group, &$cache_reject_reason) { 
    537         /** 
    538          * Skip if disabled 
    539          */ 
    540         if (!$this->_caching) { 
    541             $cache_reject_reason = $this->_cache_reject_reason; 
    542  
    543             return false; 
    544         } 
    545  
    546         /** 
    547          * Check for DONOTCACHEOBJECT constant 
    548          */ 
    549         if (defined('DONOTCACHEOBJECT') && DONOTCACHEOBJECT) { 
    550             $cache_reject_reason = 'DONOTCACHEOBJECT constant is defined'; 
    551  
    552             return false; 
    553         } 
    554  
    555         /** 
    556          * Skip if key in non-persistent group 
    557          */ 
    558         if (!$group) { 
    559             $group = 'default'; 
    560         } 
    561  
    562         if (in_array($group, $this->nonpersistent_groups)) { 
    563             $cache_reject_reason = 'Non-persistent group'; 
    564  
    565             return false; 
    566         } 
    567  
    568         return true; 
    569     } 
    570  
    571     /** 
    572      * Check request URI 
    573      * 
    574      * @return boolean 
    575      */ 
    576     function _check_request_uri() { 
    577         $auto_reject_uri = array( 
    578             'wp-login', 
    579             'wp-register' 
    580         ); 
    581  
    582         foreach ($auto_reject_uri as $uri) { 
    583             if (strstr($_SERVER['REQUEST_URI'], $uri) !== false) { 
    584                 return false; 
    585             } 
    586         } 
    587  
    588         $reject_uri = $this->_config->get_array('objectcache.reject.uri'); 
    589         $reject_uri = array_map('w3_parse_path', $reject_uri); 
    590  
    591         foreach ($reject_uri as $expr) { 
    592             $expr = trim($expr); 
    593             if ($expr != '' && preg_match('~' . $expr . '~i', $_SERVER['REQUEST_URI'])) { 
    594                 return false; 
    595             } 
    596         } 
    597  
    598         return true; 
    599     } 
    600  
    601     /** 
    602476     * Check if we can start OB 
    603477     * 
     
    620494 
    621495        /** 
    622          * Skip if admin 
    623          */ 
    624         if (defined('WP_ADMIN')) { 
    625             return false; 
    626         } 
    627  
    628         /** 
    629          * Skip if doint AJAX 
     496         * Skip if doing AJAX 
    630497         */ 
    631498        if (defined('DOING_AJAX')) { 
     
    679546        $debug_info = "<!-- W3 Total Cache: Object Cache debug info:\r\n"; 
    680547        $debug_info .= sprintf("%s%s\r\n", str_pad('Engine: ', 20), w3_get_engine_name($this->_config->get_string('objectcache.engine'))); 
     548        $debug_info .= sprintf("%s%s\r\n", str_pad('Caching: ', 20), ($this->_caching ? 'enabled' : 'disabled')); 
     549 
     550        if (!$this->_caching) { 
     551            $debug_info .= sprintf("%s%s\r\n", str_pad('Reject reason: ', 20), $this->_cache_reject_reason); 
     552        } 
     553 
    681554        $debug_info .= sprintf("%s%d\r\n", str_pad('Total calls: ', 20), $this->cache_total); 
    682555        $debug_info .= sprintf("%s%d\r\n", str_pad('Cache hits: ', 20), $this->cache_hits); 
     
    685558 
    686559        $debug_info .= "W3TC Object Cache info:\r\n"; 
    687         $debug_info .= sprintf("%s | %s | %s | %s | %s | %s | %s\r\n", str_pad('#', 5, ' ', STR_PAD_LEFT), str_pad('Caching (Reject reason)', 30, ' ', STR_PAD_BOTH), str_pad('Status', 15, ' ', STR_PAD_BOTH), str_pad('Source', 15, ' ', STR_PAD_BOTH), str_pad('Data size (b)', 13, ' ', STR_PAD_LEFT), str_pad('Query time (s)', 14, ' ', STR_PAD_LEFT), 'ID:Group'); 
     560        $debug_info .= sprintf("%s | %s | %s | %s | %s | %s\r\n", 
     561                               str_pad('#', 5, ' ', STR_PAD_LEFT), 
     562                               str_pad('Status', 15, ' ', STR_PAD_BOTH), 
     563                               str_pad('Source', 15, ' ', STR_PAD_BOTH), 
     564                               str_pad('Data size (b)', 13, ' ', STR_PAD_LEFT), 
     565                               str_pad('Query time (s)', 14, ' ', STR_PAD_LEFT), 
     566                               'ID:Group'); 
    688567 
    689568        foreach ($this->debug_info as $index => $debug) { 
    690             $debug_info .= sprintf("%s | %s | %s | %s | %s | %s | %s\r\n", str_pad($index + 1, 5, ' ', STR_PAD_LEFT), str_pad(($debug['caching'] ? 'enabled' : sprintf('disabled (%s)', $debug['reason'])), 30, ' ', STR_PAD_BOTH), str_pad(($debug['cached'] ? 'cached' : 'not cached'), 15, ' ', STR_PAD_BOTH), str_pad(($debug['internal'] ? 'internal' : 'persistent'), 15, ' ', STR_PAD_BOTH), str_pad($debug['data_size'], 13, ' ', STR_PAD_LEFT), str_pad(round($debug['time'], 4), 14, ' ', STR_PAD_LEFT), sprintf('%s:%s', $debug['id'], $debug['group'])); 
     569            $debug_info .= sprintf("%s | %s | %s | %s | %s | %s\r\n", 
     570                                   str_pad($index + 1, 5, ' ', STR_PAD_LEFT), 
     571                                   str_pad(($debug['cached'] ? 'cached' : 'not cached'), 15, ' ', STR_PAD_BOTH), 
     572                                   str_pad(($debug['internal'] ? 'internal' : 'persistent'), 15, ' ', STR_PAD_BOTH), 
     573                                   str_pad($debug['data_size'], 13, ' ', STR_PAD_LEFT), 
     574                                   str_pad(round($debug['time'], 4), 14, ' ', STR_PAD_LEFT), 
     575                                   sprintf('%s:%s', $debug['id'], $debug['group'])); 
    691576        } 
    692577 
  • w3-total-cache/trunk/lib/W3/PgCache.php

    r418070 r419604  
    298298                    $is_404 = false; 
    299299                    $headers = array(); 
    300                     if (isset($cached_headers['Content-Type'])) { 
     300                    /* 
     301                     * If feeds are cached - we can store cache files as .xml 
     302                     */ 
     303                    if ($this->_config->get_boolean('pgcache.cache.feed') && 
     304                            isset($cached_headers['Content-Type'])) { 
    301305                        $content_type = $cached_headers['Content-Type']; 
    302306                    } 
  • w3-total-cache/trunk/lib/W3/Plugin/BrowserCacheAdmin.php

    r410604 r419604  
    8585        switch (true) { 
    8686            case w3_is_apache(): 
     87            case w3_is_litespeed(): 
    8788                return $this->generate_rules_cache_apache($cdn); 
    8889 
     
    432433        switch (true) { 
    433434            case w3_is_apache(): 
     435            case w3_is_litespeed(): 
    434436                return $this->generate_rules_no404wp_apache(); 
    435437 
  • w3-total-cache/trunk/lib/W3/Plugin/MinifyAdmin.php

    r415717 r419604  
    159159        switch (true) { 
    160160            case w3_is_apache(): 
     161            case w3_is_litespeed(): 
    161162                return $this->generate_rules_core_apache(); 
    162163 
     
    258259        switch (true) { 
    259260            case w3_is_apache(): 
     261            case w3_is_litespeed(): 
    260262                return $this->generate_rules_cache_apache(); 
    261263 
  • w3-total-cache/trunk/lib/W3/Plugin/PgCacheAdmin.php

    r418070 r419604  
    390390        switch (true) { 
    391391            case w3_is_apache(): 
     392            case w3_is_litespeed(): 
    392393                return $this->generate_rules_core_apache(); 
    393394 
     
    407408        switch (true) { 
    408409            case w3_is_apache(): 
     410            case w3_is_litespeed(): 
    409411                return $this->generate_rules_cache_apache(); 
    410412 
     
    611613        } 
    612614 
     615        $use_cache_rules = ''; 
    613616        /** 
    614617         * Don't accept POSTs 
    615618         */ 
    616         $rules .= "    RewriteCond %{REQUEST_METHOD} !=POST\n"; 
     619        $use_cache_rules .= "    RewriteCond %{REQUEST_METHOD} !=POST\n"; 
    617620 
    618621        /** 
    619622         * Query string should be empty 
    620623         */ 
    621         $rules .= "    RewriteCond %{QUERY_STRING} =\"\"\n"; 
     624        $use_cache_rules .= "    RewriteCond %{QUERY_STRING} =\"\"\n"; 
    622625 
    623626        /** 
     
    625628         */ 
    626629        if (substr($permalink_structure, -1) == '/') { 
    627             $rules .= "    RewriteCond %{REQUEST_URI} \\/$"; 
     630            $use_cache_rules .= "    RewriteCond %{REQUEST_URI} \\/$"; 
    628631 
    629632            if (count($accept_uris)) { 
    630                 $rules .= " [OR]\n"; 
    631                 $rules .= "    RewriteCond %{REQUEST_URI} (" . implode('|', $accept_uris) . ") [NC]\n"; 
     633                $use_cache_rules .= " [OR]\n"; 
     634                $use_cache_rules .= "    RewriteCond %{REQUEST_URI} (" . implode('|', $accept_uris) . ") [NC]\n"; 
    632635            } else { 
    633                 $rules .= "\n"; 
     636                $use_cache_rules .= "\n"; 
    634637            } 
    635638        } 
     
    638641         * Don't accept rejected URIs 
    639642         */ 
    640         $rules .= "    RewriteCond %{REQUEST_URI} !(" . implode('|', $reject_uris) . ")"; 
     643        $use_cache_rules .= "    RewriteCond %{REQUEST_URI} !(" . implode('|', $reject_uris) . ")"; 
    641644 
    642645        /** 
     
    644647         */ 
    645648        if (count($accept_files)) { 
    646             $rules .= " [NC,OR]\n    RewriteCond %{REQUEST_URI} (" . implode('|', array_map('w3_preg_quote', $accept_files)) . ") [NC]\n"; 
     649            $use_cache_rules .= " [NC,OR]\n    RewriteCond %{REQUEST_URI} (" . implode('|', array_map('w3_preg_quote', $accept_files)) . ") [NC]\n"; 
    647650        } else { 
    648             $rules .= " [NC]\n"; 
     651            $use_cache_rules .= " [NC]\n"; 
    649652        } 
    650653 
     
    652655         * Check for rejected cookies 
    653656         */ 
    654         $rules .= "    RewriteCond %{HTTP_COOKIE} !(" . implode('|', array_map('w3_preg_quote', $reject_cookies)) . ") [NC]\n"; 
     657        $use_cache_rules .= "    RewriteCond %{HTTP_COOKIE} !(" . implode('|', array_map('w3_preg_quote', $reject_cookies)) . ") [NC]\n"; 
    655658 
    656659        /** 
     
    658661         */ 
    659662        if (count($reject_user_agents)) { 
    660             $rules .= "    RewriteCond %{HTTP_USER_AGENT} !(" . implode('|', array_map('w3_preg_quote', $reject_user_agents)) . ") [NC]\n"; 
    661         } 
    662  
    663         /** 
    664          * Note that rewrite can happen 
    665          */ 
    666         $rules .= "    RewriteRule .* - [E=W3TC_PGCACHE:1]\n"; 
     663            $use_cache_rules .= "    RewriteCond %{HTTP_USER_AGENT} !(" . implode('|', array_map('w3_preg_quote', $reject_user_agents)) . ") [NC]\n"; 
     664        } 
    667665 
    668666        /** 
     
    672670        $switch = " -" . ($this->_config->get_boolean('pgcache.file.nfs') ? 'F' : 'f'); 
    673671 
    674         foreach (array('.html', '.xml') as $ext) { 
    675             $rules .= "    RewriteCond %{W3TC_PGCACHE} =\"1\"\n"; 
     672        $extensions = array('.html'); 
     673 
     674        if ($this->_config->get_boolean('pgcache.cache.feed')) { 
     675            $extensions[] = '.xml'; 
     676        } 
     677 
     678        foreach ($extensions as $ext) { 
     679            $rules .= $use_cache_rules; 
    676680            $rules .= "    RewriteCond \"%{DOCUMENT_ROOT}" . $uri_pre . $ext . 
    677681                "%{ENV:W3TC_ENC}\"" . $switch . "\n"; 
     
    965969        $rules .= "    set \$w3tc_ext .html;\n"; 
    966970        $rules .= "}\n"; 
    967         $rules .= "if (-f \"\$document_root" . $cache_path . "/\$request_uri/_index\$w3tc_ua\$w3tc_ref\$w3tc_ssl.xml\$w3tc_enc\") {\n"; 
    968         $rules .= "    set \$w3tc_ext .xml;\n"; 
    969         $rules .= "}\n"; 
     971 
     972        if ($this->_config->get_boolean('pgcache.cache.feed')) { 
     973            $rules .= "if (-f \"\$document_root" . $cache_path . "/\$request_uri/_index\$w3tc_ua\$w3tc_ref\$w3tc_ssl.xml\$w3tc_enc\") {\n"; 
     974            $rules .= "    set \$w3tc_ext .xml;\n"; 
     975            $rules .= "}\n"; 
     976        } 
     977 
    970978        $rules .= "if (\$w3tc_ext = \"\") {\n"; 
    971979        $rules .= "  set \$w3tc_rewrite 0;\n"; 
  • w3-total-cache/trunk/lib/W3/Plugin/TotalCacheAdmin.php

    r416323 r419604  
    41364136        if ($this->_config->get_boolean('objectcache.enabled')) { 
    41374137            $objectcache_dependencies = array( 
    4138                 'objectcache.reject.admin', 
    4139                 'objectcache.reject.uri', 
    41404138                'objectcache.groups.global', 
    41414139                'objectcache.groups.nonpersistent' 
  • w3-total-cache/trunk/wp-content/object-cache.php

    r418070 r419604  
    2929    function wp_cache_init() { 
    3030        $GLOBALS['wp_object_cache'] = & w3_instance('W3_ObjectCache'); 
    31     } 
    32  
    33     /** 
    34      * Reset cache 
    35      * 
    36      * @return boolean 
    37      */ 
    38     function wp_cache_reset() { 
    39         global $wp_object_cache; 
    40  
    41         return $wp_object_cache->reset(); 
    4231    } 
    4332 
     
    123112 
    124113    /** 
     114     * Reset cache 
     115     * 
     116     * @return boolean 
     117     */ 
     118    function wp_cache_reset() { 
     119        global $wp_object_cache; 
     120 
     121        return $wp_object_cache->reset(); 
     122    } 
     123 
     124    /** 
    125125     * Flush cache 
    126126     * 
Note: See TracChangeset for help on using the changeset viewer.