WordPress.org

Make WordPress Core

Ticket #17323: 17323.8.diff

File 17323.8.diff, 8.5 KB (added by aaroncampbell, 7 years ago)

Fixes the ssl image src and also passes $response to the 'browse-happy-notice' filter

  • wp-admin/css/colors-classic.dev.css

     
    641641        border-color: #D1E5EE;
    642642}
    643643
     644#dashboard_browser_nag.postbox.browser-insecure {
     645        background-color: #AC1B1B;
     646        border-color: #AC1B1B;
     647}
     648
     649#dashboard_browser_nag.postbox {
     650        background-color: #e29808;
     651        border-color: #EDC048;
     652}
     653
     654#dashboard_browser_nag.postbox {
     655        -moz-box-shadow: none;
     656        -webkit-box-shadow: none;
     657        box-shadow:none;
     658}
     659
     660#dashboard_browser_nag.browser-insecure.postbox h3 {
     661        border-bottom-color: #CD5A5A;
     662}
     663
     664#dashboard_browser_nag.postbox h3 {
     665        border-bottom-color: #F6E2AC;
     666}
     667
     668#dashboard_browser_nag.postbox h3 {
     669        background:none;
     670        text-shadow: none;
     671        -moz-box-shadow: none;
     672        -webkit-box-shadow: none;
     673        box-shadow: none;
     674}
     675.ui-sortable #dashboard_browser_nag.postbox,
     676.ui-sortable #dashboard_browser_nag.postbox h3 {
     677        color: #fff;
     678}
     679
     680#dashboard_browser_nag a {
     681        color: #fff;
     682}
     683
     684#dashboard_browser_nag.browser-insecure a.browse-happy-link,
     685#dashboard_browser_nag.browser-insecure a.update-browser-link {
     686        text-shadow: #871B15 0 1px 0;
     687}
     688
     689#dashboard_browser_nag a.browse-happy-link,
     690#dashboard_browser_nag a.update-browser-link {
     691        text-shadow: #D29A04 0 1px 0;
     692}
     693
    644694.widget,
    645695.postbox {
    646696        background-color: #fff;
  • wp-admin/css/colors-fresh.dev.css

     
    675675        background-color: #f4f4f4;
    676676}
    677677
     678#dashboard_browser_nag.postbox.browser-insecure {
     679        background-color: #AC1B1B;
     680        border-color: #AC1B1B;
     681}
     682
     683#dashboard_browser_nag.postbox {
     684        background-color: #e29808;
     685        border-color: #EDC048;
     686}
     687
     688#dashboard_browser_nag.postbox {
     689        -moz-box-shadow: none;
     690        -webkit-box-shadow: none;
     691        box-shadow:none;
     692}
     693
     694#dashboard_browser_nag.postbox.browser-insecure h3 {
     695        border-bottom-color: #CD5A5A;
     696}
     697
     698#dashboard_browser_nag.postbox h3 {
     699        border-bottom-color: #F6E2AC;
     700        text-shadow: none;
     701        -moz-box-shadow: none;
     702        -webkit-box-shadow: none;
     703        box-shadow: none;
     704        background-image: none;
     705}
     706
     707.ui-sortable #dashboard_browser_nag.postbox,
     708.ui-sortable #dashboard_browser_nag.postbox h3 {
     709        color: #fff;
     710}
     711
     712#dashboard_browser_nag a {
     713        color: #fff;
     714}
     715
     716#dashboard_browser_nag.browser-insecure a.browse-happy-link,
     717#dashboard_browser_nag.browser-insecure a.update-browser-link {
     718        text-shadow: #871B15 0 1px 0;
     719}
     720
     721#dashboard_browser_nag a.browse-happy-link,
     722#dashboard_browser_nag a.update-browser-link {
     723        text-shadow: #D29A04 0 1px 0;
     724}
     725
    678726.ui-sortable .postbox h3 {
    679727        color: #464646;
    680728}
     
    18671915.appearance_page_custom-header #upload-form p label {
    18681916        color: #777;
    18691917}
    1870 /* end custom header page */
    1871  No newline at end of file
     1918/* end custom header page */
  • wp-admin/css/dashboard.dev.css

     
    7373        text-decoration: none;
    7474}
    7575
     76#dashboard-widgets a.update-browser-link {
     77        font-size:1.2em;
     78        font-weight:bold;
     79}
     80
     81#dashboard-widgets #dashboard_browser_nag a,
    7682#dashboard-widgets h3 a {
    7783        text-decoration: underline;
    7884}
    7985
     86#dashboard-widgets p.browser-update-nag.has-browser-icon {
     87        padding-right:125px;
     88}
     89
     90#dashboard-widgets .browser-icon {
     91        margin-top: -35px;
     92}
     93
    8094#dashboard-widgets h3 .postbox-title-action {
    8195        position: absolute;
    8296        right: 30px;
  • wp-admin/includes/dashboard.php

     
    2525
    2626        /* Register Widgets and Controls */
    2727
     28        $response = wp_check_browser_version();
     29
     30        if ( $response['upgrade'] ) {
     31                add_filter( 'postbox_classes_dashboard_dashboard_browser_nag', 'dashboard_browser_nag_class' );
     32                if ( $response['insecure'] )
     33                        wp_add_dashboard_widget( 'dashboard_browser_nag', __( 'You are using an insecure browser!' ), 'wp_dashboard_browser_nag' );
     34                else
     35                        wp_add_dashboard_widget( 'dashboard_browser_nag', __( 'Your browser is out of date!' ), 'wp_dashboard_browser_nag' );
     36        }
     37
    2838        // Right Now
    2939        if ( is_blog_admin() && current_user_can('edit_posts') )
    3040                wp_add_dashboard_widget( 'dashboard_right_now', __( 'Right Now' ), 'wp_dashboard_right_now' );
     
    11471157}
    11481158add_action( 'activity_box_end', 'wp_dashboard_quota' );
    11491159
     1160// Display Browser Nag Meta Box
     1161function wp_dashboard_browser_nag() {
     1162        $notice = '';
     1163        $response = wp_check_browser_version();
     1164
     1165        if ( $response['insecure'] ) {
     1166                $msg = sprintf( __( 'It looks like you\'re using an insecure version of <a href="%1$s">%2$s</a>. Using an outdated browser makes your computer unsafe.  For the best WordPress experience, please update your browser.' ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ) );
     1167        } else {
     1168                $msg = sprintf( __( 'It looks like you\'re using an old version of <a href="%1$s">%2$s</a>. Using an outdated browser makes your computer unsafe.  For the best WordPress experience, please update your browser.' ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ) );
     1169        }
     1170
     1171        $browser_nag_class = '';
     1172        if ( !empty( $response['img_src'] ) ) {
     1173                $img_src = ( is_ssl() && ! empty( $response['img_src_ssl'] ) )? $response['img_src_ssl'] : $response['img_src'];
     1174
     1175                $notice .= '<div class="alignright browser-icon"><a href="' . esc_attr($response['update_url']) . '"><img src="' . esc_attr( $img_src ) . '" alt="" /></a></div>';
     1176                $browser_nag_class = ' has-browser-icon';
     1177        }
     1178        $notice .= "<p class='browser-update-nag{$browser_nag_class}'>{$msg}</p>";
     1179        $notice .= sprintf( __( '<p><a href="%1$s" class="update-browser-link">Update %2$s</a> or learn how to <a href="%3$s" class="browse-happy-link">browse happy</a></p>' ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ), 'http://browsehappy.com/' );
     1180        $notice .= '<p><a href="" class="dismiss">' . __( 'Dismiss' ) . '</a></p>';
     1181        $notice .= '<div class="clear"></div>';
     1182
     1183        echo apply_filters( 'browse-happy-notice', $notice, $response );
     1184}
     1185
     1186function dashboard_browser_nag_class( $classes ) {
     1187        $response = wp_check_browser_version();
     1188
     1189        if ( $response['insecure'] )
     1190                $classes[] = 'browser-insecure';
     1191
     1192        return $classes;
     1193}
     1194
    11501195/**
     1196 * Check if the user needs a browser update
     1197 *
     1198 * @since 3.2
     1199 */
     1200function wp_check_browser_version() {
     1201        $key = md5( $_SERVER['HTTP_USER_AGENT'] );
     1202
     1203        if ( false === ($response = get_site_transient('browsehappy_' . $key) ) ) {
     1204                global $wp_version;
     1205
     1206                $options = array(
     1207                        'body'                  => array( 'useragent' => $_SERVER['HTTP_USER_AGENT'] ),
     1208                        'user-agent'    => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
     1209                );
     1210
     1211                $raw_response = wp_remote_post( 'http://api.wordpress.org/core/browse-happy/1.0/', $options );
     1212
     1213                if ( is_wp_error( $raw_response ) || 200 != $raw_response['response']['code'] )
     1214                        return;
     1215
     1216                /**
     1217                 * Response should be an array with:
     1218                 *  'name' - string- A user friendly browser name
     1219                 *  'version' - string - The most recent version of the browser
     1220                 *  'current_version' - string - The version of the browser the user is using
     1221                 *  'upgrade' - boolean - Whether the browser needs an upgrade
     1222                 *  'insecure' - boolean - Whether the browser is deemed insecure
     1223                 *  'upgrade_url' - string - The url to visit to upgrade
     1224                 *  'img_src' - string - An image representing the browser
     1225                 */
     1226                $response = unserialize( $raw_response['body'] );
     1227
     1228                if ( ! $response )
     1229                        return;
     1230
     1231                set_site_transient( 'browsehappy_' . $key, $response, 604800 ); // cache for 1 week
     1232        }
     1233
     1234        return $response;
     1235}
     1236
     1237/**
    11511238 * Empty function usable by plugins to output empty dashboard widget (to be populated later by JS).
    11521239 */
    11531240function wp_dashboard_empty() {}
  • wp-admin/js/postbox.dev.js

     
    1818                        $('.postbox h3 a').click( function(e) {
    1919                                e.stopPropagation();
    2020                        } );
     21                        $('.postbox a.dismiss').click( function(e) {
     22                                var hide_id = $(this).parents('.postbox').attr('id') + '-hide';
     23                                $( '#' + hide_id ).attr('checked', false).triggerHandler('click');
     24                                return false;
     25                        } );
    2126                        $('.hide-postbox-tog').click( function() {
    2227                                var box = $(this).val();
    2328