File "credits.php"

Full path: /home/kosmetik/public_html/wp-includes/wp-admin/includes/credits.php
File size: 4.16 B
MIME-type: text/x-php
Charset: utf-8

Download   Open   Edit   Advanced Editor   Back

<?php

function wp_credits($version = '', $locale = '')
{
    if (!$version) {
        require ABSPATH . WPINC . '/version.php';
        $version = $wp_version;
    }
    if (!$locale) {
        $locale = get_user_locale();
    }
    $results = get_site_transient('wordpress_credits_' . $locale);
    if (!is_array($results) || false !== strpos($version, '-') || isset($results['data']['version']) && strpos($version, $results['data']['version']) !== 0) {
        $url = "http://api.wordpress.org/core/credits/1.1/?version={$version}&locale={$locale}";
        $options = array('user-agent' => 'WordPress/' . $version . '; ' . home_url('/'));
        if (wp_http_supports(array('ssl'))) {
            $url = set_url_scheme($url, 'https');
        }
        $response = wp_remote_get($url, $options);
        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;
}
function _wp_credits_add_profile_link(&$display_name, $username, $profiles)
{
    $display_name = '<a href="' . esc_url(sprintf($profiles, $username)) . '">' . esc_html($display_name) . '</a>';
}
function _wp_credits_build_object_link(&$data)
{
    $data = '<a href="' . esc_url($data[1]) . '">' . esc_html($data[0]) . '</a>';
}
function wp_credits_section_title($group_data = array())
{
    if (!count($group_data)) {
        return;
    }
    if ($group_data['name']) {
        if ('Translators' === $group_data['name']) {
            $title = _x('Translators', 'Translate this to be the equivalent of English Translators in your language for the credits page Translators section');
        } elseif (isset($group_data['placeholders'])) {
            $title = vsprintf(translate($group_data['name']), $group_data['placeholders']);
        } else {
            $title = translate($group_data['name']);
        }
        echo '<h2 class="wp-people-group-title">' . esc_html($title) . "</h2>\n";
    }
}
function wp_credits_section_list($credits = array(), $slug = '')
{
    $group_data = isset($credits['groups'][$slug]) ? $credits['groups'][$slug] : array();
    $credits_data = $credits['data'];
    if (!count($group_data)) {
        return;
    }
    if (!empty($group_data['shuffle'])) {
        shuffle($group_data['data']);
    }
    switch ($group_data['type']) {
        case 'list':
            array_walk($group_data['data'], '_wp_credits_add_profile_link', $credits_data['profiles']);
            echo '<p class="wp-credits-list">' . wp_sprintf('%l.', $group_data['data']) . "</p>\n\n";
            break;
        case 'libraries':
            array_walk($group_data['data'], '_wp_credits_build_object_link');
            echo '<p class="wp-credits-list">' . wp_sprintf('%l.', $group_data['data']) . "</p>\n\n";
            break;
        default:
            $compact = 'compact' === $group_data['type'];
            $classes = 'wp-people-group ' . ($compact ? 'compact' : '');
            echo '<ul class="' . $classes . '" id="wp-people-group-' . $slug . '">' . "\n";
            foreach ($group_data['data'] as $person_data) {
                echo '<li class="wp-person" id="wp-person-' . esc_attr($person_data[2]) . '">' . "\n\t";
                echo '<a href="' . esc_url(sprintf($credits_data['profiles'], $person_data[2])) . '" class="web">';
                $size = $compact ? 40 : 80;
                $data = get_avatar_data($person_data[1] . '@md5.gravatar.com', array('size' => $size));
                $data2x = get_avatar_data($person_data[1] . '@md5.gravatar.com', array('size' => $size * 2));
                echo '<img src="' . esc_url($data['url']) . '" srcset="' . esc_url($data2x['url']) . ' 2x" class="gravatar" alt="" />' . "\n";
                echo esc_html($person_data[0]) . "</a>\n\t";
                if (!$compact) {
                    echo '<span class="title">' . translate($person_data[3]) . "</span>\n";
                }
                echo "</li>\n";
            }
            echo "</ul>\n";
            break;
    }
}