NEW FEATURE: added version tag
This commit is contained in:
parent
a2613bb4f4
commit
1312b7c81c
|
@ -1,5 +1,7 @@
|
||||||
twig:
|
twig:
|
||||||
default_path: '%kernel.project_dir%/templates'
|
default_path: '%kernel.project_dir%/templates'
|
||||||
|
globals:
|
||||||
|
kernelProjectDir: '%kernel.project_dir%'
|
||||||
|
|
||||||
when@test:
|
when@test:
|
||||||
twig:
|
twig:
|
||||||
|
|
|
@ -4,6 +4,7 @@ namespace App\Twig;
|
||||||
use App\Service\Secret;
|
use App\Service\Secret;
|
||||||
use Twig\Extension\AbstractExtension;
|
use Twig\Extension\AbstractExtension;
|
||||||
use Twig\TwigFilter;
|
use Twig\TwigFilter;
|
||||||
|
use Twig\TwigTest;
|
||||||
|
|
||||||
class AppExtension extends AbstractExtension
|
class AppExtension extends AbstractExtension
|
||||||
{
|
{
|
||||||
|
@ -13,10 +14,19 @@ class AppExtension extends AbstractExtension
|
||||||
new TwigFilter('interval', [$this, 'parseInterval']),
|
new TwigFilter('interval', [$this, 'parseInterval']),
|
||||||
new TwigFilter('parsetags', [$this, 'parseTags']),
|
new TwigFilter('parsetags', [$this, 'parseTags']),
|
||||||
new TwigFilter('decryptsecret', [$this, 'decryptSecret']),
|
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 = '';
|
$return = '';
|
||||||
|
|
||||||
$days = floor($time / (60 * 60 * 24));
|
$days = floor($time / (60 * 60 * 24));
|
||||||
|
@ -37,7 +47,8 @@ class AppExtension extends AbstractExtension
|
||||||
return (!empty($return)) ? trim($return) : '0.000s';
|
return (!empty($return)) ? trim($return) : '0.000s';
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseTags(string $text) {
|
function parseTags(string $text)
|
||||||
|
{
|
||||||
$results = [];
|
$results = [];
|
||||||
preg_match_all('/\[([A-Za-z0-9 \-]+)\]/', $text, $results);
|
preg_match_all('/\[([A-Za-z0-9 \-]+)\]/', $text, $results);
|
||||||
foreach ($results[0] as $key=>$result) {
|
foreach ($results[0] as $key=>$result) {
|
||||||
|
@ -48,7 +59,8 @@ class AppExtension extends AbstractExtension
|
||||||
return $text;
|
return $text;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function lightOrDark ($color) {
|
private function lightOrDark ($color)
|
||||||
|
{
|
||||||
$color = str_split($color, 2);
|
$color = str_split($color, 2);
|
||||||
foreach($color as &$value) {
|
foreach($color as &$value) {
|
||||||
$value = hexdec($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));
|
return Secret::decrypt(base64_decode($text));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getContents(string $file)
|
||||||
|
{
|
||||||
|
return file_get_contents($file);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function onDisk(string $file)
|
||||||
|
{
|
||||||
|
return file_exists($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('job_add') }}">{{ 'menu.add' | trans }}</a></li>
|
||||||
<li class="nav-item"><a class="nav-link" href="{{ path('logout') }}">{{ 'menu.logout' | trans }}</a></li>
|
<li class="nav-item"><a class="nav-link" href="{{ path('logout') }}">{{ 'menu.logout' | trans }}</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<div class="m-3 text-muted small">
|
||||||
|
{% if (kernelProjectDir ~ "/version") is ondisk %}{{ (kernelProjectDir ~ "/version") | contents }}{% else %}dev-main{% endif %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-xxl-10">
|
<div class="col-12 col-xxl-10">
|
||||||
{{ include('flashes.html.twig') }}
|
{{ include('flashes.html.twig') }}
|
||||||
|
|
|
@ -47,6 +47,9 @@
|
||||||
<p class="mb-0">{{ 'demomode.credentials.password' | trans }}: {{ app.request.server.get('DEMO_PASS') }}</p>
|
<p class="mb-0">{{ 'demomode.credentials.password' | trans }}: {{ app.request.server.get('DEMO_PASS') }}</p>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
<div class="mb-3 text-muted small">
|
||||||
|
{% if (kernelProjectDir ~ "/version") is ondisk %}{{ (kernelProjectDir ~ "/version") | contents }}{% else %}dev-main{% endif %}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue