function wp_cache_check_mobile($cache_key) { global $wp_cache_mobile_enabled, $wp_cache_mobile_browsers, $wp_cache_mobile_prefixes; if (!isset($wp_cache_mobile_enabled) || false == $wp_cache_mobile_enabled) { return $cache_key; } if (isset($GLOBALS['wp_super_cache_debug']) && $GLOBALS['wp_super_cache_debug']) { wp_cache_debug("wp_cache_check_mobile: {$cache_key}"); } // allow plugins to short circuit mobile check. Cookie, extra UA checks? switch (do_cacheaction('wp_cache_check_mobile', $cache_key)) { case "normal": if (isset($GLOBALS['wp_super_cache_debug']) && $GLOBALS['wp_super_cache_debug']) { wp_cache_debug("wp_cache_check_mobile: desktop user agent detected by wp_cache_check_mobile action"); } return $cache_key; break; case "mobile": if (isset($GLOBALS['wp_super_cache_debug']) && $GLOBALS['wp_super_cache_debug']) { wp_cache_debug("wp_cache_check_mobile: mobile user agent detected by wp_cache_check_mobile action"); } return $cache_key . "-mobile"; break; } if (!isset($_SERVER["HTTP_USER_AGENT"])) { return $cache_key; } if (do_cacheaction('disable_mobile_check', false)) { if (isset($GLOBALS['wp_super_cache_debug']) && $GLOBALS['wp_super_cache_debug']) { wp_cache_debug("wp_cache_check_mobile: disable_mobile_check disabled mobile check"); } return $cache_key; } $browsers = explode(',', $wp_cache_mobile_browsers); $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']); foreach ($browsers as $browser) { if (strstr($user_agent, trim(strtolower($browser)))) { if (isset($GLOBALS['wp_super_cache_debug']) && $GLOBALS['wp_super_cache_debug']) { wp_cache_debug("mobile browser detected: " . $_SERVER["HTTP_USER_AGENT"], 5); } return $cache_key . '-' . wp_cache_mobile_group($user_agent); } } if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) { return $cache_key . '-' . $_SERVER['HTTP_X_WAP_PROFILE']; } if (isset($_SERVER['HTTP_PROFILE'])) { return $cache_key . '-' . $_SERVER['HTTP_PROFILE']; } if (isset($wp_cache_mobile_prefixes)) { $browsers = explode(',', $wp_cache_mobile_prefixes); foreach ($browsers as $browser_prefix) { if (substr($user_agent, 0, 4) == $browser_prefix) { if (isset($GLOBALS['wp_super_cache_debug']) && $GLOBALS['wp_super_cache_debug']) { wp_cache_debug("mobile browser (prefix) detected: " . $_SERVER["HTTP_USER_AGENT"], 5); } return $cache_key . '-' . $browser_prefix; } } } $accept = isset($_SERVER['HTTP_ACCEPT']) ? strtolower($_SERVER['HTTP_ACCEPT']) : ''; if (strpos($accept, 'wap') !== false) { return $cache_key . '-' . 'wap'; } if (isset($_SERVER['ALL_HTTP']) && strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') !== false) { return $cache_key . '-' . 'operamini'; } return $cache_key; }
function wp_cache_check_mobile($cache_key) { global $wp_cache_mobile_enabled, $wp_cache_mobile_browsers, $wp_cache_mobile_prefixes; if (!isset($wp_cache_mobile_enabled) || false == $wp_cache_mobile_enabled) { return $cache_key; } if (!isset($_SERVER["HTTP_USER_AGENT"])) { return $cache_key; } $browsers = explode(',', $wp_cache_mobile_browsers); $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']); foreach ($browsers as $browser) { if (strstr($user_agent, trim(strtolower($browser)))) { if (isset($GLOBALS['wp_super_cache_debug']) && $GLOBALS['wp_super_cache_debug']) { wp_cache_debug("mobile browser detected: " . $_SERVER["HTTP_USER_AGENT"], 5); } return $cache_key . '-' . wp_cache_mobile_group($user_agent); } } if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) { return $cache_key . '-' . $_SERVER['HTTP_X_WAP_PROFILE']; } if (isset($_SERVER['HTTP_PROFILE'])) { return $cache_key . '-' . $_SERVER['HTTP_PROFILE']; } if (isset($wp_cache_mobile_prefixes)) { $browsers = explode(',', $wp_cache_mobile_prefixes); foreach ($browsers as $browser_prefix) { if (substr($user_agent, 0, 4) == $browser_prefix) { if (isset($GLOBALS['wp_super_cache_debug']) && $GLOBALS['wp_super_cache_debug']) { wp_cache_debug("mobile browser (prefix) detected: " . $_SERVER["HTTP_USER_AGENT"], 5); } return $cache_key . '-' . $browser_prefix; } } } $accept = strtolower($_SERVER['HTTP_ACCEPT']); if (strpos($accept, 'wap') !== false) { return $cache_key . '-' . 'wap'; } if (isset($_SERVER['ALL_HTTP']) && strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') !== false) { return $cache_key . '-' . 'operamini'; } return $cache_key; }