summaryrefslogtreecommitdiff
path: root/vendor/swiftmailer/classes/Swift/ByteStream
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/swiftmailer/classes/Swift/ByteStream')
-rw-r--r--vendor/swiftmailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php179
-rw-r--r--vendor/swiftmailer/classes/Swift/ByteStream/ArrayByteStream.php184
-rw-r--r--vendor/swiftmailer/classes/Swift/ByteStream/FileByteStream.php229
-rw-r--r--vendor/swiftmailer/classes/Swift/ByteStream/TemporaryFileByteStream.php42
4 files changed, 0 insertions, 634 deletions
diff --git a/vendor/swiftmailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php b/vendor/swiftmailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php
deleted file mode 100644
index 3e597d17..00000000
--- a/vendor/swiftmailer/classes/Swift/ByteStream/AbstractFilterableInputStream.php
+++ /dev/null
@@ -1,179 +0,0 @@
-<?php
-
-/*
- * This file is part of SwiftMailer.
- * (c) 2004-2009 Chris Corbyn
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Provides the base functionality for an InputStream supporting filters.
- *
- * @author Chris Corbyn
- */
-abstract class Swift_ByteStream_AbstractFilterableInputStream implements Swift_InputByteStream, Swift_Filterable
-{
- /**
- * Write sequence.
- */
- protected $_sequence = 0;
-
- /**
- * StreamFilters.
- */
- private $_filters = array();
-
- /**
- * A buffer for writing.
- */
- private $_writeBuffer = '';
-
- /**
- * Bound streams.
- *
- * @var Swift_InputByteStream[]
- */
- private $_mirrors = array();
-
- /**
- * Commit the given bytes to the storage medium immediately.
- *
- * @param string $bytes
- */
- abstract protected function _commit($bytes);
-
- /**
- * Flush any buffers/content with immediate effect.
- */
- abstract protected function _flush();
-
- /**
- * Add a StreamFilter to this InputByteStream.
- *
- * @param Swift_StreamFilter $filter
- * @param string $key
- */
- public function addFilter(Swift_StreamFilter $filter, $key)
- {
- $this->_filters[$key] = $filter;
- }
-
- /**
- * Remove an already present StreamFilter based on its $key.
- *
- * @param string $key
- */
- public function removeFilter($key)
- {
- unset($this->_filters[$key]);
- }
-
- /**
- * Writes $bytes to the end of the stream.
- *
- * @param string $bytes
- *
- * @return int
- *
- * @throws Swift_IoException
- */
- public function write($bytes)
- {
- $this->_writeBuffer .= $bytes;
- foreach ($this->_filters as $filter) {
- if ($filter->shouldBuffer($this->_writeBuffer)) {
- return;
- }
- }
- $this->_doWrite($this->_writeBuffer);
-
- return ++$this->_sequence;
- }
-
- /**
- * For any bytes that are currently buffered inside the stream, force them
- * off the buffer.
- *
- * @throws Swift_IoException
- */
- public function commit()
- {
- $this->_doWrite($this->_writeBuffer);
- }
-
- /**
- * Attach $is to this stream.
- *
- * The stream acts as an observer, receiving all data that is written.
- * All {@link write()} and {@link flushBuffers()} operations will be mirrored.
- *
- * @param Swift_InputByteStream $is
- */
- public function bind(Swift_InputByteStream $is)
- {
- $this->_mirrors[] = $is;
- }
-
- /**
- * Remove an already bound stream.
- *
- * If $is is not bound, no errors will be raised.
- * If the stream currently has any buffered data it will be written to $is
- * before unbinding occurs.
- *
- * @param Swift_InputByteStream $is
- */
- public function unbind(Swift_InputByteStream $is)
- {
- foreach ($this->_mirrors as $k => $stream) {
- if ($is === $stream) {
- if ($this->_writeBuffer !== '') {
- $stream->write($this->_writeBuffer);
- }
- unset($this->_mirrors[$k]);
- }
- }
- }
-
- /**
- * Flush the contents of the stream (empty it) and set the internal pointer
- * to the beginning.
- *
- * @throws Swift_IoException
- */
- public function flushBuffers()
- {
- if ($this->_writeBuffer !== '') {
- $this->_doWrite($this->_writeBuffer);
- }
- $this->_flush();
-
- foreach ($this->_mirrors as $stream) {
- $stream->flushBuffers();
- }
- }
-
- /** Run $bytes through all filters */
- private function _filter($bytes)
- {
- foreach ($this->_filters as $filter) {
- $bytes = $filter->filter($bytes);
- }
-
- return $bytes;
- }
-
- /** Just write the bytes to the stream */
- private function _doWrite($bytes)
- {
- $this->_commit($this->_filter($bytes));
-
- foreach ($this->_mirrors as $stream) {
- $stream->write($bytes);
- }
-
- $this->_writeBuffer = '';
- }
-}
diff --git a/vendor/swiftmailer/classes/Swift/ByteStream/ArrayByteStream.php b/vendor/swiftmailer/classes/Swift/ByteStream/ArrayByteStream.php
deleted file mode 100644
index 043a5179..00000000
--- a/vendor/swiftmailer/classes/Swift/ByteStream/ArrayByteStream.php
+++ /dev/null
@@ -1,184 +0,0 @@
-<?php
-
-/*
- * This file is part of SwiftMailer.
- * (c) 2004-2009 Chris Corbyn
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Allows reading and writing of bytes to and from an array.
- *
- * @author Chris Corbyn
- */
-class Swift_ByteStream_ArrayByteStream implements Swift_InputByteStream, Swift_OutputByteStream
-{
- /**
- * The internal stack of bytes.
- *
- * @var string[]
- */
- private $_array = array();
-
- /**
- * The size of the stack
- *
- * @var int
- */
- private $_arraySize = 0;
-
- /**
- * The internal pointer offset.
- *
- * @var int
- */
- private $_offset = 0;
-
- /**
- * Bound streams.
- *
- * @var Swift_InputByteStream[]
- */
- private $_mirrors = array();
-
- /**
- * Create a new ArrayByteStream.
- *
- * If $stack is given the stream will be populated with the bytes it contains.
- *
- * @param mixed $stack of bytes in string or array form, optional
- */
- public function __construct($stack = null)
- {
- if (is_array($stack)) {
- $this->_array = $stack;
- $this->_arraySize = count($stack);
- } elseif (is_string($stack)) {
- $this->write($stack);
- } else {
- $this->_array = array();
- }
- }
-
- /**
- * Reads $length bytes from the stream into a string and moves the pointer
- * through the stream by $length.
- *
- * If less bytes exist than are requested the
- * remaining bytes are given instead. If no bytes are remaining at all, boolean
- * false is returned.
- *
- * @param int $length
- *
- * @return string
- */
- public function read($length)
- {
- if ($this->_offset == $this->_arraySize) {
- return false;
- }
-
- // Don't use array slice
- $end = $length + $this->_offset;
- $end = $this->_arraySize<$end
- ?$this->_arraySize
- :$end;
- $ret = '';
- for (; $this->_offset < $end; ++$this->_offset) {
- $ret .= $this->_array[$this->_offset];
- }
-
- return $ret;
- }
-
- /**
- * Writes $bytes to the end of the stream.
- *
- * @param string $bytes
- */
- public function write($bytes)
- {
- $to_add = str_split($bytes);
- foreach ($to_add as $value) {
- $this->_array[] = $value;
- }
- $this->_arraySize = count($this->_array);
-
- foreach ($this->_mirrors as $stream) {
- $stream->write($bytes);
- }
- }
-
- /**
- * Not used.
- */
- public function commit()
- {
- }
-
- /**
- * Attach $is to this stream.
- *
- * The stream acts as an observer, receiving all data that is written.
- * All {@link write()} and {@link flushBuffers()} operations will be mirrored.
- *
- * @param Swift_InputByteStream $is
- */
- public function bind(Swift_InputByteStream $is)
- {
- $this->_mirrors[] = $is;
- }
-
- /**
- * Remove an already bound stream.
- *
- * If $is is not bound, no errors will be raised.
- * If the stream currently has any buffered data it will be written to $is
- * before unbinding occurs.
- *
- * @param Swift_InputByteStream $is
- */
- public function unbind(Swift_InputByteStream $is)
- {
- foreach ($this->_mirrors as $k => $stream) {
- if ($is === $stream) {
- unset($this->_mirrors[$k]);
- }
- }
- }
-
- /**
- * Move the internal read pointer to $byteOffset in the stream.
- *
- * @param int $byteOffset
- *
- * @return bool
- */
- public function setReadPointer($byteOffset)
- {
- if ($byteOffset > $this->_arraySize) {
- $byteOffset = $this->_arraySize;
- } elseif ($byteOffset < 0) {
- $byteOffset = 0;
- }
-
- $this->_offset = $byteOffset;
- }
-
- /**
- * Flush the contents of the stream (empty it) and set the internal pointer
- * to the beginning.
- */
- public function flushBuffers()
- {
- $this->_offset = 0;
- $this->_array = array();
- $this->_arraySize = 0;
-
- foreach ($this->_mirrors as $stream) {
- $stream->flushBuffers();
- }
- }
-}
diff --git a/vendor/swiftmailer/classes/Swift/ByteStream/FileByteStream.php b/vendor/swiftmailer/classes/Swift/ByteStream/FileByteStream.php
deleted file mode 100644
index 9f3218f7..00000000
--- a/vendor/swiftmailer/classes/Swift/ByteStream/FileByteStream.php
+++ /dev/null
@@ -1,229 +0,0 @@
-<?php
-
-/*
- * This file is part of SwiftMailer.
- * (c) 2004-2009 Chris Corbyn
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-/**
- * Allows reading and writing of bytes to and from a file.
- *
- * @author Chris Corbyn
- */
-class Swift_ByteStream_FileByteStream extends Swift_ByteStream_AbstractFilterableInputStream implements Swift_FileStream
-{
- /** The internal pointer offset */
- private $_offset = 0;
-
- /** The path to the file */
- private $_path;
-
- /** The mode this file is opened in for writing */
- private $_mode;
-
- /** A lazy-loaded resource handle for reading the file */
- private $_reader;
-
- /** A lazy-loaded resource handle for writing the file */
- private $_writer;
-
- /** If magic_quotes_runtime is on, this will be true */
- private $_quotes = false;
-
- /** If stream is seekable true/false, or null if not known */
- private $_seekable = null;
-
- /**
- * Create a new FileByteStream for $path.
- *
- * @param string $path
- * @param bool $writable if true
- */
- public function __construct($path, $writable = false)
- {
- if (empty($path)) {
- throw new Swift_IoException('The path cannot be empty');
- }
- $this->_path = $path;
- $this->_mode = $writable ? 'w+b' : 'rb';
-
- if (function_exists('get_magic_quotes_runtime') && @get_magic_quotes_runtime() == 1) {
- $this->_quotes = true;
- }
- }
-
- /**
- * Get the complete path to the file.
- *
- * @return string
- */
- public function getPath()
- {
- return $this->_path;
- }
-
- /**
- * Reads $length bytes from the stream into a string and moves the pointer
- * through the stream by $length.
- *
- * If less bytes exist than are requested the
- * remaining bytes are given instead. If no bytes are remaining at all, boolean
- * false is returned.
- *
- * @param int $length
- *
- * @return string|bool
- *
- * @throws Swift_IoException
- */
- public function read($length)
- {
- $fp = $this->_getReadHandle();
- if (!feof($fp)) {
- if ($this->_quotes) {
- ini_set('magic_quotes_runtime', 0);
- }
- $bytes = fread($fp, $length);
- if ($this->_quotes) {
- ini_set('magic_quotes_runtime', 1);
- }
- $this->_offset = ftell($fp);
-
- // If we read one byte after reaching the end of the file
- // feof() will return false and an empty string is returned
- if ($bytes === '' && feof($fp)) {
- $this->_resetReadHandle();
-
- return false;
- }
-
- return $bytes;
- }
-
- $this->_resetReadHandle();
-
- return false;
- }
-
- /**
- * Move the internal read pointer to $byteOffset in the stream.
- *
- * @param int $byteOffset
- *
- * @return bool
- */
- public function setReadPointer($byteOffset)
- {
- if (isset($this->_reader)) {
- $this->_seekReadStreamToPosition($byteOffset);
- }
- $this->_offset = $byteOffset;
- }
-
- /** Just write the bytes to the file */
- protected function _commit($bytes)
- {
- fwrite($this->_getWriteHandle(), $bytes);
- $this->_resetReadHandle();
- }
-
- /** Not used */
- protected function _flush()
- {
- }
-
- /** Get the resource for reading */
- private function _getReadHandle()
- {
- if (!isset($this->_reader)) {
- if (!$this->_reader = fopen($this->_path, 'rb')) {
- throw new Swift_IoException(
- 'Unable to open file for reading [' . $this->_path . ']'
- );
- }
- if ($this->_offset <> 0) {
- $this->_getReadStreamSeekableStatus();
- $this->_seekReadStreamToPosition($this->_offset);
- }
- }
-
- return $this->_reader;
- }
-
- /** Get the resource for writing */
- private function _getWriteHandle()
- {
- if (!isset($this->_writer)) {
- if (!$this->_writer = fopen($this->_path, $this->_mode)) {
- throw new Swift_IoException(
- 'Unable to open file for writing [' . $this->_path . ']'
- );
- }
- }
-
- return $this->_writer;
- }
-
- /** Force a reload of the resource for reading */
- private function _resetReadHandle()
- {
- if (isset($this->_reader)) {
- fclose($this->_reader);
- $this->_reader = null;
- }
- }
-
- /** Check if ReadOnly Stream is seekable */
- private function _getReadStreamSeekableStatus()
- {
- $metas = stream_get_meta_data($this->_reader);
- $this->_seekable = $metas['seekable'];
- }
-
- /** Streams in a readOnly stream ensuring copy if needed */
- private function _seekReadStreamToPosition($offset)
- {
- if ($this->_seekable===null) {
- $this->_getReadStreamSeekableStatus();
- }
- if ($this->_seekable === false) {
- $currentPos = ftell($this->_reader);
- if ($currentPos<$offset) {
- $toDiscard = $offset-$currentPos;
- fread($this->_reader, $toDiscard);
-
- return;
- }
- $this->_copyReadStream();
- }
- fseek($this->_reader, $offset, SEEK_SET);
- }
-
- /** Copy a readOnly Stream to ensure seekability */
- private function _copyReadStream()
- {
- if ($tmpFile = fopen('php://temp/maxmemory:4096', 'w+b')) {
- /* We have opened a php:// Stream Should work without problem */
- } elseif (function_exists('sys_get_temp_dir') && is_writable(sys_get_temp_dir()) && ($tmpFile = tmpfile())) {
- /* We have opened a tmpfile */
- } else {
- throw new Swift_IoException('Unable to copy the file to make it seekable, sys_temp_dir is not writable, php://memory not available');
- }
- $currentPos = ftell($this->_reader);
- fclose($this->_reader);
- $source = fopen($this->_path, 'rb');
- if (!$source) {
- throw new Swift_IoException('Unable to open file for copying [' . $this->_path . ']');
- }
- fseek($tmpFile, 0, SEEK_SET);
- while (!feof($source)) {
- fwrite($tmpFile, fread($source, 4096));
- }
- fseek($tmpFile, $currentPos, SEEK_SET);
- fclose($source);
- $this->_reader = $tmpFile;
- }
-}
diff --git a/vendor/swiftmailer/classes/Swift/ByteStream/TemporaryFileByteStream.php b/vendor/swiftmailer/classes/Swift/ByteStream/TemporaryFileByteStream.php
deleted file mode 100644
index eb33151b..00000000
--- a/vendor/swiftmailer/classes/Swift/ByteStream/TemporaryFileByteStream.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-/*
-* This file is part of SwiftMailer.
-* (c) 2004-2009 Chris Corbyn
-*
-* For the full copyright and license information, please view the LICENSE
-* file that was distributed with this source code.
-*/
-
-/**
- * @author Romain-Geissler
- */
-class Swift_ByteStream_TemporaryFileByteStream extends Swift_ByteStream_FileByteStream
-{
- public function __construct()
- {
- $filePath = tempnam(sys_get_temp_dir(), 'FileByteStream');
-
- if ($filePath === false) {
- throw new Swift_IoException('Failed to retrieve temporary file name.');
- }
-
- parent::__construct($filePath, true);
- }
-
- public function getContent()
- {
- if (($content = file_get_contents($this->getPath())) === false) {
- throw new Swift_IoException('Failed to get temporary file content.');
- }
-
- return $content;
- }
-
- public function __destruct()
- {
- if (file_exists($this->getPath())) {
- @unlink($this->getPath());
- }
- }
-}