gl-website-deployer/admin/phpMyAdmin/libraries/classes/Controllers/GitInfoController.php

52 lines
1.2 KiB
PHP
Raw Normal View History

2024-11-23 20:45:29 +01:00
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Controllers;
use PhpMyAdmin\Config;
use PhpMyAdmin\Git;
use PhpMyAdmin\ResponseRenderer;
use PhpMyAdmin\Template;
use PhpMyAdmin\Util;
use function strtotime;
final class GitInfoController extends AbstractController
{
/** @var Config */
private $config;
public function __construct(ResponseRenderer $response, Template $template, Config $config)
{
parent::__construct($response, $template);
$this->config = $config;
}
public function __invoke(): void
{
if (! $this->response->isAjax()) {
return;
}
$git = new Git($this->config->get('ShowGitRevision') ?? true);
if (! $git->isGitRevision()) {
return;
}
$commit = $git->checkGitRevision();
if (! $git->hasGitInformation() || $commit === null) {
$this->response->setRequestStatus(false);
return;
}
$commit['author']['date'] = Util::localisedDate(strtotime($commit['author']['date']));
$commit['committer']['date'] = Util::localisedDate(strtotime($commit['committer']['date']));
$this->render('home/git_info', $commit);
}
}