NEW FEATURE: added version tag

This commit is contained in:
Jeroen De Meerleer 2022-09-05 14:43:01 +02:00
parent a2613bb4f4
commit 1312b7c81c
Signed by: JeroenED
GPG Key ID: 28CCCB8F62BFADD6
4 changed files with 35 additions and 5 deletions

View File

@ -1,5 +1,7 @@
twig:
default_path: '%kernel.project_dir%/templates'
globals:
kernelProjectDir: '%kernel.project_dir%'
when@test:
twig:

View File

@ -4,6 +4,7 @@ namespace App\Twig;
use App\Service\Secret;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
use Twig\TwigTest;
class AppExtension extends AbstractExtension
{
@ -13,10 +14,19 @@ class AppExtension extends AbstractExtension
new TwigFilter('interval', [$this, 'parseInterval']),
new TwigFilter('parsetags', [$this, 'parseTags']),
new TwigFilter('decryptsecret', [$this, 'decryptSecret']),
new TwigFilter('contents', [$this, 'getContents']),
];
}
function parseInterval(int|float $time) {
public function getTests()
{
return [
new TwigTest('ondisk', [$this, 'onDisk'])
];
}
function parseInterval(int|float $time)
{
$return = '';
$days = floor($time / (60 * 60 * 24));
@ -37,7 +47,8 @@ class AppExtension extends AbstractExtension
return (!empty($return)) ? trim($return) : '0.000s';
}
function parseTags(string $text) {
function parseTags(string $text)
{
$results = [];
preg_match_all('/\[([A-Za-z0-9 \-]+)\]/', $text, $results);
foreach ($results[0] as $key=>$result) {
@ -48,7 +59,8 @@ class AppExtension extends AbstractExtension
return $text;
}
private function lightOrDark ($color) {
private function lightOrDark ($color)
{
$color = str_split($color, 2);
foreach($color as &$value) {
$value = hexdec($value);
@ -70,8 +82,18 @@ class AppExtension extends AbstractExtension
}
}
function decryptSecret(string $text) {
function decryptSecret(string $text)
{
return Secret::decrypt(base64_decode($text));
}
function getContents(string $file)
{
return file_get_contents($file);
}
public function onDisk(string $file)
{
return file_exists($file);
}
}

View File

@ -27,6 +27,9 @@
<li class="nav-item"><a class="nav-link" href="{{ path('job_add') }}">{{ 'menu.add' | trans }}</a></li>
<li class="nav-item"><a class="nav-link" href="{{ path('logout') }}">{{ 'menu.logout' | trans }}</a></li>
</ul>
<div class="m-3 text-muted small">
{% if (kernelProjectDir ~ "/version") is ondisk %}{{ (kernelProjectDir ~ "/version") | contents }}{% else %}dev-main{% endif %}
</div>
</div>
<div class="col-12 col-xxl-10">
{{ include('flashes.html.twig') }}

View File

@ -47,6 +47,9 @@
<p class="mb-0">{{ 'demomode.credentials.password' | trans }}: {{ app.request.server.get('DEMO_PASS') }}</p>
</div>
{% endif %}
<div class="mb-3 text-muted small">
{% if (kernelProjectDir ~ "/version") is ondisk %}{{ (kernelProjectDir ~ "/version") | contents }}{% else %}dev-main{% endif %}
</div>
</div>
</div>
</div>