Advertisements

wp_check_browser_version

Definition:
function wp_check_browser_version() {}

Check if the user needs a browser update

Return values

returns:False on failure, array of browser data on success.

Source code

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;

}

14965

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: