Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Display Browser Nag Meta Box
- function wp_dashboard_browser_nag() {
- $notice = '';
- $response = wp_check_browser_version();
- if ( $response ) {
- if ( $response['insecure'] ) {
- $msg = sprintf( __( "It looks like you're using an insecure version of <a href='%s'>%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'] ) );
- } else {
- $msg = sprintf( __( "It looks like you're using an old version of <a href='%s'>%s</a>. For the best WordPress experience, please update your browser." ), esc_attr( $response['update_url'] ), esc_html( $response['name'] ) );
- }
- $browser_nag_class = '';
- if ( !empty( $response['img_src'] ) ) {
- $img_src = ( is_ssl() && ! empty( $response['img_src_ssl'] ) )? $response['img_src_ssl'] : $response['img_src'];
- $notice .= '<div class="alignright browser-icon"><a href="' . esc_attr($response['update_url']) . '"><img src="' . esc_attr( $img_src ) . '" alt="" /></a></div>';
- $browser_nag_class = ' has-browser-icon';
- }
- $notice .= "<p class='browser-update-nag{$browser_nag_class}'>{$msg}</p>";
- $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/' );
- $notice .= '<p class="hide-if-no-js"><a href="" class="dismiss">' . __( 'Dismiss' ) . '</a></p>';
- $notice .= '<div class="clear"></div>';
- }
- echo apply_filters( 'browse-happy-notice', $notice, $response );
- }
- function dashboard_browser_nag_class( $classes ) {
- $response = wp_check_browser_version();
- if ( $response && $response['insecure'] )
- $classes[] = 'browser-insecure';
- return $classes;
- }
- function wp_check_browser_version() {
- if ( empty( $_SERVER['HTTP_USER_AGENT'] ) )
- return false;
- $key = md5( $_SERVER['HTTP_USER_AGENT'] );
- if ( false === ($response = get_site_transient('browser_' . $key) ) ) {
- global $wp_version;
- $options = array(
- 'body' => array( 'useragent' => $_SERVER['HTTP_USER_AGENT'] ),
- 'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
- );
- $response = wp_remote_post( 'http://api.wordpress.org/core/browse-happy/1.0/', $options );
- if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
- return false;
- /**
- * Response should be an array with:
- * 'name' - string - A user friendly browser name
- * 'version' - string - The most recent version of the browser
- * 'current_version' - string - The version of the browser the user is using
- * 'upgrade' - boolean - Whether the browser needs an upgrade
- * 'insecure' - boolean - Whether the browser is deemed insecure
- * 'upgrade_url' - string - The url to visit to upgrade
- * 'img_src' - string - An image representing the browser
- * 'img_src_ssl' - string - An image (over SSL) representing the browser
- */
- $response = unserialize( wp_remote_retrieve_body( $response ) );
- if ( ! $response )
- return false;
- set_site_transient( 'browser_' . $key, $response, 604800 ); // cache for 1 week
- }
- return $response;
- }
- wp_dashboard_browser_nag();
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement