2015-09-11 00:55:26 -04:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* WordPress Credits Administration API.
|
|
|
|
*
|
|
|
|
* @package WordPress
|
|
|
|
* @subpackage Administration
|
|
|
|
* @since 4.4.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Retrieve the contributor credits.
|
|
|
|
*
|
|
|
|
* @since 3.2.0
|
|
|
|
*
|
|
|
|
* @return array|false A list of all of the contributors, or false on error.
|
2015-12-12 10:37:28 -05:00
|
|
|
*/
|
2015-09-11 00:55:26 -04:00
|
|
|
function wp_credits() {
|
2016-08-31 01:49:37 -04:00
|
|
|
$wp_version = get_bloginfo( 'version' );
|
2015-09-11 00:55:26 -04:00
|
|
|
$locale = get_locale();
|
|
|
|
|
|
|
|
$results = get_site_transient( 'wordpress_credits_' . $locale );
|
|
|
|
|
|
|
|
if ( ! is_array( $results )
|
|
|
|
|| false !== strpos( $wp_version, '-' )
|
|
|
|
|| ( isset( $results['data']['version'] ) && strpos( $wp_version, $results['data']['version'] ) !== 0 )
|
|
|
|
) {
|
2016-08-31 01:49:37 -04:00
|
|
|
$response = wp_remote_get( "http://api.wordpress.org/core/credits/1.1/?version={$wp_version}&locale={$locale}" );
|
2015-09-11 00:55:26 -04:00
|
|
|
|
|
|
|
if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
|
|
|
|
return false;
|
|
|
|
|
|
|
|
$results = json_decode( wp_remote_retrieve_body( $response ), true );
|
|
|
|
|
|
|
|
if ( ! is_array( $results ) )
|
|
|
|
return false;
|
|
|
|
|
|
|
|
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
|
|
|
|
*
|
2015-12-23 01:31:27 -05:00
|
|
|
* @param string $display_name The contributor's display name, passed by reference.
|
2015-09-11 00:55:26 -04:00
|
|
|
* @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 = '<a href="' . esc_url( sprintf( $profiles, $username ) ) . '">' . esc_html( $display_name ) . '</a>';
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Retrieve the link to an external library used in WordPress.
|
|
|
|
*
|
|
|
|
* @access private
|
|
|
|
* @since 3.2.0
|
|
|
|
*
|
2015-12-23 01:31:27 -05:00
|
|
|
* @param string $data External library data, passed by reference.
|
2015-09-11 00:55:26 -04:00
|
|
|
*/
|
|
|
|
function _wp_credits_build_object_link( &$data ) {
|
|
|
|
$data = '<a href="' . esc_url( $data[1] ) . '">' . esc_html( $data[0] ) . '</a>';
|
|
|
|
}
|