EngineGP/system/engine/api.php

46 lines
1.3 KiB
PHP
Raw Normal View History

2023-03-04 23:45:46 +00:00
<?php
2023-11-11 20:56:12 +00:00
if(!DEFINED('EGP'))
exit(header('Refresh: 0; URL=http://'.$_SERVER['SERVER_NAME'].'/404'));
2023-03-04 23:45:46 +00:00
2023-11-11 20:56:12 +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-11-11 20:56:12 +00:00
if(sys::valid($key, 'md5'))
sys::outjs(array('e' => 'ключ имеет неправильный формат'));
2023-03-04 23:45:46 +00:00
2023-11-11 20:56:12 +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-11-11 20:56:12 +00:00
$api = $sql->get();
2023-03-04 23:45:46 +00:00
2023-11-11 20:56:12 +00:00
$id = $api['server'];
2023-03-04 23:45:46 +00:00
2023-11-11 20:56:12 +00:00
include(LIB.'games/games.php');
include(LIB.'api.php');
2023-03-04 23:45:46 +00:00
2023-11-11 20:56:12 +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-11-11 20:56:12 +00:00
include(SEC.'servers/action.php');
}
2023-03-04 23:45:46 +00:00
2023-11-11 20:56:12 +00:00
switch($action)
{
case 'data':
sys::outjs(api::data($id));
2023-03-04 23:45:46 +00:00
2023-11-11 20:56:12 +00:00
case 'load':
sys::outjs(api::load($id));
2023-03-04 23:45:46 +00:00
2023-11-11 20:56:12 +00:00
case 'console':
$cmd = isset($url['command']) ? $url['command'] : false;
2023-03-04 23:45:46 +00:00
2023-11-11 20:56:12 +00:00
sys::outjs(api::console($id, $cmd));
}
2023-03-04 23:45:46 +00:00
2023-11-11 20:56:12 +00:00
sys::outjs(array('e' => 'Метод не найден'));
2023-03-04 23:45:46 +00:00
?>