Code is Poetry.
WordPress' code just... wasn't. This is now dealt with. Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS. Fixes #41057. Built from https://develop.svn.wordpress.org/trunk@42343 git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -22,40 +22,43 @@ global $pagenow,
|
||||
// On which page are we ?
|
||||
if ( is_admin() ) {
|
||||
// wp-admin pages are checked more carefully
|
||||
if ( is_network_admin() )
|
||||
preg_match('#/wp-admin/network/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches);
|
||||
elseif ( is_user_admin() )
|
||||
preg_match('#/wp-admin/user/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches);
|
||||
else
|
||||
preg_match('#/wp-admin/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches);
|
||||
if ( is_network_admin() ) {
|
||||
preg_match( '#/wp-admin/network/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches );
|
||||
} elseif ( is_user_admin() ) {
|
||||
preg_match( '#/wp-admin/user/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches );
|
||||
} else {
|
||||
preg_match( '#/wp-admin/?(.*?)$#i', $_SERVER['PHP_SELF'], $self_matches );
|
||||
}
|
||||
$pagenow = $self_matches[1];
|
||||
$pagenow = trim($pagenow, '/');
|
||||
$pagenow = preg_replace('#\?.*?$#', '', $pagenow);
|
||||
$pagenow = trim( $pagenow, '/' );
|
||||
$pagenow = preg_replace( '#\?.*?$#', '', $pagenow );
|
||||
if ( '' === $pagenow || 'index' === $pagenow || 'index.php' === $pagenow ) {
|
||||
$pagenow = 'index.php';
|
||||
} else {
|
||||
preg_match('#(.*?)(/|$)#', $pagenow, $self_matches);
|
||||
$pagenow = strtolower($self_matches[1]);
|
||||
if ( '.php' !== substr($pagenow, -4, 4) )
|
||||
preg_match( '#(.*?)(/|$)#', $pagenow, $self_matches );
|
||||
$pagenow = strtolower( $self_matches[1] );
|
||||
if ( '.php' !== substr( $pagenow, -4, 4 ) ) {
|
||||
$pagenow .= '.php'; // for Options +Multiviews: /wp-admin/themes/index.php (themes.php is queried)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ( preg_match('#([^/]+\.php)([?/].*?)?$#i', $_SERVER['PHP_SELF'], $self_matches) )
|
||||
$pagenow = strtolower($self_matches[1]);
|
||||
else
|
||||
if ( preg_match( '#([^/]+\.php)([?/].*?)?$#i', $_SERVER['PHP_SELF'], $self_matches ) ) {
|
||||
$pagenow = strtolower( $self_matches[1] );
|
||||
} else {
|
||||
$pagenow = 'index.php';
|
||||
}
|
||||
}
|
||||
unset($self_matches);
|
||||
unset( $self_matches );
|
||||
|
||||
// Simple browser detection
|
||||
$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 ) {
|
||||
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 ) {
|
||||
} elseif ( stripos( $_SERVER['HTTP_USER_AGENT'], 'chrome' ) !== false ) {
|
||||
if ( stripos( $_SERVER['HTTP_USER_AGENT'], 'chromeframe' ) !== false ) {
|
||||
$is_admin = is_admin();
|
||||
/**
|
||||
@@ -65,29 +68,31 @@ if ( isset($_SERVER['HTTP_USER_AGENT']) ) {
|
||||
*
|
||||
* @param bool $is_admin Whether to use the Google Chrome Frame. Default is the value of is_admin().
|
||||
*/
|
||||
if ( $is_chrome = apply_filters( 'use_google_chrome_frame', $is_admin ) )
|
||||
if ( $is_chrome = apply_filters( 'use_google_chrome_frame', $is_admin ) ) {
|
||||
header( 'X-UA-Compatible: chrome=1' );
|
||||
}
|
||||
$is_winIE = ! $is_chrome;
|
||||
} else {
|
||||
$is_chrome = true;
|
||||
}
|
||||
} elseif ( stripos($_SERVER['HTTP_USER_AGENT'], 'safari') !== false ) {
|
||||
} elseif ( stripos( $_SERVER['HTTP_USER_AGENT'], 'safari' ) !== false ) {
|
||||
$is_safari = true;
|
||||
} elseif ( ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Trident') !== false ) && strpos($_SERVER['HTTP_USER_AGENT'], 'Win') !== false ) {
|
||||
} elseif ( ( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false || strpos( $_SERVER['HTTP_USER_AGENT'], 'Trident' ) !== false ) && strpos( $_SERVER['HTTP_USER_AGENT'], 'Win' ) !== false ) {
|
||||
$is_winIE = true;
|
||||
} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Mac') !== false ) {
|
||||
} elseif ( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE' ) !== false && strpos( $_SERVER['HTTP_USER_AGENT'], 'Mac' ) !== false ) {
|
||||
$is_macIE = true;
|
||||
} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') !== false ) {
|
||||
} elseif ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Gecko' ) !== false ) {
|
||||
$is_gecko = true;
|
||||
} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Opera') !== false ) {
|
||||
} elseif ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Opera' ) !== false ) {
|
||||
$is_opera = true;
|
||||
} elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Nav') !== false && strpos($_SERVER['HTTP_USER_AGENT'], 'Mozilla/4.') !== false ) {
|
||||
} elseif ( strpos( $_SERVER['HTTP_USER_AGENT'], 'Nav' ) !== false && strpos( $_SERVER['HTTP_USER_AGENT'], 'Mozilla/4.' ) !== false ) {
|
||||
$is_NS4 = true;
|
||||
}
|
||||
}
|
||||
|
||||
if ( $is_safari && stripos($_SERVER['HTTP_USER_AGENT'], 'mobile') !== false )
|
||||
if ( $is_safari && stripos( $_SERVER['HTTP_USER_AGENT'], 'mobile' ) !== false ) {
|
||||
$is_iphone = true;
|
||||
}
|
||||
|
||||
$is_IE = ( $is_macIE || $is_winIE );
|
||||
|
||||
@@ -95,24 +100,28 @@ $is_IE = ( $is_macIE || $is_winIE );
|
||||
|
||||
/**
|
||||
* 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);
|
||||
$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);
|
||||
$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);
|
||||
$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;
|
||||
@@ -121,19 +130,19 @@ $is_iis7 = $is_IIS && intval( substr( $_SERVER['SERVER_SOFTWARE'], strpos( $_SER
|
||||
* Test if the current browser runs on a mobile device (smart phone, tablet, etc.)
|
||||
*
|
||||
* @since 3.4.0
|
||||
*
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function wp_is_mobile() {
|
||||
if ( empty($_SERVER['HTTP_USER_AGENT']) ) {
|
||||
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 ) {
|
||||
} 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;
|
||||
|
||||
Reference in New Issue
Block a user