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.
51 lines
1.2 KiB
51 lines
1.2 KiB
<?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); |
|
} |
|
}
|
|
|