X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/5aa86a9053fb0fa15846bb60aac2fb8fdfff524a..53f4633144ed68c8b8fb5861f992b5489894a940:/wp-admin/credits.php diff --git a/wp-admin/credits.php b/wp-admin/credits.php index cdc84c7c..33ae7081 100644 --- a/wp-admin/credits.php +++ b/wp-admin/credits.php @@ -7,50 +7,80 @@ */ /** WordPress Administration Bootstrap */ -require_once( './admin.php' ); +require_once( dirname( __FILE__ ) . '/admin.php' ); $title = __( 'Credits' ); +/** + * Retrieve the contributor credits. + * + * @global string $wp_version The current WordPress version. + * + * @since 3.2.0 + * + * @return array|false A list of all of the contributors, or false on error. +*/ function wp_credits() { global $wp_version; $locale = get_locale(); $results = get_site_transient( 'wordpress_credits_' . $locale ); - if ( ! is_array( $results ) ) { - $response = wp_remote_get( "http://api.wordpress.org/core/credits/1.0/?version=$wp_version&locale=$locale" ); + if ( ! is_array( $results ) + || false !== strpos( $wp_version, '-' ) + || ( isset( $results['data']['version'] ) && strpos( $wp_version, $results['data']['version'] ) !== 0 ) + ) { + $response = wp_remote_get( "http://api.wordpress.org/core/credits/1.1/?version=$wp_version&locale=$locale" ); if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) return false; - $results = maybe_unserialize( wp_remote_retrieve_body( $response ) ); + $results = json_decode( wp_remote_retrieve_body( $response ), true ); if ( ! is_array( $results ) ) return false; - set_site_transient( 'wordpress_credits_' . $locale, $results, 86400 ); // One day + set_site_transient( 'wordpress_credits_' . $locale, $results, DAY_IN_SECONDS ); } return $results; } +/** + * Retrieve the link to a contributor's WordPress.org profile page. + * + * @access private + * @since 3.2.0 + * + * @param string &$display_name The contributor's display name, passed by reference. + * @param string $username The contributor's username. + * @param string $profiles URL to the contributor's WordPress.org profile page. + */ function _wp_credits_add_profile_link( &$display_name, $username, $profiles ) { $display_name = '' . esc_html( $display_name ) . ''; } +/** + * Retrieve the link to an external library used in WordPress. + * + * @access private + * @since 3.2.0 + * + * @param string &$data External library data, passed by reference. + */ function _wp_credits_build_object_link( &$data ) { - $data = '' . $data[0] . ''; + $data = '' . esc_html( $data[0] ) . ''; } list( $display_version ) = explode( '-', $wp_version ); -include( './admin-header.php' ); +include( ABSPATH . 'wp-admin/admin-header.php' ); ?>

-
+
@@ -70,17 +100,15 @@ $credits = wp_credits(); if ( ! $credits ) { echo '

' . sprintf( __( 'WordPress is created by a worldwide team of passionate individuals. Get involved in WordPress.' ), - 'http://wordpress.org/about/', + 'https://wordpress.org/about/', /* translators: Url to the codex documentation on contributing to WordPress used on the credits page */ - __( 'http://codex.wordpress.org/Contributing_to_WordPress' ) ) . '

'; - include( './admin-footer.php' ); + __( 'https://codex.wordpress.org/Contributing_to_WordPress' ) ) . '

'; + include( ABSPATH . 'wp-admin/admin-footer.php' ); exit; } echo '

' . __( 'WordPress is created by a worldwide team of passionate individuals.' ) . "

\n"; -$gravatar = is_ssl() ? 'https://secure.gravatar.com/avatar/' : 'http://0.gravatar.com/avatar/'; - foreach ( $credits['groups'] as $group_slug => $group_data ) { if ( $group_data['name'] ) { if ( 'Translators' == $group_data['name'] ) { @@ -92,7 +120,7 @@ foreach ( $credits['groups'] as $group_slug => $group_data ) { $title = translate( $group_data['name'] ); } - echo '

' . $title . "

\n"; + echo '

' . esc_html( $title ) . "

\n"; } if ( ! empty( $group_data['shuffle'] ) ) @@ -112,11 +140,14 @@ foreach ( $credits['groups'] as $group_slug => $group_data ) { $classes = 'wp-people-group ' . ( $compact ? 'compact' : '' ); echo '