From 9bfe5caae3e6f0ce37fe7bf63ee683e02f2e9f06 Mon Sep 17 00:00:00 2001 From: JasWSInc Date: Sat, 7 Dec 2013 20:13:46 -0900 Subject: [PATCH] Adding support for `PATH_CURRENT_SITE` and `$GLOBALS['base']`. --- quick-cache/includes/advanced-cache.tpl.php | 11 +++++++++-- quick-cache/quick-cache.inc.php | 11 +++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/quick-cache/includes/advanced-cache.tpl.php b/quick-cache/includes/advanced-cache.tpl.php index 1465c21..b660a5c 100644 --- a/quick-cache/includes/advanced-cache.tpl.php +++ b/quick-cache/includes/advanced-cache.tpl.php @@ -118,9 +118,16 @@ public function maybe_start_output_buffering() $host_dir_token = '/'; // Assume NOT multisite; or running it's own domain. if(is_multisite() && (!defined('SUBDOMAIN_INSTALL') || !SUBDOMAIN_INSTALL)) - { // Multisite w/ sub-directories; need sub-directory. We MUST validate against blog paths too. + { // Multisite w/ sub-directories; need a valid sub-directory token. - list($host_dir_token) = explode('/', trim($_SERVER['REQUEST_URI'], '/')); + $base = '/'; // Initial default value. + if(defined('PATH_CURRENT_SITE')) $base = PATH_CURRENT_SITE; + else if(!empty($GLOBALS['base'])) $base = $GLOBALS['base']; + + $uri_minus_base = // Supports `/sub-dir/child-blog-sub-dir/` also. + preg_replace('/^'.preg_quote($base, '/').'/', '', $_SERVER['REQUEST_URI']); + + list($host_dir_token) = explode('/', trim($uri_minus_base, '/')); $host_dir_token = (isset($host_dir_token[0])) ? '/'.$host_dir_token.'/' : '/'; if($host_dir_token !== '/' // Perhaps NOT the main site? diff --git a/quick-cache/quick-cache.inc.php b/quick-cache/quick-cache.inc.php index 9e69ca8..57dd945 100644 --- a/quick-cache/quick-cache.inc.php +++ b/quick-cache/quick-cache.inc.php @@ -341,9 +341,16 @@ public function clear_cache($manually = FALSE) $host_dir_token = '/'; // Assume NOT multisite; or running it's own domain. if($is_multisite && (!defined('SUBDOMAIN_INSTALL') || !SUBDOMAIN_INSTALL)) - { // Multisite w/ sub-directories; need sub-directory. We MUST validate against blog paths too. + { // Multisite w/ sub-directories; need a valid sub-directory token. - list($host_dir_token) = explode('/', trim($_SERVER['REQUEST_URI'], '/')); + $base = '/'; // Initial default value. + if(defined('PATH_CURRENT_SITE')) $base = PATH_CURRENT_SITE; + else if(!empty($GLOBALS['base'])) $base = $GLOBALS['base']; + + $uri_minus_base = // Supports `/sub-dir/child-blog-sub-dir/` also. + preg_replace('/^'.preg_quote($base, '/').'/', '', $_SERVER['REQUEST_URI']); + + list($host_dir_token) = explode('/', trim($uri_minus_base, '/')); $host_dir_token = (isset($host_dir_token[0])) ? '/'.$host_dir_token.'/' : '/'; if($host_dir_token !== '/' // Perhaps NOT the main site?