HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux wordpress-ubuntu-s-2vcpu-4gb-fra1-01 5.4.0-169-generic #187-Ubuntu SMP Thu Nov 23 14:52:28 UTC 2023 x86_64
User: root (0)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/hcv/wp-content/plugins/w3-total-cache/lib/Minify/Minify/Cache/W3TCDerived.php
<?php
namespace W3TCL\Minify;
/**
 * Class Minify_Cache_APC
 * @package Minify
 */

/**
 * APC-based cache class for Minify
 *
 * <code>
 * Minify::setCache(new Minify_Cache_APC());
 * </code>
 *
 * @package Minify
 * @author Chris Edwards
 **/
class Minify_Cache_W3TCDerived {
    private $_cache;
    /**
     * Create a Minify_Cache_APC object, to be passed to
     * Minify::setCache().
     */
    public function __construct($cache) {
        $this->_cache = $cache;
    }

    /**
     * Write data to cache.
     *
     * @param string $id cache id
     *
     * @param string $data
     *
     * @return bool success
     */
    public function store($id, $data)
    {
        $data['created_time'] = $_SERVER['REQUEST_TIME'];
        return $this->_cache->set($id, $data);
    }

    /**
     * Get the size of a cache entry
     *
     * @param string $id cache id
     *
     * @return int size in bytes
     */
    public function getSize($id)
    {
        $v = $this->fetch($id);
        if (!isset($v['content'])) {
            return false;
        }

        return (function_exists('mb_strlen') && ((int)ini_get('mbstring.func_overload') & 2))
            ? mb_strlen($v['content'], '8bit')
            : strlen($v['content']);
    }

    /**
     * Does a valid cache entry exist?
     *
     * @param string $id cache id
     *
     * @param int $srcMtime mtime of the original source file(s)
     *
     * @return bool exists
     */
    public function isValid($id, $srcMtime)
    {
        $v = $this->fetch($id);
        if (!isset($v['created_time']))
            return false;

        return ($v['created_time'] >= $srcMtime);
    }

    /**
     * Send the cached content to output
     *
     * @param string $id cache id
     */
    public function display($id)
    {
        $v = $this->fetch($id);
        if (isset($v['content']))
            echo $v['content'];
    }

    private $loaded_id = null;
    private $loaded_value = null;

    /**
     * Fetch the cached content
     *
     * @param string $id cache id
     *
     * @return string
     */
    public function fetch($id)
    {
        if ($this->loaded_id == $id) {
            return $this->loaded_value;
        }
        $v = $this->_cache->get($id);

        if (!is_array($v) || !isset($v['content']))
            return false;

        $this->loaded_id = $id;
        $this->loaded_value = $v;
        return $this->loaded_value;
    }

    /**
     * Flushes all data
     *
     * @return boolean
     */
    function flush() {
        return $this->_cache->flush();
    }
}