X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/7688c6ba71852cd89123b62b2d57683535e4702a..refs/tags/wordpress-3.7:/wp-includes/vars.php diff --git a/wp-includes/vars.php b/wp-includes/vars.php index e01feeae..045cfdc2 100644 --- a/wp-includes/vars.php +++ b/wp-includes/vars.php @@ -1,10 +1,32 @@ \ No newline at end of file +/** + * Whether the server software is Apache or something else + * @global bool $is_apache + */ +$is_apache = (strpos($_SERVER['SERVER_SOFTWARE'], 'Apache') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'LiteSpeed') !== false); + +/** + * Whether the server software is Nginx or something else + * @global bool $is_nginx + */ +$is_nginx = (strpos($_SERVER['SERVER_SOFTWARE'], 'nginx') !== false); + +/** + * Whether the server software is IIS or something else + * @global bool $is_IIS + */ +$is_IIS = !$is_apache && (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS') !== false || strpos($_SERVER['SERVER_SOFTWARE'], 'ExpressionDevServer') !== false); + +/** + * Whether the server software is IIS 7.X or greater + * @global bool $is_iis7 + */ +$is_iis7 = $is_IIS && intval( substr( $_SERVER['SERVER_SOFTWARE'], strpos( $_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/' ) + 14 ) ) >= 7; + +/** + * Test if the current browser runs on a mobile device (smart phone, tablet, etc.) + * + * @return bool true|false + */ +function wp_is_mobile() { + static $is_mobile; + + if ( isset($is_mobile) ) + return $is_mobile; + + if ( empty($_SERVER['HTTP_USER_AGENT']) ) { + $is_mobile = false; + } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.) + || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false + || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false + || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false + || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false + || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false + || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) { + $is_mobile = true; + } else { + $is_mobile = false; + } + + return $is_mobile; +}