102 lines
3.3 KiB
PHP
102 lines
3.3 KiB
PHP
|
<?php
|
||
|
defined('BASEPATH') OR exit('No direct script access allowed');
|
||
|
|
||
|
class MinecraftModel extends CI_Model {
|
||
|
|
||
|
public function __construct() {
|
||
|
parent::__construct();
|
||
|
}
|
||
|
|
||
|
public function getUUID($username) {
|
||
|
$json = json_decode(@file_get_contents('https://api.mojang.com/users/profiles/minecraft/' . $username));
|
||
|
|
||
|
if(empty($json)) {
|
||
|
return ["Nicht vorhanden", $username, true];
|
||
|
} else {
|
||
|
$uuid = $json->id;
|
||
|
$name = $json->name;
|
||
|
return [$uuid, $name, false];
|
||
|
}
|
||
|
}
|
||
|
public function getIcon($user) {
|
||
|
return "https://crafatar.com/avatars/" . $user . "?overlay&size=64&default=MHF_Alex";
|
||
|
}
|
||
|
public function getRender($user) {
|
||
|
return "https://crafatar.com/renders/body/" . $user . "?overlay&scale=7&default=MHF_Alex";
|
||
|
}
|
||
|
public function serverIcon($server) {
|
||
|
return "https://craftapi.com/api/server/favicon/" . $server;
|
||
|
}
|
||
|
public function getServerName($server) {
|
||
|
$json = json_decode(@file_get_contents('https://craftapi.com/api/server/info/' . $server));
|
||
|
|
||
|
if(!empty($json->error) || empty($json)) {
|
||
|
return lang('servers_error_ip');
|
||
|
} else {
|
||
|
return $json->server;
|
||
|
}
|
||
|
}
|
||
|
public function getPlayers($server) {
|
||
|
$json = json_decode(@file_get_contents('https://craftapi.com/api/server/info/' . $server));
|
||
|
|
||
|
if (!empty($json->error)) {
|
||
|
return lang('servers_error');
|
||
|
} else {
|
||
|
$online = $json->players->online;
|
||
|
$max = $json->players->max;
|
||
|
$ping = floatval($json->latency) * 1000;
|
||
|
$version = $json->version->name;
|
||
|
|
||
|
if($online < $max) {
|
||
|
$color = "#00AA00";
|
||
|
} else {
|
||
|
$color = "#FFAA00";
|
||
|
}
|
||
|
|
||
|
return [$online, $max, $color, $ping, $version];
|
||
|
}
|
||
|
}
|
||
|
public function getMOTD($server) {
|
||
|
$json = json_decode(@file_get_contents('https://craftapi.com/api/server/info/' . $server));
|
||
|
|
||
|
if(!empty($json->error) || empty($json)) {
|
||
|
return lang('servers_error');
|
||
|
} else {
|
||
|
return $json->motd;
|
||
|
}
|
||
|
}
|
||
|
public function getHistory($uuid) {
|
||
|
$json = json_decode(@file_get_contents('https://craftapi.com/api/user/namehistory/' . $uuid));
|
||
|
|
||
|
$return = '';
|
||
|
if(!empty($json)) {
|
||
|
foreach($json as $element) {
|
||
|
$name = $element->name;
|
||
|
|
||
|
if(!empty($element->changedToAt)) {
|
||
|
$milliseconds = floatval($element->changedToAt);
|
||
|
$date = date("d.m.Y \u\m H:i:s", $milliseconds/1000);
|
||
|
$changedtoat = $date . " Uhr";
|
||
|
} else {
|
||
|
$changedtoat = "<i>" . lang('player_original_name') . "</i>";
|
||
|
}
|
||
|
|
||
|
$return .= "<tr><td>" . $name . "</td><td>" . $changedtoat . "</td></tr>";
|
||
|
}
|
||
|
return $return;
|
||
|
} else {
|
||
|
return null;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
public function formatUUID($uuid) {
|
||
|
$return = $uuid;
|
||
|
$return = substr_replace($return, '-' . $uuid[8], 8, -23);
|
||
|
$return = substr_replace($return, '-' . $uuid[12], 13, -19);
|
||
|
$return = substr_replace($return, '-' . $uuid[16], 18, -15);
|
||
|
$return = substr_replace($return, '-' . $uuid[20], 23, -11);
|
||
|
|
||
|
return $return;
|
||
|
}
|
||
|
}
|