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'));
 |