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

Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 

uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 

uid=33(www-data) gid=33(www-data) groups=33(www-data) 

Safe-mode: OFF (not secure)

/var/www/html/laravel-crm/vendor/php-debugbar/php-debugbar/src/DebugBar/DataCollector/PDO/   drwxrwxrwx
Free 13.14 GB of 57.97 GB (22.67%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Self remove    Logout    


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

namespace DebugBar\DataCollector\PDO;

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

/**
 * Collects data about SQL statements executed with PDO
 */
class PDOCollector extends DataCollector implements RenderableAssetProvider
{
    protected 
$connections = array();

    protected 
$timeCollector;

    protected 
$renderSqlWithParams false;

    protected 
$sqlQuotationChar '<>';

    protected 
$durationBackground false;

    protected 
$slowThreshold;

    
/**
     * @param \PDO $pdo
     * @param TimeDataCollector $timeCollector
     */
    
public function __construct(?\PDO $pdo null, ?TimeDataCollector $timeCollector null)
    {
        
$this->timeCollector $timeCollector;
        if (
$pdo !== null) {
            
$this->addConnection($pdo'default');
        }
    }

    
/**
     * Renders the SQL of traced statements with params embeded
     *
     * @param boolean $enabled
     */
    
public function setRenderSqlWithParams($enabled true$quotationChar '<>')
    {
        
$this->renderSqlWithParams $enabled;
        
$this->sqlQuotationChar $quotationChar;
    }

    
/**
     * Enable/disable the shaded duration background on queries
     *
     * @param  bool $enabled
     */
    
public function setDurationBackground($enabled)
    {
        
$this->durationBackground $enabled;
    }

    
/**
     * Highlights queries that exceed the threshold
     *
     * @param  int|float $threshold miliseconds value
     */
    
public function setSlowThreshold($threshold)
    {
        
$this->slowThreshold $threshold 1000;
    }

    
/**
     * @return bool
     */
    
public function isSqlRenderedWithParams()
    {
        return 
$this->renderSqlWithParams;
    }

    
/**
     * @return string
     */
    
public function getSqlQuotationChar()
    {
        return 
$this->sqlQuotationChar;
    }

    
/**
     * Adds a new PDO instance to be collector
     *
     * @param TraceablePDO $pdo
     * @param string $name Optional connection name
     */
    
public function addConnection(\PDO $pdo$name null)
    {
        if (
$name === null) {
            
$name spl_object_hash($pdo);
        }
        if (!(
$pdo instanceof TraceablePDO)) {
            
$pdo = new TraceablePDO($pdo);
        }
        
$this->connections[$name] = $pdo;
    }

    
/**
     * Returns PDO instances to be collected
     *
     * @return array
     */
    
public function getConnections()
    {
        return 
$this->connections;
    }

    
/**
     * @return array
     */
    
public function collect()
    {
        
$data = array(
            
'nb_statements' => 0,
            
'nb_failed_statements' => 0,
            
'accumulated_duration' => 0,
            
'memory_usage' => 0,
            
'peak_memory_usage' => 0,
            
'statements' => array()
        );

        foreach (
$this->connections as $name => $pdo) {
            
$pdodata $this->collectPDO($pdo$this->timeCollector$name);
            
$data['nb_statements'] += $pdodata['nb_statements'];
            
$data['nb_failed_statements'] += $pdodata['nb_failed_statements'];
            
$data['accumulated_duration'] += $pdodata['accumulated_duration'];
            
$data['memory_usage'] += $pdodata['memory_usage'];
            
$data['peak_memory_usage'] = max($data['peak_memory_usage'], $pdodata['peak_memory_usage']);
            
$data['statements'] = array_merge($data['statements'],
                
array_map(function ($s) use ($name) { $s['connection'] = $name; return $s; }, $pdodata['statements']));
        }

        
$data['accumulated_duration_str'] = $this->getDataFormatter()->formatDuration($data['accumulated_duration']);
        
$data['memory_usage_str'] = $this->getDataFormatter()->formatBytes($data['memory_usage']);
        
$data['peak_memory_usage_str'] = $this->getDataFormatter()->formatBytes($data['peak_memory_usage']);

        return 
$data;
    }

    
/**
     * Collects data from a single TraceablePDO instance
     *
     * @param TraceablePDO $pdo
     * @param TimeDataCollector $timeCollector
     * @param string|null $connectionName the pdo connection (eg default | read | write)
     * @return array
     */
    
protected function collectPDO(TraceablePDO $pdo, ?TimeDataCollector $timeCollector null$connectionName null)
    {
        if (empty(
$connectionName) || $connectionName == 'default') {
            
$connectionName 'pdo';
        } else {
            
$connectionName 'pdo ' $connectionName;
        }
        
$stmts = array();
        foreach (
$pdo->getExecutedStatements() as $stmt) {
            
$stmts[] = array(
                
'sql' => $this->renderSqlWithParams $stmt->getSqlWithParams($this->sqlQuotationChar) : $stmt->getSql(),
                
'type' => $stmt->getQueryType(),
                
'row_count' => $stmt->getRowCount(),
                
'stmt_id' => $stmt->getPreparedId(),
                
'prepared_stmt' => $stmt->getSql(),
                
'params' => (object) $stmt->getParameters(),
                
'duration' => $stmt->getDuration(),
                
'duration_str' => $this->getDataFormatter()->formatDuration($stmt->getDuration()),
                
'memory' => $stmt->getMemoryUsage(),
                
'memory_str' => $this->getDataFormatter()->formatBytes($stmt->getMemoryUsage()),
                
'end_memory' => $stmt->getEndMemory(),
                
'end_memory_str' => $this->getDataFormatter()->formatBytes($stmt->getEndMemory()),
                
'is_success' => $stmt->isSuccess(),
                
'error_code' => $stmt->getErrorCode(),
                
'error_message' => $stmt->getErrorMessage(),
                
'slow' => $this->slowThreshold && $this->slowThreshold <= $stmt->getDuration()
            );
            if (
$timeCollector !== null) {
                
$timeCollector->addMeasure($stmt->getSql(), $stmt->getStartTime(), $stmt->getEndTime(), array(), $connectionName);
            }
        }

        
$totalTime $pdo->getAccumulatedStatementsDuration();
        if (
$this->durationBackground && $totalTime 0) {
            
// For showing background measure on Queries tab
            
$start_percent 0;
            foreach (
$stmts as $i => $stmt) {
                if (!isset(
$stmt['duration'])) {
                    continue;
                }

                
$width_percent $stmt['duration'] / $totalTime 100;
                
$stmts[$i] = array_merge($stmt, [
                    
'start_percent' => round($start_percent3),
                    
'width_percent' => round($width_percent3),
                ]);
                
$start_percent += $width_percent;
            }
        }

        return array(
            
'nb_statements' => count($stmts),
            
'nb_failed_statements' => count($pdo->getFailedExecutedStatements()),
            
'accumulated_duration' => $totalTime,
            
'accumulated_duration_str' => $this->getDataFormatter()->formatDuration($totalTime),
            
'memory_usage' => $pdo->getMemoryUsage(),
            
'memory_usage_str' => $this->getDataFormatter()->formatBytes($pdo->getPeakMemoryUsage()),
            
'peak_memory_usage' => $pdo->getPeakMemoryUsage(),
            
'peak_memory_usage_str' => $this->getDataFormatter()->formatBytes($pdo->getPeakMemoryUsage()),
            
'statements' => $stmts
        
);
    }

    
/**
     * @return string
     */
    
public function getName()
    {
        return 
'pdo';
    }

    
/**
     * @return array
     */
    
public function getWidgets()
    {
        return array(
            
"database" => array(
                
"icon" => "database",
                
"widget" => "PhpDebugBar.Widgets.SQLQueriesWidget",
                
"map" => "pdo",
                
"default" => "[]"
            
),
            
"database:badge" => array(
                
"map" => "pdo.nb_statements",
                
"default" => 0
            
)
        );
    }

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

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