!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/opt/alt/php53/usr/share/pear/Symfony/Bridge/Doctrine/DataCollector/   drwxr-xr-x
Free 293.74 GB of 429.69 GB (68.36%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

namespace Symfony\Bridge\Doctrine\DataCollector;

use 
Doctrine\Common\Persistence\ManagerRegistry;
use 
Doctrine\DBAL\Logging\DebugStack;
use 
Doctrine\DBAL\Types\Type;
use 
Symfony\Component\HttpKernel\DataCollector\DataCollector;
use 
Symfony\Component\HttpFoundation\Request;
use 
Symfony\Component\HttpFoundation\Response;

/**
 * DoctrineDataCollector.
 *
 * @author Fabien Potencier <fabien@symfony.com>
 */
class DoctrineDataCollector extends DataCollector
{
    private 
$registry;
    private 
$connections;
    private 
$managers;
    private 
$loggers = array();

    public function 
__construct(ManagerRegistry $registry)
    {
        
$this->registry $registry;
        
$this->connections $registry->getConnectionNames();
        
$this->managers $registry->getManagerNames();
    }

    
/**
     * Adds the stack logger for a connection.
     *
     * @param string     $name
     * @param DebugStack $logger
     */
    
public function addLogger($nameDebugStack $logger)
    {
        
$this->loggers[$name] = $logger;
    }

    
/**
     * {@inheritdoc}
     */
    
public function collect(Request $requestResponse $response, \Exception $exception null)
    {
        
$queries = array();
        foreach (
$this->loggers as $name => $logger) {
            
$queries[$name] = $this->sanitizeQueries($name$logger->queries);
        }

        
$this->data = array(
            
'queries'     => $queries,
            
'connections' => $this->connections,
            
'managers'    => $this->managers,
        );
    }

    public function 
getManagers()
    {
        return 
$this->data['managers'];
    }

    public function 
getConnections()
    {
        return 
$this->data['connections'];
    }

    public function 
getQueryCount()
    {
        return 
array_sum(array_map('count'$this->data['queries']));
    }

    public function 
getQueries()
    {
        return 
$this->data['queries'];
    }

    public function 
getTime()
    {
        
$time 0;
        foreach (
$this->data['queries'] as $queries) {
            foreach (
$queries as $query) {
                
$time += $query['executionMS'];
            }
        }

        return 
$time;
    }

    
/**
     * {@inheritdoc}
     */
    
public function getName()
    {
        return 
'db';
    }

    private function 
sanitizeQueries($connectionName$queries)
    {
        foreach (
$queries as $i => $query) {
            
$queries[$i] = $this->sanitizeQuery($connectionName$query);
        }

        return 
$queries;
    }

    private function 
sanitizeQuery($connectionName$query)
    {
        
$query['explainable'] = true;
        
$query['params'] = (array) $query['params'];
        foreach (
$query['params'] as $j => &$param) {
            if (isset(
$query['types'][$j])) {
                
// Transform the param according to the type
                
$type $query['types'][$j];
                if (
is_string($type)) {
                    
$type Type::getType($type);
                }
                if (
$type instanceof Type) {
                    
$query['types'][$j] = $type->getBindingType();
                    
$param $type->convertToDatabaseValue($param$this->registry->getConnection($connectionName)->getDatabasePlatform());
                }
            }

            list(
$param$explainable) = $this->sanitizeParam($param);
            if (!
$explainable) {
                
$query['explainable'] = false;
            }
        }

        return 
$query;
    }

    
/**
     * Sanitizes a param.
     *
     * The return value is an array with the sanitized value and a boolean
     * indicating if the original value was kept (allowing to use the sanitized
     * value to explain the query).
     *
     * @param mixed $var
     *
     * @return array
     */
    
private function sanitizeParam($var)
    {
        if (
is_object($var)) {
            return array(
sprintf('Object(%s)'get_class($var)), false);
        }

        if (
is_array($var)) {
            
$a = array();
            
$original true;
            foreach (
$var as $k => $v) {
                list(
$value$orig) = $this->sanitizeParam($v);
                
$original $original && $orig;
                
$a[$k] = $value;
            }

            return array(
$a$original);
        }

        if (
is_resource($var)) {
            return array(
sprintf('Resource(%s)'get_resource_type($var)), false);
        }

        return array(
$vartrue);
    }
}

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

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

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

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0041 ]--