uawdijnntqw1x1x1
IP : 216.73.216.77
Hostname : webm007.cluster114.gra.hosting.ovh.net
Kernel : Linux webm007.cluster114.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
locationbo
/
www
/
libraries
/
foxcontact
/
swiftmailer
/
.
/
classes
/
Swift
/
KeyCache
/
DiskKeyCache.php
/
/
<?php defined('_JEXEC') or die; /** * @package Fox Contact for Joomla * @copyright Copyright (c) Fox Labs, all rights reserved. * @license Distributed under the terms of the GNU General Public License GNU/GPL v3 http://www.gnu.org/licenses/gpl-3.0.html * @see Documentation: http://www.fox.ra.it/forum/2-documentation.html */ class Swift_KeyCache_DiskKeyCache implements Swift_KeyCache { const POSITION_START = 0; const POSITION_END = 1; const POSITION_CURRENT = 2; private $_stream; private $_path; private $_keys = array(); private $_quotes = false; public function __construct(Swift_KeyCache_KeyCacheInputStream $stream, $path) { $this->_stream = $stream; $this->_path = $path; if (function_exists('get_magic_quotes_runtime') && @get_magic_quotes_runtime() == 1) { $this->_quotes = true; } } public function setString($nsKey, $itemKey, $string, $mode) { $this->_prepareCache($nsKey); switch ($mode) { case self::MODE_WRITE: $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); break; case self::MODE_APPEND: $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_END); break; default: throw new Swift_SwiftException('Invalid mode [' . $mode . '] used to set nsKey=' . $nsKey . ', itemKey=' . $itemKey); break; } fwrite($fp, $string); $this->_freeHandle($nsKey, $itemKey); } public function importFromByteStream($nsKey, $itemKey, Swift_OutputByteStream $os, $mode) { $this->_prepareCache($nsKey); switch ($mode) { case self::MODE_WRITE: $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); break; case self::MODE_APPEND: $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_END); break; default: throw new Swift_SwiftException('Invalid mode [' . $mode . '] used to set nsKey=' . $nsKey . ', itemKey=' . $itemKey); break; } while (false !== ($bytes = $os->read(8192))) { fwrite($fp, $bytes); } $this->_freeHandle($nsKey, $itemKey); } public function getInputByteStream($nsKey, $itemKey, Swift_InputByteStream $writeThrough = null) { $is = clone $this->_stream; $is->setKeyCache($this); $is->setNsKey($nsKey); $is->setItemKey($itemKey); if (isset($writeThrough)) { $is->setWriteThroughStream($writeThrough); } return $is; } public function getString($nsKey, $itemKey) { $this->_prepareCache($nsKey); if ($this->hasKey($nsKey, $itemKey)) { $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); if ($this->_quotes) { ini_set('magic_quotes_runtime', 0); } $str = ''; while (!feof($fp) && false !== ($bytes = fread($fp, 8192))) { $str .= $bytes; } if ($this->_quotes) { ini_set('magic_quotes_runtime', 1); } $this->_freeHandle($nsKey, $itemKey); return $str; } } public function exportToByteStream($nsKey, $itemKey, Swift_InputByteStream $is) { if ($this->hasKey($nsKey, $itemKey)) { $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_START); if ($this->_quotes) { ini_set('magic_quotes_runtime', 0); } while (!feof($fp) && false !== ($bytes = fread($fp, 8192))) { $is->write($bytes); } if ($this->_quotes) { ini_set('magic_quotes_runtime', 1); } $this->_freeHandle($nsKey, $itemKey); } } public function hasKey($nsKey, $itemKey) { return is_file($this->_path . '/' . $nsKey . '/' . $itemKey); } public function clearKey($nsKey, $itemKey) { if ($this->hasKey($nsKey, $itemKey)) { $this->_freeHandle($nsKey, $itemKey); unlink($this->_path . '/' . $nsKey . '/' . $itemKey); } } public function clearAll($nsKey) { if (array_key_exists($nsKey, $this->_keys)) { foreach ($this->_keys[$nsKey] as $itemKey => $null) { $this->clearKey($nsKey, $itemKey); } if (is_dir($this->_path . '/' . $nsKey)) { rmdir($this->_path . '/' . $nsKey); } unset($this->_keys[$nsKey]); } } private function _prepareCache($nsKey) { $cacheDir = $this->_path . '/' . $nsKey; if (!is_dir($cacheDir)) { if (!mkdir($cacheDir)) { throw new Swift_IoException('Failed to create cache directory ' . $cacheDir); } $this->_keys[$nsKey] = array(); } } private function _getHandle($nsKey, $itemKey, $position) { if (!isset($this->_keys[$nsKey][$itemKey])) { $openMode = $this->hasKey($nsKey, $itemKey) ? 'r+b' : 'w+b'; $fp = fopen($this->_path . '/' . $nsKey . '/' . $itemKey, $openMode); $this->_keys[$nsKey][$itemKey] = $fp; } if (self::POSITION_START == $position) { fseek($this->_keys[$nsKey][$itemKey], 0, SEEK_SET); } elseif (self::POSITION_END == $position) { fseek($this->_keys[$nsKey][$itemKey], 0, SEEK_END); } return $this->_keys[$nsKey][$itemKey]; } private function _freeHandle($nsKey, $itemKey) { $fp = $this->_getHandle($nsKey, $itemKey, self::POSITION_CURRENT); fclose($fp); $this->_keys[$nsKey][$itemKey] = null; } public function __destruct() { foreach ($this->_keys as $nsKey => $null) { $this->clearAll($nsKey); } } }
/home/locationbo/www/libraries/foxcontact/swiftmailer/./classes/Swift/KeyCache/DiskKeyCache.php