EngineGP/system/engine/api.php

44 lines
1.3 KiB
PHP
Raw Normal View History

2023-03-04 23:45:46 +00:00
<?php
2023-05-05 01:17:19 +00:00
if (!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://' . $_SERVER['SERVER_NAME'] . '/404'));
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
$key = isset($url['key']) ? $url['key'] : sys::outjs(array('e' => 'ключ не указан'));
$action = isset($url['action']) ? $url['action'] : sys::outjs(array('e' => 'метод не указан'));
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
if (sys::valid($key, 'md5'))
sys::outjs(array('e' => 'ключ имеет неправильный формат'));
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
$sql->query('SELECT `id`, `server` FROM `api` WHERE `key`="' . $key . '" LIMIT 1');
if (!$sql->num())
sys::outjs(array('e' => 'ключ не найден'));
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
$api = $sql->get();
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
$id = $api['server'];
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
include(LIB . 'games/games.php');
include(LIB . 'api.php');
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
if (in_array($action, array('start', 'restart', 'stop', 'change', 'reinstall', 'update'))) {
$sql->query('SELECT `id` FROM `servers` WHERE `id`="' . $id . '" LIMIT 1');
if (!$sql->num())
sys::outjs(array('e' => 'сервер не найден'));
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
include(SEC . 'servers/action.php');
}
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
switch ($action) {
case 'data':
sys::outjs(api::data($id));
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
case 'load':
sys::outjs(api::load($id));
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
case 'console':
$cmd = isset($url['command']) ? $url['command'] : false;
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
sys::outjs(api::console($id, $cmd));
}
2023-03-04 23:45:46 +00:00
2023-05-05 01:17:19 +00:00
sys::outjs(array('e' => 'Метод не найден'));
2023-03-04 23:45:46 +00:00
?>