Add configurable avatar source URL

This commit is contained in:
ruan 2015-09-10 19:39:09 +02:00
parent 82a6dcbff0
commit a83db5dd6f
7 changed files with 33 additions and 20 deletions

View File

@ -23,8 +23,8 @@ $headers = array("Name", "Banned By", "Reason", "Banned On", "Banned Until");
if ($player_name === null) continue; if ($player_name === null) continue;
$page->print_table_rows($row, array( $page->print_table_rows($row, array(
'Name' => $page->get_avatar($player_name), 'Name' => $page->get_avatar($player_name, $row['uuid']),
'Banned By' => $page->get_avatar($page->get_banner_name($row)), 'Banned By' => $page->get_avatar($page->get_banner_name($row), $row['uuid']),
'Reason' => $page->clean($row['reason']), 'Reason' => $page->clean($row['reason']),
'Banned On' => $page->millis_to_date($row['time']), 'Banned On' => $page->millis_to_date($row['time']),
'Banned Until' => $page->expiry($row), 'Banned Until' => $page->expiry($row),

View File

@ -86,12 +86,17 @@ class Page {
} }
/** /**
* Returns an <img> tag representing the Minecraft avatar for a specific name. * Returns an <img> tag representing the Minecraft avatar for a specific name or UUID.
* @param string * @param $name
* @param $uuid
* @return string * @return string
*/ */
function get_avatar($name) { function get_avatar($name, $uuid) {
$src = "https://cravatar.eu/avatar/$name/25"; if ($uuid[14] === '3') {
// Avatars cannot be associated with offline mode UUIDs (version 3)
$uuid = $name;
}
$src = str_replace('$NAME', $name, str_replace('$UUID', $uuid, $this->settings->avatar_source));
if (in_array($name, $this->settings->console_aliases)) { if (in_array($name, $this->settings->console_aliases)) {
$src = $this->settings->console_image; $src = $this->settings->console_image;
$name = $this->settings->console_name; $name = $this->settings->console_name;

View File

@ -46,6 +46,14 @@ final class Settings {
$this->console_name = "Console"; $this->console_name = "Console";
$this->console_image = "includes/img/console.png"; $this->console_image = "includes/img/console.png";
// Avatar images for all players will be fetched from this URL.
// Examples:
/* 'https://cravatar.eu/avatar/$UUID/25'
* 'https://crafatar.com/avatars/$UUID?size=25'
* 'https://minotar.net/avatar/$NAME/25'
*/
$this->avatar_source = 'https://cravatar.eu/avatar/$UUID/25';
// The date format can be changed here. // The date format can be changed here.
// https://secure.php.net/manual/en/function.date.php // https://secure.php.net/manual/en/function.date.php
// Example of default: July 2, 2015, 9:19 PM // Example of default: July 2, 2015, 9:19 PM

View File

@ -45,8 +45,8 @@ class BanInfo extends Info {
function basic_info($row, $player_name) { function basic_info($row, $player_name) {
$page = $this->page; $page = $this->page;
return array( return array(
'Banned Player' => $page->get_avatar($player_name), 'Banned Player' => $page->get_avatar($player_name, $row['uuid']),
'Banned By' => $page->get_avatar($page->get_banner_name($row)), 'Banned By' => $page->get_avatar($page->get_banner_name($row), $row['uuid']),
'Ban Reason' => $page->clean($row['reason']), 'Ban Reason' => $page->clean($row['reason']),
'Ban Placed' => $page->millis_to_date($row['time']), 'Ban Placed' => $page->millis_to_date($row['time']),
'Expires' => $page->expiry($row), 'Expires' => $page->expiry($row),
@ -58,8 +58,8 @@ class MuteInfo extends Info {
function basic_info($row, $player_name) { function basic_info($row, $player_name) {
$page = $this->page; $page = $this->page;
return array( return array(
'Muted Player' => $page->get_avatar($player_name), 'Muted Player' => $page->get_avatar($player_name, $row['uuid']),
'Muted By' => $page->get_avatar($page->get_banner_name($row)), 'Muted By' => $page->get_avatar($page->get_banner_name($row), $row['uuid']),
'Mute Reason' => $page->clean($row['reason']), 'Mute Reason' => $page->clean($row['reason']),
'Mute Placed' => $page->millis_to_date($row['time']), 'Mute Placed' => $page->millis_to_date($row['time']),
'Expires' => $page->expiry($row), 'Expires' => $page->expiry($row),
@ -75,8 +75,8 @@ class WarnInfo extends Info {
function basic_info($row, $player_name) { function basic_info($row, $player_name) {
$page = $this->page; $page = $this->page;
return array( return array(
'Warned Player' => $page->get_avatar($player_name), 'Warned Player' => $page->get_avatar($player_name, $row['uuid']),
'Warned By' => $page->get_avatar($page->get_banner_name($row)), 'Warned By' => $page->get_avatar($page->get_banner_name($row), $row['uuid']),
'Warning Reason' => $page->clean($row['reason']), 'Warning Reason' => $page->clean($row['reason']),
'Warning Placed' => $page->millis_to_date($row['time']), 'Warning Placed' => $page->millis_to_date($row['time']),
'Expires' => $page->expiry($row), 'Expires' => $page->expiry($row),
@ -88,8 +88,8 @@ class KickInfo extends Info {
function basic_info($row, $player_name) { function basic_info($row, $player_name) {
$page = $this->page; $page = $this->page;
return array( return array(
'Kicked Player' => $page->get_avatar($player_name), 'Kicked Player' => $page->get_avatar($player_name, $row['uuid']),
'Kicked By' => $page->get_avatar($page->get_banner_name($row)), 'Kicked By' => $page->get_avatar($page->get_banner_name($row), $row['uuid']),
'Kick Reason' => $page->clean($row['reason']), 'Kick Reason' => $page->clean($row['reason']),
'Kick Date' => $page->millis_to_date($row['time']), 'Kick Date' => $page->millis_to_date($row['time']),
); );

View File

@ -22,8 +22,8 @@ $headers = array("Name", "Kicked By", "Reason", "Date");
if ($player_name === null) continue; if ($player_name === null) continue;
$page->print_table_rows($row, array( $page->print_table_rows($row, array(
'Name' => $page->get_avatar($player_name), 'Name' => $page->get_avatar($player_name, $row['uuid']),
'Kicked By' => $page->get_avatar($page->get_banner_name($row)), 'Kicked By' => $page->get_avatar($page->get_banner_name($row), $row['uuid']),
'Reason' => $page->clean($row['reason']), 'Reason' => $page->clean($row['reason']),
'Date' => $page->millis_to_date($row['time']), 'Date' => $page->millis_to_date($row['time']),
)); ));

View File

@ -22,8 +22,8 @@ $headers = array("Name", "Muted By", "Reason", "Muted On", "Muted Until");
if ($player_name === null) continue; if ($player_name === null) continue;
$page->print_table_rows($row, array( $page->print_table_rows($row, array(
'Name' => $page->get_avatar($player_name), 'Name' => $page->get_avatar($player_name, $row['uuid']),
'Muted By' => $page->get_avatar($page->get_banner_name($row)), 'Muted By' => $page->get_avatar($page->get_banner_name($row), $row['uuid']),
'Reason' => $page->clean($row['reason']), 'Reason' => $page->clean($row['reason']),
'Muted On' => $page->millis_to_date($row['time']), 'Muted On' => $page->millis_to_date($row['time']),
'Muted Until' => $page->expiry($row), 'Muted Until' => $page->expiry($row),

View File

@ -22,8 +22,8 @@ $headers = array("Name", "Warned By", "Reason", "Warned Until", "Received Warnin
if ($player_name === null) continue; if ($player_name === null) continue;
$page->print_table_rows($row, array( $page->print_table_rows($row, array(
'Name' => $page->get_avatar($player_name), 'Name' => $page->get_avatar($player_name, $row['uuid']),
'Warned By' => $page->get_avatar($page->get_banner_name($row)), 'Warned By' => $page->get_avatar($page->get_banner_name($row), $row['uuid']),
'Reason' => $page->clean($row['reason']), 'Reason' => $page->clean($row['reason']),
'Warned Until' => $page->expiry($row), 'Warned Until' => $page->expiry($row),
'Received Warning?' => $row['warned'] ? "Yes" : "No", 'Received Warning?' => $row['warned'] ? "Yes" : "No",