28 lines
861 B
PHP
28 lines
861 B
PHP
|
<?php
|
||
|
|
||
|
use Twig\Environment;
|
||
|
use Twig\Loader\FilesystemLoader;
|
||
|
use Twig\TwigFilter;
|
||
|
use Twig\TwigFunction;
|
||
|
|
||
|
$loader = new FilesystemLoader($_SERVER['DOCUMENT_ROOT'].'/templates');
|
||
|
$twig = new Environment($loader, [
|
||
|
'debug' => $DEV_MODE,
|
||
|
'cache' => $_SERVER['DOCUMENT_ROOT'].'/templates/cache',
|
||
|
]);
|
||
|
|
||
|
// functions
|
||
|
$twig->addFunction(new TwigFunction('query_string', function (array $params = []) {
|
||
|
return http_build_query(array_merge($_GET, $params));
|
||
|
}));
|
||
|
|
||
|
$twig->addFunction(new TwigFunction('is_uri', function (string $uri, string $where = null) {
|
||
|
if (is_null($where)) $where = $_SERVER['REQUEST_URI'];
|
||
|
return preg_match('/'.$uri.'/i', $where);
|
||
|
}));
|
||
|
|
||
|
// filters
|
||
|
$twig->addFilter(new TwigFilter('rot13', 'str_rot13'));
|
||
|
$twig->addFilter(new TwigFilter('base64_encode', 'base64_encode'));
|
||
|
$twig->addFilter(new TwigFilter('formatBytes', 'formatBytes'));
|