mirror of
https://github.com/itflow-org/itflow
synced 2026-06-18 07:41:05 +00:00
129 lines
3.9 KiB
PHP
129 lines
3.9 KiB
PHP
<?php
|
|
/**
|
|
* This file is part of the ZBateson\MailMimeParser project.
|
|
*
|
|
* @license http://opensource.org/licenses/bsd-license.php BSD
|
|
*/
|
|
|
|
namespace ZBateson\MailMimeParser\Parser\Proxy;
|
|
|
|
/**
|
|
* A bi-directional parser-to-part proxy for NonMimeParser and IUUEncodedParts.
|
|
*
|
|
* @author Zaahid Bateson
|
|
*/
|
|
class ParserUUEncodedPartProxy extends ParserPartProxy
|
|
{
|
|
/**
|
|
* Only has a single parent of type ParserNonMimeMessageProxy, overridden to
|
|
* specify ParserNonMimeMessageProxy as the return type.
|
|
*/
|
|
public function getParent() : ParserNonMimeMessageProxy
|
|
{
|
|
return parent::getParent();
|
|
}
|
|
|
|
/**
|
|
* Returns the next part's start position within the message's raw stream,
|
|
* or null if not set, not discovered, or there are no more parts under this
|
|
* message.
|
|
*
|
|
* As this is a message-wide setting, ParserUUEncodedPartProxy calls
|
|
* getNextPartStart() on its parent (a ParserNonMimeMessageProxy, which
|
|
* stores/returns this information).
|
|
*
|
|
* @return int|null The start position or null
|
|
*/
|
|
public function getNextPartStart() : ?int
|
|
{
|
|
return $this->getParent()->getNextPartStart();
|
|
}
|
|
|
|
/**
|
|
* Returns the next part's unix file mode in a uu-encoded 'begin' line if
|
|
* one exists, or null otherwise.
|
|
*
|
|
* As this is a message-wide setting, ParserUUEncodedPartProxy calls
|
|
* getNextPartMode() on its parent (a ParserNonMimeMessageProxy, which
|
|
* stores/returns this information).
|
|
*
|
|
* @return int|null The file mode or null
|
|
*/
|
|
public function getNextPartMode() : ?int
|
|
{
|
|
return $this->getParent()->getNextPartMode();
|
|
}
|
|
|
|
/**
|
|
* Returns the next part's filename in a uu-encoded 'begin' line if one
|
|
* exists, or null otherwise.
|
|
*
|
|
* As this is a message-wide setting, ParserUUEncodedPartProxy calls
|
|
* getNextPartFilename() on its parent (a ParserNonMimeMessageProxy, which
|
|
* stores/returns this information).
|
|
*
|
|
* @return ?string The file name or null
|
|
*/
|
|
public function getNextPartFilename() : ?string
|
|
{
|
|
return $this->getParent()->getNextPartFilename();
|
|
}
|
|
|
|
/**
|
|
* Sets the next part's start position within the message's raw stream.
|
|
*
|
|
* As this is a message-wide setting, ParserUUEncodedPartProxy calls
|
|
* setNextPartStart() on its parent (a ParserNonMimeMessageProxy, which
|
|
* stores/returns this information).
|
|
*/
|
|
public function setNextPartStart(int $nextPartStart) : static
|
|
{
|
|
$this->getParent()->setNextPartStart($nextPartStart);
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Sets the next part's unix file mode from its 'begin' line.
|
|
*
|
|
* As this is a message-wide setting, ParserUUEncodedPartProxy calls
|
|
* setNextPartMode() on its parent (a ParserNonMimeMessageProxy, which
|
|
* stores/returns this information).
|
|
*/
|
|
public function setNextPartMode(int $nextPartMode) : static
|
|
{
|
|
$this->getParent()->setNextPartMode($nextPartMode);
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Sets the next part's filename from its 'begin' line.
|
|
*
|
|
* As this is a message-wide setting, ParserUUEncodedPartProxy calls
|
|
* setNextPartFilename() on its parent (a ParserNonMimeMessageProxy, which
|
|
* stores/returns this information).
|
|
*/
|
|
public function setNextPartFilename(string $nextPartFilename) : static
|
|
{
|
|
$this->getParent()->setNextPartFilename($nextPartFilename);
|
|
return $this;
|
|
}
|
|
|
|
/**
|
|
* Returns the file mode included in the uuencoded 'begin' line for this
|
|
* part.
|
|
*/
|
|
public function getUnixFileMode() : ?int
|
|
{
|
|
return $this->getHeaderContainer()->getUnixFileMode();
|
|
}
|
|
|
|
/**
|
|
* Returns the filename included in the uuencoded 'begin' line for this
|
|
* part.
|
|
*/
|
|
public function getFilename() : ?string
|
|
{
|
|
return $this->getHeaderContainer()->getFilename();
|
|
}
|
|
}
|