91c2b73c16
Unpredictable result
95 lines
3.4 KiB
PHP
95 lines
3.4 KiB
PHP
<?php
|
|
if (!DEFINED('EGP'))
|
|
exit(header('Refresh: 0; URL=http://' . $_SERVER['HTTP_HOST'] . '/404'));
|
|
|
|
class api
|
|
{
|
|
public function data($id)
|
|
{
|
|
global $sql, $cfg;
|
|
|
|
$sql->query('SELECT `unit`, `tarif`, `address`, `game`, `slots_start`, `online`, `players`, `status`, `name`, `map`, `pack`, `fps`, `tickrate`, `ram`, `time`, `date`, `overdue` FROM `servers` WHERE `id`="' . $id . '" LIMIT 1');
|
|
if (!$sql->num())
|
|
return array('e' => 'сервер не найден');
|
|
|
|
$server = $sql->get();
|
|
|
|
$sql->query('SELECT `name` FROM `units` WHERE `id`="' . $server['unit'] . '" LIMIT 1');
|
|
if (!$sql->num())
|
|
return array('e' => 'локация не найдена');
|
|
|
|
$unit = $sql->get();
|
|
|
|
$sql->query('SELECT `name`, `packs` FROM `tarifs` WHERE `id`="' . $server['tarif'] . '" LIMIT 1');
|
|
if (!$sql->num())
|
|
return array('e' => 'тариф не найден');
|
|
|
|
$tarif = $sql->get();
|
|
$packs = sys::b64djs($tarif['packs']);
|
|
|
|
$time_end = $server['status'] == 'overdue' ? 'Удаление через: ' . sys::date('min', $server['overdue'] + $cfg['server_delete'] * 86400) : 'Осталось: ' . sys::date('min', $server['time']);
|
|
|
|
return array(
|
|
'id' => $id,
|
|
'address' => $server['address'],
|
|
'unit' => $unit['name'],
|
|
'tarif' => games::info_tarif($server['game'], $tarif['name'], array('fps' => $server['fps'], 'tickrate' => $server['tickrate'], 'ram' => $server['ram'])),
|
|
'game' => $server['game'],
|
|
'name' => $server['name'],
|
|
'slots' => $server['slots_start'],
|
|
'online' => $server['online'],
|
|
'players' => $server['players'],
|
|
'status' => sys::status($server['status'], $server['game'], $server['map']),
|
|
'img' => sys::status($server['status'], $server['game'], $server['map'], 'img'),
|
|
'time_end' => $time_end,
|
|
'time' => sys::today($server['time']),
|
|
'date' => sys::today($server['date']),
|
|
'pack' => $packs[$server['pack']]
|
|
);
|
|
}
|
|
|
|
public function load($id)
|
|
{
|
|
global $sql, $cfg;
|
|
|
|
$sql->query('SELECT `online`, `slots_start`, `ram_use`, `cpu_use`, `hdd_use` FROM `servers` WHERE `id`="' . $id . '" LIMIT 1');
|
|
if (!$sql->num())
|
|
return array('e' => 'сервер не найден');
|
|
|
|
$server = $sql->get();
|
|
|
|
$online = 100 / $server['slots_start'] * $server['online'];
|
|
$online = $online > 100 ? 100 : $online;
|
|
|
|
return array(
|
|
'id' => $id,
|
|
'cpu' => $server['cpu_use'],
|
|
'ram' => $server['ram_use'],
|
|
'hdd' => $server['hdd_use'],
|
|
'onl' => $online
|
|
);
|
|
}
|
|
|
|
public function console($id, $cmd)
|
|
{
|
|
global $sql, $cfg;
|
|
|
|
$aGames = array('cs', 'css', 'cssold', 'csgo', 'cs2', 'mc', 'mta');
|
|
|
|
$sql->query('SELECT `game` FROM `servers` WHERE `id`="' . $id . '" LIMIT 1');
|
|
if (!$sql->num())
|
|
return 'сервер не найден';
|
|
|
|
$server = $sql->get();
|
|
|
|
if (!in_array($server['game'], $aGames))
|
|
return 'Игра не поддерживает команды';
|
|
|
|
$go = true;
|
|
|
|
$_POST['command'] = isset($cmd[0]) ? urldecode($cmd) : '';
|
|
|
|
include(SEC . 'servers/' . $server['game'] . '/console.php');
|
|
}
|
|
}
|