Archived
1
0
This repository has been archived on 2020-12-10. You can view files and clone it, but cannot push or open issues or pull requests.
old/application/models/MinecraftModel.php
2018-10-16 18:28:42 +02:00

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;
}
}