You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.2 KiB
52 lines
1.2 KiB
2 years ago
|
<?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);
|
||
|
}
|
||
|
}
|