phpmyadmin/libraries/classes/Controllers/VersionCheckController.php
Maurício Meneghini Fauth a2ed4dfe68
Make controllers callable
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
2021-08-30 13:16:29 -03:00

52 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace PhpMyAdmin\Controllers;
use PhpMyAdmin\Core;
use PhpMyAdmin\VersionInformation;
use function json_encode;
/**
* A caching proxy for retrieving version information from https://www.phpmyadmin.net/.
*/
class VersionCheckController extends AbstractController
{
public function __invoke(): void
{
$_GET['ajax_request'] = 'true';
// Disabling standard response.
$this->response->disable();
// Always send the correct headers
Core::headerJSON();
$versionInformation = new VersionInformation();
$versionDetails = $versionInformation->getLatestVersion();
if (empty($versionDetails)) {
echo json_encode([]);
return;
}
$latestCompatible = $versionInformation->getLatestCompatibleVersion(
$versionDetails->releases
);
$version = '';
$date = '';
if ($latestCompatible != null) {
$version = $latestCompatible['version'];
$date = $latestCompatible['date'];
}
echo json_encode([
'version' => ! empty($version) ? $version : '',
'date' => ! empty($date) ? $date : '',
]);
}
}