Advertisements

_wp_timezone_choice_usort_callback

Definition:
function _wp_timezone_choice_usort_callback( $a, $b ) {}

Parameters

  • unknown_type $a
  • unknown_type $b

Source code

function _wp_timezone_choice_usort_callback( $a, $b ) {

	// Don't use translated versions of Etc

	if ( 'Etc' === $a['continent'] && 'Etc' === $b['continent'] ) {

		// Make the order of these more like the old dropdown

		if ( 'GMT+' === substr( $a['city'], 0, 4 ) && 'GMT+' === substr( $b['city'], 0, 4 ) ) {

			return -1 * ( strnatcasecmp( $a['city'], $b['city'] ) );

		}

		if ( 'UTC' === $a['city'] ) {

			if ( 'GMT+' === substr( $b['city'], 0, 4 ) ) {

				return 1;

			}

			return -1;

		}

		if ( 'UTC' === $b['city'] ) {

			if ( 'GMT+' === substr( $a['city'], 0, 4 ) ) {

				return -1;

			}

			return 1;

		}

		return strnatcasecmp( $a['city'], $b['city'] );

	}

	if ( $a['t_continent'] == $b['t_continent'] ) {

		if ( $a['t_city'] == $b['t_city'] ) {

			return strnatcasecmp( $a['t_subcity'], $b['t_subcity'] );

		}

		return strnatcasecmp( $a['t_city'], $b['t_city'] );

	} else {

		// Force Etc to the bottom of the list

		if ( 'Etc' === $a['continent'] ) {

			return 1;

		}

		if ( 'Etc' === $b['continent'] ) {

			return -1;

		}

		return strnatcasecmp( $a['t_continent'], $b['t_continent'] );

	}

}

4417

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: