diff -r 490d5cc509ed -r cf61fcea0001 wp/wp-includes/vars.php --- a/wp/wp-includes/vars.php Tue Jun 09 11:14:17 2015 +0000 +++ b/wp/wp-includes/vars.php Mon Oct 14 17:39:30 2019 +0200 @@ -16,7 +16,7 @@ */ global $pagenow, - $is_lynx, $is_gecko, $is_winIE, $is_macIE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone, $is_IE, + $is_lynx, $is_gecko, $is_winIE, $is_macIE, $is_opera, $is_NS4, $is_safari, $is_chrome, $is_iphone, $is_IE, $is_edge, $is_apache, $is_IIS, $is_iis7, $is_nginx; // On which page are we ? @@ -48,16 +48,18 @@ unset($self_matches); // Simple browser detection -$is_lynx = $is_gecko = $is_winIE = $is_macIE = $is_opera = $is_NS4 = $is_safari = $is_chrome = $is_iphone = false; +$is_lynx = $is_gecko = $is_winIE = $is_macIE = $is_opera = $is_NS4 = $is_safari = $is_chrome = $is_iphone = $is_edge = false; if ( isset($_SERVER['HTTP_USER_AGENT']) ) { if ( strpos($_SERVER['HTTP_USER_AGENT'], 'Lynx') !== false ) { $is_lynx = true; + } elseif ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Edge' ) !== false ) { + $is_edge = true; } elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'chrome') !== false ) { if ( stripos( $_SERVER['HTTP_USER_AGENT'], 'chromeframe' ) !== false ) { $is_admin = is_admin(); /** - * Filter whether Google Chrome Frame should be used, if available. + * Filters whether Google Chrome Frame should be used, if available. * * @since 3.2.0 * @@ -118,14 +120,11 @@ /** * Test if the current browser runs on a mobile device (smart phone, tablet, etc.) * - * @return bool true|false + * @since 3.4.0 + * + * @return bool */ 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.) @@ -140,5 +139,12 @@ $is_mobile = false; } - return $is_mobile; + /** + * Filters whether the request should be treated as coming from a mobile device or not. + * + * @since 4.9.0 + * + * @param bool $is_mobile Whether the request is from a mobile device or not. + */ + return apply_filters( 'wp_is_mobile', $is_mobile ); }