feat: ssh auth, protocol management, and cleanup
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
use Twig\Environment;
|
||||
use Twig\Loader\FilesystemLoader;
|
||||
use Twig\TwigFunction;
|
||||
use Twig\TwigFilter;
|
||||
|
||||
class View {
|
||||
private static ?Environment $twig = null;
|
||||
@@ -36,6 +37,22 @@ class View {
|
||||
});
|
||||
self::$twig->addFunction($flagFunc);
|
||||
|
||||
// Add bytes format filter
|
||||
$bytesFilter = new TwigFilter('bytes_format', function (int $bytes, int $precision = 2): string {
|
||||
$units = ['B', 'KB', 'MB', 'GB', 'TB'];
|
||||
for ($i = 0; $bytes > 1024 && $i < count($units) - 1; $i++) {
|
||||
$bytes /= 1024;
|
||||
}
|
||||
return round($bytes, $precision) . ' ' . $units[$i];
|
||||
});
|
||||
self::$twig->addFilter($bytesFilter);
|
||||
|
||||
// Add translation filter (alias: trans)
|
||||
$transFilter = new TwigFilter('trans', function (string $key, array $params = []) {
|
||||
return Translator::t($key, $params);
|
||||
});
|
||||
self::$twig->addFilter($transFilter);
|
||||
|
||||
// Add globals
|
||||
foreach ($globals as $k => $v) self::$twig->addGlobal($k, $v);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user