WordPress.org

Make WordPress Core

Changeset 20417


Ignore:
Timestamp:
04/10/12 01:19:30 (2 years ago)
Author:
azaozz
Message:

Introduce wp_is_mobile() and use it instead of $is_iphone global, see #20014

Location:
trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/admin-header.php

    r19871 r20417  
    1212 
    1313// In case admin-header.php is included in a function. 
    14 global $title, $hook_suffix, $current_screen, $wp_locale, $pagenow, $wp_version, $is_iphone, 
     14global $title, $hook_suffix, $current_screen, $wp_locale, $pagenow, $wp_version, 
    1515    $current_site, $update_title, $total_update_count, $parent_file; 
    1616 
     
    8888$admin_body_class .= ' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) ); 
    8989 
    90 if ( $is_iphone ) { ?> 
    91 <style type="text/css">.row-actions{visibility:visible;}</style> 
    92 <?php } ?> 
     90if ( wp_is_mobile() ) 
     91    $admin_body_class .= ' mobile'; 
     92 
     93?> 
    9394</head> 
    9495<body class="wp-admin no-js <?php echo apply_filters( 'admin_body_class', '' ) . " $admin_body_class"; ?>"> 
  • trunk/wp-admin/css/wp-admin.dev.css

    r20414 r20417  
    53245324} 
    53255325 
     5326.mobile .row-actions { 
     5327    visibility: visible; 
     5328} 
     5329 
    53265330tr:hover .row-actions, 
    53275331div.comment-item:hover .row-actions { 
  • trunk/wp-admin/includes/media.php

    r20382 r20417  
    6363 */ 
    6464function the_media_upload_tabs() { 
    65     global $redir_tab, $is_iphone; 
     65    global $redir_tab; 
    6666    $tabs = media_upload_tabs(); 
    6767 
    68     if ( $is_iphone ) { 
     68    if ( wp_is_mobile() ) { 
    6969        unset($tabs['type']); 
    7070        $default = 'type_url'; 
     
    529529 */ 
    530530function wp_media_upload_handler() { 
    531     global $is_iphone; 
    532  
    533531    $errors = array(); 
    534532    $id = 0; 
     
    601599    } 
    602600 
    603     if ( $is_iphone ) 
     601    if ( wp_is_mobile() ) 
    604602        return wp_iframe( 'media_upload_type_url_form', 'image', $errors, $id ); 
    605603    else 
     
    13071305 */ 
    13081306function media_upload_form( $errors = null ) { 
    1309     global $type, $tab, $pagenow, $is_IE, $is_opera, $is_iphone; 
    1310  
    1311     if ( $is_iphone ) 
     1307    global $type, $tab, $pagenow, $is_IE, $is_opera; 
     1308 
     1309    if ( wp_is_mobile() ) 
    13121310        return; 
    13131311 
     
    14411439 */ 
    14421440function media_upload_type_form($type = 'file', $errors = null, $id = null) { 
    1443     global $is_iphone; 
    1444  
    1445     if ( $is_iphone ) 
     1441    if ( wp_is_mobile() ) 
    14461442        return; 
    14471443 
  • trunk/wp-admin/includes/misc.php

    r20023 r20417  
    584584 
    585585function _ipad_meta() { 
    586     if ( strpos($_SERVER['HTTP_USER_AGENT'], 'iPad') !== false ) { ?> 
    587         <meta name="viewport" id="ipad-viewportmeta" content="width=device-width, initial-scale=1"> 
    588     <?php 
     586    if ( wp_is_mobile() ) { 
     587        ?> 
     588        <meta name="viewport" id="viewport-meta" content="width=device-width, initial-scale=1"> 
     589        <?php 
    589590    } 
    590591} 
  • trunk/wp-admin/js/postbox.dev.js

    r20293 r20417  
    1 var postboxes, is_iPad = navigator.userAgent.match(/iPad/); 
     1var postboxes; 
    22 
    33(function($) { 
  • trunk/wp-admin/media-new.php

    r19712 r20417  
    77 */ 
    88 
    9 global $is_iphone; 
    10  
    11 if ( $is_iphone ) // cannot upload files from iPhone/iPad 
     9if ( wp_is_mobile() ) // cannot upload files from mobile devices 
    1210    return; 
    1311 
  • trunk/wp-admin/menu.php

    r19712 r20417  
    5757    $submenu['upload.php'][5] = array( __('Library'), 'upload_files', 'upload.php'); 
    5858    /* translators: add new file */ 
    59     if ( !$is_iphone ) 
     59    if ( ! wp_is_mobile() ) 
    6060        $submenu['upload.php'][10] = array( _x('Add New', 'file'), 'upload_files', 'media-new.php'); 
    6161 
  • trunk/wp-includes/class-wp-admin-bar.php

    r19712 r20417  
    322322 
    323323    final protected function _render( $root ) { 
    324         global $is_IE, $is_iphone; 
     324        global $is_IE; 
    325325 
    326326        // Add browser classes. 
     
    334334            elseif ( strpos( $_SERVER['HTTP_USER_AGENT'], 'MSIE 9' ) ) 
    335335                $class .= ' ie9'; 
    336         } elseif ( $is_iphone ) { 
     336        } elseif ( wp_is_mobile() ) { 
    337337            $class .= ' mobile'; 
    338338        } 
  • trunk/wp-includes/general-template.php

    r20326 r20417  
    17471747 */ 
    17481748function user_can_richedit() { 
    1749     global $wp_rich_edit, $is_gecko, $is_opera, $is_safari, $is_chrome, $is_iphone, $is_IE; 
     1749    global $wp_rich_edit, $is_gecko, $is_opera, $is_safari, $is_chrome, $is_IE; 
    17501750 
    17511751    if ( !isset($wp_rich_edit) ) { 
     
    17541754        if ( get_user_option( 'rich_editing' ) == 'true' || ! is_user_logged_in() ) { // default to 'true' for logged out users 
    17551755            if ( $is_safari ) { 
    1756                 if ( $is_iphone || false !== strpos( $_SERVER['HTTP_USER_AGENT'], '; Silk/' ) ) 
     1756                if ( wp_is_mobile() || false !== strpos( $_SERVER['HTTP_USER_AGENT'], '; Silk/' ) ) 
    17571757                    $wp_rich_edit = ( preg_match( '!AppleWebKit/(\d+)!', $_SERVER['HTTP_USER_AGENT'], $match ) && intval( $match[1] ) >= 534 ); 
    17581758                else 
  • trunk/wp-includes/vars.php

    r19712 r20417  
    9898 */ 
    9999$is_iis7 = $is_IIS && (strpos($_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS/7.') !== false); 
     100 
     101/** 
     102 * Test if the current browser runs on a mobile device (smart phone, tablet, etc.) 
     103 * 
     104 * @return bool true|false 
     105 */ 
     106function wp_is_mobile() { 
     107    static $is_mobile; 
     108 
     109    if ( isset($is_mobile) ) 
     110        return $is_mobile; 
     111 
     112    if ( empty($_SERVER['HTTP_USER_AGENT']) ) { 
     113        $is_mobile = false; 
     114    } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.) 
     115        || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false 
     116        || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false 
     117        || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false ) { 
     118            $is_mobile = true; 
     119    } else { 
     120        $is_mobile = false; 
     121    } 
     122 
     123    return $is_mobile; 
     124} 
  • trunk/wp-login.php

    r19925 r20417  
    4040 */ 
    4141function login_header($title = 'Log In', $message = '', $wp_error = '') { 
    42     global $error, $is_iphone, $interim_login, $current_site; 
     42    global $error, $interim_login, $current_site; 
    4343 
    4444    // Don't index any of these forms 
     
    5555        add_action( 'login_head', 'wp_shake_js', 12 ); 
    5656 
    57     ?> 
    58 <!DOCTYPE html> 
    59 <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> 
    60 <head> 
     57    ?><!DOCTYPE html> 
     58    <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>> 
     59    <head> 
    6160    <meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" /> 
    6261    <title><?php bloginfo('name'); ?> &rsaquo; <?php echo $title; ?></title> 
    63 <?php 
     62    <?php 
     63 
    6464    wp_admin_css( 'wp-admin', true ); 
    6565    wp_admin_css( 'colors-fresh', true ); 
    6666 
    67     if ( $is_iphone ) { ?> 
    68     <meta name="viewport" content="width=320; initial-scale=0.9; maximum-scale=1.0; user-scalable=0;" /> 
    69     <style type="text/css" media="screen"> 
    70     .login form, .login .message, #login_error { margin-left: 0px; } 
    71     .login #nav, .login #backtoblog { margin-left: 8px; } 
    72     .login h1 a { width: auto; } 
    73     #login { padding: 20px 0; } 
    74     </style> 
    75 <?php 
     67    if ( wp_is_mobile() ) { 
     68        ?> 
     69        <meta name="viewport" content="width=320; initial-scale=0.9; maximum-scale=1.0; user-scalable=0;" /> 
     70        <style type="text/css" media="screen"> 
     71        .login form, .login .message, #login_error { margin-left: 0px; } 
     72        .login #nav, .login #backtoblog { margin-left: 8px; } 
     73        .login h1 a { width: auto; } 
     74        #login { padding: 20px 0; } 
     75        </style> 
     76        <?php 
    7677    } 
    7778 
     
    8990    $login_header_url   = apply_filters( 'login_headerurl',   $login_header_url   ); 
    9091    $login_header_title = apply_filters( 'login_headertitle', $login_header_title ); 
    91 ?> 
    92 </head> 
    93 <body class="login"> 
     92 
     93    ?> 
     94    </head> 
     95    <body class="login"> 
    9496    <div id="login"> 
    9597        <h1><a href="<?php echo esc_url( $login_header_url ); ?>" title="<?php echo esc_attr( $login_header_title ); ?>"><?php bloginfo( 'name' ); ?></a></h1> 
    96 <?php 
     98    <?php 
     99 
    97100    unset( $login_header_url, $login_header_title ); 
    98101 
    99102    $message = apply_filters('login_message', $message); 
    100     if ( !empty( $message ) ) echo $message . "\n"; 
     103    if ( !empty( $message ) ) 
     104        echo $message . "\n"; 
    101105 
    102106    // In case a plugin uses $error rather than the $wp_errors object 
     
    135139    </div> 
    136140 
    137 <?php if ( !empty($input_id) ) : ?> 
    138 <script type="text/javascript"> 
    139 try{document.getElementById('<?php echo $input_id; ?>').focus();}catch(e){} 
    140 if(typeof wpOnload=='function')wpOnload(); 
    141 </script> 
    142 <?php endif; ?> 
    143  
    144 <?php do_action('login_footer'); ?> 
    145 <div class="clear"></div> 
    146 </body> 
    147 </html> 
    148 <?php 
     141    <?php if ( !empty($input_id) ) : ?> 
     142    <script type="text/javascript"> 
     143    try{document.getElementById('<?php echo $input_id; ?>').focus();}catch(e){} 
     144    if(typeof wpOnload=='function')wpOnload(); 
     145    </script> 
     146    <?php endif; ?> 
     147 
     148    <?php do_action('login_footer'); ?> 
     149    <div class="clear"></div> 
     150    </body> 
     151    </html> 
     152    <?php 
    149153} 
    150154 
    151155function wp_shake_js() { 
    152     global $is_iphone; 
    153     if ( $is_iphone ) 
     156    if ( wp_is_mobile() ) 
    154157        return; 
    155158?> 
Note: See TracChangeset for help on using the changeset viewer.