����JFIF��H�H����Exif��MM�*���� ��3����V�����3������3�(��������������������3�����
Server IP : 74.208.127.88 / Your IP : 3.143.7.73 Web Server : Apache/2.4.41 (Ubuntu) System : Linux ubuntu 5.4.0-163-generic #180-Ubuntu SMP Tue Sep 5 13:21:23 UTC 2023 x86_64 User : www-data ( 33) PHP Version : 7.4.3-4ubuntu2.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/share/phpmyadmin/libraries/classes/ |
Upload File : |
<?php /* vim: set expandtab sw=4 ts=4 sts=4: */ /** * hold PhpMyAdmin\Template class * * @package PhpMyAdmin */ namespace PhpMyAdmin; use PhpMyAdmin\Twig\CharsetsExtension; use PhpMyAdmin\Twig\CoreExtension; use PhpMyAdmin\Twig\I18nExtension; use PhpMyAdmin\Twig\IndexExtension; use PhpMyAdmin\Twig\MessageExtension; use PhpMyAdmin\Twig\PartitionExtension; use PhpMyAdmin\Twig\PhpFunctionsExtension; use PhpMyAdmin\Twig\PluginsExtension; use PhpMyAdmin\Twig\RelationExtension; use PhpMyAdmin\Twig\SanitizeExtension; use PhpMyAdmin\Twig\ServerPrivilegesExtension; use PhpMyAdmin\Twig\StorageEngineExtension; use PhpMyAdmin\Twig\TableExtension; use PhpMyAdmin\Twig\TrackerExtension; use PhpMyAdmin\Twig\TransformationsExtension; use PhpMyAdmin\Twig\UrlExtension; use PhpMyAdmin\Twig\UtilExtension; use Twig\Environment; use Twig\Loader\FilesystemLoader; /** * Class Template * * Handle front end templating * * @package PhpMyAdmin */ class Template { /** * Name of the template */ protected $name = null; /** * Twig environment */ static protected $twig; const BASE_PATH = 'templates/'; /** * Template constructor * * @param string $name Template name */ protected function __construct($name) { $this->name = $name; if (is_null($this::$twig)) { $loader = new FilesystemLoader(static::BASE_PATH); $cache_dir = $GLOBALS['PMA_Config']->getTempDir('twig'); /* Twig expects false when cache is not configured */ if (is_null($cache_dir)) { $cache_dir = false; } $twig = new Environment($loader, array( 'auto_reload' => true, 'cache' => $cache_dir, 'debug' => false, )); $twig->addExtension(new CharsetsExtension()); $twig->addExtension(new CoreExtension()); $twig->addExtension(new I18nExtension()); $twig->addExtension(new IndexExtension()); $twig->addExtension(new MessageExtension()); $twig->addExtension(new PartitionExtension()); $twig->addExtension(new PhpFunctionsExtension()); $twig->addExtension(new PluginsExtension()); $twig->addExtension(new RelationExtension()); $twig->addExtension(new SanitizeExtension()); $twig->addExtension(new ServerPrivilegesExtension()); $twig->addExtension(new StorageEngineExtension()); $twig->addExtension(new TrackerExtension()); $twig->addExtension(new TableExtension()); $twig->addExtension(new TransformationsExtension()); $twig->addExtension(new UrlExtension()); $twig->addExtension(new UtilExtension()); $this::$twig = $twig; } } /** * Template getter * * @param string $name Template name * * @return Template */ public static function get($name) { return new Template($name); } /** * Render template * * @param array $data Variables to be provided to the template * * @return string */ public function render(array $data = array()) { try { $template = $this::$twig->load($this->name . '.twig'); } catch (\RuntimeException $e) { /* Retry with disabled cache */ $this::$twig->setCache(false); $template = $this::$twig->load($this->name . '.twig'); /* * The trigger error is intentionally after second load * to avoid triggering error when disabling cache does not * solve it. */ trigger_error( sprintf( __('Error while working with template cache: %s'), $e->getMessage() ), E_USER_WARNING ); } return $template->render($data); } }