/home/techb158/immovalet.com/vendor/laravel/framework/src/Illuminate/Cache
NameSizeModeActions
Console/-0755rm
Events/-0755rm
RateLimiting/-0755rm
ApcStore.php25860644editdlrm
ApcWrapper.php18980644editdlrm
ArrayLock.php20800644editdlrm
ArrayStore.php46610644editdlrm
CacheLock.php18530644editdlrm
CacheManager.php106500644editdlrm
CacheServiceProvider.php11880644editdlrm
composer.json13060644editdlrm
DatabaseLock.php36400644editdlrm
DatabaseStore.php103530644editdlrm
DynamoDbLock.php14860644editdlrm
DynamoDbStore.php148330644editdlrm
FileStore.php83670644editdlrm
HasCacheLock.php6810644editdlrm
LICENSE.md10750644editdlrm
Lock.php35470644editdlrm
LuaScripts.php4620644editdlrm
MemcachedConnector.php23820644editdlrm
MemcachedLock.php14530644editdlrm
MemcachedStore.php63260644editdlrm
NoLock.php6920644editdlrm
NullStore.php24080644editdlrm
PhpRedisLock.php31210644editdlrm
RateLimiter.php35300644editdlrm
RedisLock.php17940644editdlrm
RedisStore.php81680644editdlrm
RedisTaggedCache.php47770644editdlrm
Repository.php161740644editdlrm
RetrievesMultipleKeys.php11550644editdlrm
TaggableStore.php4210644editdlrm
TaggedCache.php25320644editdlrm
TagSet.php21500644editdlrm
Edit: /home/techb158/immovalet.com/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php (8367B)
files = $files; $this->directory = $directory; $this->filePermission = $filePermission; } /** * Retrieve an item from the cache by key. * * @param string|array $key * @return mixed */ public function get($key) { return $this->getPayload($key)['data'] ?? null; } /** * Store an item in the cache for a given number of seconds. * * @param string $key * @param mixed $value * @param int $seconds * @return bool */ public function put($key, $value, $seconds) { $this->ensureCacheDirectoryExists($path = $this->path($key)); $result = $this->files->put( $path, $this->expiration($seconds).serialize($value), true ); if ($result !== false && $result > 0) { $this->ensureFileHasCorrectPermissions($path); return true; } return false; } /** * Store an item in the cache if the key doesn't exist. * * @param string $key * @param mixed $value * @param int $seconds * @return bool */ public function add($key, $value, $seconds) { $this->ensureCacheDirectoryExists($path = $this->path($key)); $file = new LockableFile($path, 'c+'); try { $file->getExclusiveLock(); } catch (LockTimeoutException $e) { $file->close(); return false; } $expire = $file->read(10); if (empty($expire) || $this->currentTime() >= $expire) { $file->truncate() ->write($this->expiration($seconds).serialize($value)) ->close(); $this->ensureFileHasCorrectPermissions($path); return true; } $file->close(); return false; } /** * Create the file cache directory if necessary. * * @param string $path * @return void */ protected function ensureCacheDirectoryExists($path) { if (! $this->files->exists(dirname($path))) { $this->files->makeDirectory(dirname($path), 0777, true, true); } } /** * Ensure the cache file has the correct permissions. * * @param string $path * @return void */ protected function ensureFileHasCorrectPermissions($path) { if (is_null($this->filePermission) || intval($this->files->chmod($path), 8) == $this->filePermission) { return; } $this->files->chmod($path, $this->filePermission); } /** * Increment the value of an item in the cache. * * @param string $key * @param mixed $value * @return int */ public function increment($key, $value = 1) { $raw = $this->getPayload($key); return tap(((int) $raw['data']) + $value, function ($newValue) use ($key, $raw) { $this->put($key, $newValue, $raw['time'] ?? 0); }); } /** * Decrement the value of an item in the cache. * * @param string $key * @param mixed $value * @return int */ public function decrement($key, $value = 1) { return $this->increment($key, $value * -1); } /** * Store an item in the cache indefinitely. * * @param string $key * @param mixed $value * @return bool */ public function forever($key, $value) { return $this->put($key, $value, 0); } /** * Remove an item from the cache. * * @param string $key * @return bool */ public function forget($key) { if ($this->files->exists($file = $this->path($key))) { return $this->files->delete($file); } return false; } /** * Remove all items from the cache. * * @return bool */ public function flush() { if (! $this->files->isDirectory($this->directory)) { return false; } foreach ($this->files->directories($this->directory) as $directory) { $deleted = $this->files->deleteDirectory($directory); if (! $deleted || $this->files->exists($directory)) { return false; } } return true; } /** * Retrieve an item and expiry time from the cache by key. * * @param string $key * @return array */ protected function getPayload($key) { $path = $this->path($key); // If the file doesn't exist, we obviously cannot return the cache so we will // just return null. Otherwise, we'll get the contents of the file and get // the expiration UNIX timestamps from the start of the file's contents. try { $expire = substr( $contents = $this->files->get($path, true), 0, 10 ); } catch (Exception $e) { return $this->emptyPayload(); } // If the current time is greater than expiration timestamps we will delete // the file and return null. This helps clean up the old files and keeps // this directory much cleaner for us as old files aren't hanging out. if ($this->currentTime() >= $expire) { $this->forget($key); return $this->emptyPayload(); } try { $data = unserialize(substr($contents, 10)); } catch (Exception $e) { $this->forget($key); return $this->emptyPayload(); } // Next, we'll extract the number of seconds that are remaining for a cache // so that we can properly retain the time for things like the increment // operation that may be performed on this cache on a later operation. $time = $expire - $this->currentTime(); return compact('data', 'time'); } /** * Get a default empty payload for the cache. * * @return array */ protected function emptyPayload() { return ['data' => null, 'time' => null]; } /** * Get the full path for the given cache key. * * @param string $key * @return string */ protected function path($key) { $parts = array_slice(str_split($hash = sha1($key), 2), 0, 2); return $this->directory.'/'.implode('/', $parts).'/'.$hash; } /** * Get the expiration time based on the given seconds. * * @param int $seconds * @return int */ protected function expiration($seconds) { $time = $this->availableAt($seconds); return $seconds === 0 || $time > 9999999999 ? 9999999999 : $time; } /** * Get the Filesystem instance. * * @return \Illuminate\Filesystem\Filesystem */ public function getFilesystem() { return $this->files; } /** * Get the working directory of the cache. * * @return string */ public function getDirectory() { return $this->directory; } /** * Get the cache key prefix. * * @return string */ public function getPrefix() { return ''; } }