$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
+ * Whether the server software is IIS 7.X or greater
* @global bool $is_iis7
*/
-$is_iis7 = $is_IIS && (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7.') !== false);
+$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;
+}