mc-cms-namelessmc/modules/Core/queries/server.php
tadhgboyle 07d1e05229
Create and implement Cache#fetch (#3662)
* Create and implement `Cache#fetch`

* convert more

* fix

* wip

* wip

* Apply fixes from StyleCI (#3663)

Co-authored-by: StyleCI Bot <bot@styleci.io>

* wip, more conversions

* clear widget cache on setting update

* fix

* convert

---------

Co-authored-by: StyleCI Bot <bot@styleci.io>
2025-05-20 18:37:24 -07:00

29 lines
841 B
PHP

<?php
// Check server ID is specified
if (!isset($_GET['id']) || !is_numeric($_GET['id'])) {
die();
}
$server = DB::getInstance()->get('mc_servers', ['id', $_GET['id']])->results();
if (!count($server)) {
die();
}
$server = $server[0];
$cache->setCache('server_' . $server->id);
$result = $cache->fetch('result', function () use ($server, $language) {
// Get query type
$query_type = Settings::get('query_type', 'internal');
$full_ip = [
'ip' => $server->ip . (is_null($server->port) ? '' : ':' . $server->port),
'pre' => $server->pre,
'name' => $server->name
];
return json_encode($query_type === 'plugin' ? PluginQuery::singleQuery($server->id, $language) : MCQuery::singleQuery($full_ip, $query_type, $server->bedrock, $language), JSON_PRETTY_PRINT);
}, 30);
echo $result;
die();