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

Software: nginx/1.23.4. PHP/5.6.40-65+ubuntu20.04.1+deb.sury.org+1 

uname -a: Linux foro-restaurado-2 5.15.0-1040-oracle #46-Ubuntu SMP Fri Jul 14 21:47:21 UTC 2023
aarch64
 

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

Safe-mode: OFF (not secure)

/usr/share/php/Symfony/Component/Cache/Adapter/   drwxr-xr-x
Free 83.26 GB of 96.73 GB (86.07%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


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

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

namespace Symfony\Component\Cache\Adapter;

use 
Psr\Cache\CacheItemInterface;
use 
Psr\Cache\CacheItemPoolInterface;
use 
Symfony\Component\Cache\CacheItem;
use 
Symfony\Component\Cache\PruneableInterface;
use 
Symfony\Component\Cache\ResettableInterface;
use 
Symfony\Component\Cache\Traits\ContractsTrait;
use 
Symfony\Component\Cache\Traits\ProxyTrait;
use 
Symfony\Contracts\Cache\CacheInterface;

/**
 * @author Nicolas Grekas <[email protected]>
 */
class ProxyAdapter implements AdapterInterfaceCacheInterfacePruneableInterfaceResettableInterface
{
    use 
ContractsTrait;
    use 
ProxyTrait;

    private 
$namespace '';
    private 
$namespaceLen;
    private 
$poolHash;
    private 
$defaultLifetime;

    private static 
$createCacheItem;
    private static 
$setInnerItem;

    public function 
__construct(CacheItemPoolInterface $poolstring $namespace ''int $defaultLifetime 0)
    {
        
$this->pool $pool;
        
$this->poolHash $poolHash spl_object_hash($pool);
        if (
'' !== $namespace) {
            \
assert('' !== CacheItem::validateKey($namespace));
            
$this->namespace $namespace;
        }
        
$this->namespaceLen = \strlen($namespace);
        
$this->defaultLifetime $defaultLifetime;
        
self::$createCacheItem ?? self::$createCacheItem = \Closure::bind(
            static function (
$key$innerItem$poolHash) {
                
$item = new CacheItem();
                
$item->key $key;

                if (
null === $innerItem) {
                    return 
$item;
                }

                
$item->value $v $innerItem->get();
                
$item->isHit $innerItem->isHit();
                
$item->innerItem $innerItem;
                
$item->poolHash $poolHash;

                
// Detect wrapped values that encode for their expiry and creation duration
                // For compactness, these values are packed in the key of an array using
                // magic numbers in the form 9D-..-..-..-..-00-..-..-..-5F
                
if (\is_array($v) && === \count($v) && 10 === \strlen($k = (string) array_key_first($v)) && "\x9D" === $k[0] && "\0" === $k[5] && "\x5F" === $k[9]) {
                    
$item->value $v[$k];
                    
$v unpack('Ve/Nc'substr($k1, -1));
                    
$item->metadata[CacheItem::METADATA_EXPIRY] = $v['e'] + CacheItem::METADATA_EXPIRY_OFFSET;
                    
$item->metadata[CacheItem::METADATA_CTIME] = $v['c'];
                } elseif (
$innerItem instanceof CacheItem) {
                    
$item->metadata $innerItem->metadata;
                }
                
$innerItem->set(null);

                return 
$item;
            },
            
null,
            
CacheItem::class
        );
        
self::$setInnerItem ?? self::$setInnerItem = \Closure::bind(
            
/**
             * @param array $item A CacheItem cast to (array); accessing protected properties requires adding the "\0*\0" PHP prefix
             */
            
static function (CacheItemInterface $innerItem, array $item) {
                
// Tags are stored separately, no need to account for them when considering this item's newly set metadata
                
if (isset(($metadata $item["\0*\0newMetadata"])[CacheItem::METADATA_TAGS])) {
                    unset(
$metadata[CacheItem::METADATA_TAGS]);
                }
                if (
$metadata) {
                    
// For compactness, expiry and creation duration are packed in the key of an array, using magic numbers as separators
                    
$item["\0*\0value"] = ["\x9D".pack('VN', (int) (0.1 $metadata[self::METADATA_EXPIRY] - self::METADATA_EXPIRY_OFFSET), $metadata[self::METADATA_CTIME])."\x5F" => $item["\0*\0value"]];
                }
                
$innerItem->set($item["\0*\0value"]);
                
$innerItem->expiresAt(null !== $item["\0*\0expiry"] ? \DateTime::createFromFormat('U.u'sprintf('%.6F'$item["\0*\0expiry"])) : null);
            },
            
null,
            
CacheItem::class
        );
    }

    
/**
     * {@inheritdoc}
     */
    
public function get(string $key, callable $callbackfloat $beta null, array &$metadata null): mixed
    
{
        if (!
$this->pool instanceof CacheInterface) {
            return 
$this->doGet($this$key$callback$beta$metadata);
        }

        return 
$this->pool->get($this->getId($key), function ($innerItembool &$save) use ($key$callback) {
            
$item = (self::$createCacheItem)($key$innerItem$this->poolHash);
            
$item->set($value $callback($item$save));
            (
self::$setInnerItem)($innerItem, (array) $item);

            return 
$value;
        }, 
$beta$metadata);
    }

    
/**
     * {@inheritdoc}
     */
    
public function getItem($key)
    {
        
$item $this->pool->getItem($this->getId($key));

        return (
self::$createCacheItem)($key$item$this->poolHash);
    }

    
/**
     * {@inheritdoc}
     */
    
public function getItems(array $keys = [])
    {
        if (
$this->namespaceLen) {
            foreach (
$keys as $i => $key) {
                
$keys[$i] = $this->getId($key);
            }
        }

        return 
$this->generateItems($this->pool->getItems($keys));
    }

    
/**
     * {@inheritdoc}
     *
     * @return bool
     */
    
public function hasItem($key)
    {
        return 
$this->pool->hasItem($this->getId($key));
    }

    
/**
     * {@inheritdoc}
     *
     * @return bool
     */
    
public function clear(string $prefix '')
    {
        if (
$this->pool instanceof AdapterInterface) {
            return 
$this->pool->clear($this->namespace.$prefix);
        }

        return 
$this->pool->clear();
    }

    
/**
     * {@inheritdoc}
     *
     * @return bool
     */
    
public function deleteItem($key)
    {
        return 
$this->pool->deleteItem($this->getId($key));
    }

    
/**
     * {@inheritdoc}
     *
     * @return bool
     */
    
public function deleteItems(array $keys)
    {
        if (
$this->namespaceLen) {
            foreach (
$keys as $i => $key) {
                
$keys[$i] = $this->getId($key);
            }
        }

        return 
$this->pool->deleteItems($keys);
    }

    
/**
     * {@inheritdoc}
     *
     * @return bool
     */
    
public function save(CacheItemInterface $item)
    {
        return 
$this->doSave($item__FUNCTION__);
    }

    
/**
     * {@inheritdoc}
     *
     * @return bool
     */
    
public function saveDeferred(CacheItemInterface $item)
    {
        return 
$this->doSave($item__FUNCTION__);
    }

    
/**
     * {@inheritdoc}
     *
     * @return bool
     */
    
public function commit()
    {
        return 
$this->pool->commit();
    }

    private function 
doSave(CacheItemInterface $itemstring $method)
    {
        if (!
$item instanceof CacheItem) {
            return 
false;
        }
        
$item = (array) $item;
        if (
null === $item["\0*\0expiry"] && $this->defaultLifetime) {
            
$item["\0*\0expiry"] = microtime(true) + $this->defaultLifetime;
        }

        if (
$item["\0*\0poolHash"] === $this->poolHash && $item["\0*\0innerItem"]) {
            
$innerItem $item["\0*\0innerItem"];
        } elseif (
$this->pool instanceof AdapterInterface) {
            
// this is an optimization specific for AdapterInterface implementations
            // so we can save a round-trip to the backend by just creating a new item
            
$innerItem = (self::$createCacheItem)($this->namespace.$item["\0*\0key"], null$this->poolHash);
        } else {
            
$innerItem $this->pool->getItem($this->namespace.$item["\0*\0key"]);
        }

        (
self::$setInnerItem)($innerItem$item);

        return 
$this->pool->$method($innerItem);
    }

    private function 
generateItems(iterable $items): \Generator
    
{
        
$f self::$createCacheItem;

        foreach (
$items as $key => $item) {
            if (
$this->namespaceLen) {
                
$key substr($key$this->namespaceLen);
            }

            yield 
$key => $f($key$item$this->poolHash);
        }
    }

    private function 
getId($key): string
    
{
        \
assert('' !== CacheItem::validateKey($key));

        return 
$this->namespace.$key;
    }
}

:: 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 HackingTool | HackingTool | Generation time: 0.0048 ]--