403Webshell
Server IP : 193.239.44.106  /  Your IP : 216.73.216.199
Web Server : Apache
System : Linux web5 6.18.41-1 #1 SMP PREEMPT_DYNAMIC Fri Jul 31 10:41:42 CEST 2026 x86_64
User :  ( 10117)
PHP Version : 8.2.32
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /home/virtualki/259324/wp-content/plugins/elementor/vendor_prefixed/twig/src/Cache/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/virtualki/259324/wp-content/plugins/elementor/vendor_prefixed/twig/src/Cache/ChainCache.php
<?php

/*
 * This file is part of Twig.
 *
 * (c) Fabien Potencier
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace ElementorDeps\Twig\Cache;

/**
 * Chains several caches together.
 *
 * Cached items are fetched from the first cache having them in its data store.
 * They are saved and deleted in all adapters at once.
 *
 * @author Quentin Devos <quentin@devos.pm>
 */
final class ChainCache implements CacheInterface
{
    private $caches;
    /**
     * @param iterable<CacheInterface> $caches The ordered list of caches used to store and fetch cached items
     */
    public function __construct(iterable $caches)
    {
        $this->caches = $caches;
    }
    public function generateKey(string $name, string $className) : string
    {
        return $className . '#' . $name;
    }
    public function write(string $key, string $content) : void
    {
        $splitKey = $this->splitKey($key);
        foreach ($this->caches as $cache) {
            $cache->write($cache->generateKey(...$splitKey), $content);
        }
    }
    public function load(string $key) : void
    {
        [$name, $className] = $this->splitKey($key);
        foreach ($this->caches as $cache) {
            $cache->load($cache->generateKey($name, $className));
            if (\class_exists($className, \false)) {
                break;
            }
        }
    }
    public function getTimestamp(string $key) : int
    {
        $splitKey = $this->splitKey($key);
        foreach ($this->caches as $cache) {
            if (0 < ($timestamp = $cache->getTimestamp($cache->generateKey(...$splitKey)))) {
                return $timestamp;
            }
        }
        return 0;
    }
    /**
     * @return string[]
     */
    private function splitKey(string $key) : array
    {
        return \array_reverse(\explode('#', $key, 2));
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit