webapi/acapi.php

69 lines
1.6 KiB
PHP

<?php
include 'vars.php';
$path = explode("/", $_SERVER["PATH_INFO"]);
$obj = new stdClass();
$obj->status = 404;
if($path[1] == "users") {
$users = array();
$query = "SELECT * FROM users";
if ($_GET["hasmc"] == "true") {
$query = addCondition("mcuuid IS NOT NULL", $query);
} elseif ($_GET["hasmc"] == "false") {
$query = addCondition("mcuuid IS NULL", $query);
}
$res_users = mysqli_query($accon, $query);
checksql($res_users);
while ($row = mysqli_fetch_array( $res_users, MYSQLI_ASSOC)) {
$user = new stdClass();
$user->id = $row["discord"];
if (isset($row["mcuuid"])) {
$minecraft = new stdClass();
$minecraft->uuid = $row["mcuuid"];
$user->minecraft = $minecraft;
}
$user->roles = explode(",", $row["roles"]);
if (isset($row["twchannel"])) {
$user->twitchlink = $row["twchannel"];
}
if (isset($row["ytchannel"])) {
$user->youtubelink = $row["ytchannel"];
}
array_push($users, $user);
}
mysqli_free_result($res_users);
$obj->users = $users;
$obj->status = 200;
}
else {
}
header('Content-Type: application/json');
echo json_encode($obj, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
function addCondition($cond, $query) {
if (strpos($query, "WHERE")) {
$query = $query . " AND " . $cond;
} else {
$query = $query . " WHERE " . $cond;
}
return $query;
}
function checksql($res) {
global $accon;
global $obj;
if (!$res) {
$obj->status = 500;
$obj->error = mysqli_error($accon);
}
}