UUEncodedPart
        
        extends NonMimePart
    
    
            
            in package
            
        
    
            
            implements
                            IUUEncodedPart                    
    
    
        
            Implementation of a non-mime message's uuencoded attachment part.
Tags
Interfaces, Classes and Traits
- IUUEncodedPart
- An interface representing a non-mime uuencoded part.
Table of Contents
- $charsetOverride : string
- $filename : string
- $ignoreTransferEncoding : bool
- $mode : int
- $observers : SplObjectStorage
- $parent : IMimePart
- $partStreamContainer : PartStreamContainer
- __construct() : mixed
- __toString() : string
- Returns the message/part as a string, containing its headers, content and children.
- attach() : mixed
- attachContentStream() : mixed
- Attaches the stream or resource handle for the part's content. The stream is closed when another stream is attached, or the MimePart is destroyed.
- detach() : mixed
- detachContentStream() : mixed
- Detaches the content stream.
- getBinaryContentResourceHandle() : resource|null
- Returns a resource handle for the content's raw data stream, or null if the part doesn't have a content stream.
- getBinaryContentStream() : StreamInterface|null
- Returns the raw data stream for the current part, if it exists, or null if there's no content associated with the stream.
- getCharset() : string
- Returns null
- getContent() : string|null
- Shortcut to reading stream content and assigning it to a string. Returns null if the part doesn't have a content stream.
- getContentDisposition() : string
- Returns 'attachment'.
- getContentId() : string|null
- Returns the Content ID of the part.
- getContentStream() : StreamInterface|null
- Returns the StreamInterface for the part's content or null if the part doesn't have a content section.
- getContentTransferEncoding() : string
- Returns 'x-uuencode'.
- getContentType() : string
- Returns 'application/octet-stream'.
- getFilename() : string
- Returns the filename included in the uuencoded 'begin' line for this part.
- getParent() : IMimePart
- Returns this part's parent.
- getResourceHandle() : resource
- Returns a resource handle for the string representation of this part, containing its headers, content and children. For an IMessage, this would be the entire RFC822 (or greater) email.
- getStream() : StreamInterface
- Returns a Psr7 StreamInterface for the string representation of this part, containing its headers, content and children.
- getUnixFileMode() : int
- Returns the file mode included in the uuencoded 'begin' line for this part.
- hasContent() : bool
- Returns true if the part contains a 'body' (content).
- isMime() : bool
- Returns false.
- isTextPart() : bool
- Returns false.
- notify() : mixed
- save() : mixed
- Writes a string representation of this part, including its headers, content and children to the passed file, resource, or stream.
- saveContent() : mixed
- Saves the binary content of the stream to the passed file, resource or stream.
- setCharsetOverride() : mixed
- Overrides the default character set used for reading content from content streams in cases where a user knows the source charset is not what is specified.
- setContent() : mixed
- Sets the content of the part to the passed string, resource, or stream.
- setFilename() : mixed
- Sets the filename included in the uuencoded 'begin' line.
- setUnixFileMode() : mixed
- Sets the unix file mode for the uuencoded 'begin' line.
Properties
$charsetOverride
    protected
        string
    $charsetOverride
    
    
        can be used to set an override for content's charset in cases where a user knows the charset on the content is not what it claims to be.
$filename
    protected
        string
    $filename
     = null
    
        the name of the file in the uuencoding 'header'.
$ignoreTransferEncoding
    protected
        bool
    $ignoreTransferEncoding
    
    
        set to true when a user attaches a stream manually, it's assumed to already be decoded or to have relevant transfer encoding decorators attached already.
$mode
    protected
        int
    $mode
     = null
    
        the unix file permission
$observers
    protected
        SplObjectStorage
    $observers
    
    
        attached observers that need to be notified of modifications to this part.
$parent
    protected
        IMimePart
    $parent
    
    
        parent part
$partStreamContainer
    protected
        PartStreamContainer
    $partStreamContainer
    
    
        holds 'stream' and 'content stream'.
Methods
__construct()
    public
                __construct([mixed $mode = null ][, mixed $filename = null ][, IMimePart $parent = null ][, PartStreamContainer $streamContainer = null ]) : mixed
        
        Parameters
- $mode : mixed = null
- $filename : mixed = null
- $parent : IMimePart = null
- $streamContainer : PartStreamContainer = null
Return values
mixed —__toString()
Returns the message/part as a string, containing its headers, content and children.
    public
                __toString() : string
        Convenience method for calling getContents() on IMessagePart::getStream().
Return values
string —attach()
    public
                attach(SplObserver $observer) : mixed
        
        Parameters
- $observer : SplObserver
Return values
mixed —attachContentStream()
Attaches the stream or resource handle for the part's content. The stream is closed when another stream is attached, or the MimePart is destroyed.
    public
                attachContentStream(StreamInterface $stream[, mixed $streamCharset = MailMimeParser::DEFAULT_CHARSET ]) : mixed
    
        Parameters
- $stream : StreamInterface
- 
                    the content 
- $streamCharset : mixed = MailMimeParser::DEFAULT_CHARSET
- 
                    the charset of $stream 
Return values
mixed —detach()
    public
                detach(SplObserver $observer) : mixed
        
        Parameters
- $observer : SplObserver
Return values
mixed —detachContentStream()
Detaches the content stream.
    public
                detachContentStream() : mixed
    
    
    
        Return values
mixed —getBinaryContentResourceHandle()
Returns a resource handle for the content's raw data stream, or null if the part doesn't have a content stream.
    public
                getBinaryContentResourceHandle() : resource|null
        The method wraps a call to IMessagePart::getBinaryContentStream() and returns a resource handle for the returned Stream.
Return values
resource|null —the resource
getBinaryContentStream()
Returns the raw data stream for the current part, if it exists, or null if there's no content associated with the stream.
    public
                getBinaryContentStream() : StreamInterface|null
        This is basically the same as calling IMessagePart::getContentStream(), except no automatic charset conversion is done. Note that for non-text streams, this doesn't have an effect, as charset conversion is not performed in that case, and is useful only when:
- The charset defined is not correct, and the conversion produces errors; or
- You'd like to read the raw contents without conversion, for instance to save it to file or allow a user to download it as-is (in a download link for example).
Return values
StreamInterface|null —the stream
getCharset()
Returns null
    public
                getCharset() : string
    
    
    
        Return values
string —getContent()
Shortcut to reading stream content and assigning it to a string. Returns null if the part doesn't have a content stream.
    public
                getContent([mixed $charset = MailMimeParser::DEFAULT_CHARSET ]) : string|null
        The returned string is encoded to the passed $charset character encoding.
Parameters
- $charset : mixed = MailMimeParser::DEFAULT_CHARSET
- 
                    the target charset for the returned string 
Return values
string|null —the content
getContentDisposition()
Returns 'attachment'.
    public
                getContentDisposition([mixed $default = 'attachment' ]) : string
    
        Parameters
- $default : mixed = 'attachment'
Return values
string —getContentId()
Returns the Content ID of the part.
    public
                getContentId() : string|null
        NonMimeParts do not have a Content ID, and so this simply returns null.
Return values
string|null —getContentStream()
Returns the StreamInterface for the part's content or null if the part doesn't have a content section.
    public
                getContentStream([mixed $charset = MailMimeParser::DEFAULT_CHARSET ]) : StreamInterface|null
        To get a stream without charset conversion if you know the part's content contains a binary stream, call self::getBinaryContentStream() instead.
The library automatically handles decoding and charset conversion (to the target passed $charset) based on the part's transfer encoding as returned by IMessagePart::getContentTransferEncoding() and the part's charset as returned by IMessagePart::getCharset(). The returned stream is ready to be read from directly.
Note that the returned Stream is a shared object. If called multiple times with the same $charset, and the value of the part's Content-Transfer-Encoding header has not changed, the stream will be rewound. This would affect other existing variables referencing the stream, for example:
// assuming $part is a part containing the following
// string for its content: '12345678'
$stream = $part->getContentStream();
$someChars = $part->read(4);
$stream2 = $part->getContentStream();
$moreChars = $part->read(4);
echo ($someChars === $moreChars);    //1
In this case the Stream was rewound, and $stream's second call to read 4 bytes reads the same first 4.
Parameters
- $charset : mixed = MailMimeParser::DEFAULT_CHARSET
- 
                    Optional charset for the returned stream. 
Return values
StreamInterface|null —the stream
getContentTransferEncoding()
Returns 'x-uuencode'.
    public
                getContentTransferEncoding([mixed $default = 'x-uuencode' ]) : string
    
        Parameters
- $default : mixed = 'x-uuencode'
Return values
string —getContentType()
Returns 'application/octet-stream'.
    public
                getContentType([mixed $default = 'application/octet-stream' ]) : string
    
        Parameters
- $default : mixed = 'application/octet-stream'
Return values
string —getFilename()
Returns the filename included in the uuencoded 'begin' line for this part.
    public
                getFilename() : string
    
    
    
        Return values
string —getParent()
Returns this part's parent.
    public
                getParent() : IMimePart
    
    
    
        Return values
IMimePart —the parent part
getResourceHandle()
Returns a resource handle for the string representation of this part, containing its headers, content and children. For an IMessage, this would be the entire RFC822 (or greater) email.
    public
                getResourceHandle() : resource
        If the part has not been modified and represents a parsed part, the original stream should be returned. Otherwise a stream representation of the part including its modifications should be returned. This insures that an unmodified, signed message could be passed on that way even after parsing and reading.
The returned stream is not guaranteed to be RFC822 (or greater) compliant for the following reasons:
- The original email or part, if not modified, is returned as-is and may not be compliant.
- Although certain parts may have been modified, an original unmodified header from the original email or part may not be compliant.
- A user may set headers in a non-compliant format.
Return values
resource —the resource handle containing the part.
getStream()
Returns a Psr7 StreamInterface for the string representation of this part, containing its headers, content and children.
    public
                getStream() : StreamInterface
        If the part has not been modified and represents a parsed part, the original stream should be returned. Otherwise a stream representation of the part including its modifications should be returned. This insures that an unmodified, signed message could be passed on that way even after parsing and reading.
The returned stream is not guaranteed to be RFC822 (or greater) compliant for the following reasons:
- The original email or part, if not modified, is returned as-is and may not be compliant.
- Although certain parts may have been modified, an original unmodified header from the original email or part may not be compliant.
- A user may set headers in a non-compliant format.
Return values
StreamInterface —the stream containing the part.
getUnixFileMode()
Returns the file mode included in the uuencoded 'begin' line for this part.
    public
                getUnixFileMode() : int
    
    
    
        Return values
int —hasContent()
Returns true if the part contains a 'body' (content).
    public
                hasContent() : bool
    
    
    
        Return values
bool —isMime()
Returns false.
    public
                isMime() : bool
    
    
    
        Return values
bool —isTextPart()
Returns false.
    public
                isTextPart() : bool
        Although the part may be plain text, there is no reliable way of determining its type since uuencoded 'begin' lines only include a file name and no mime type. The file name's extension may be a hint.
Return values
bool —notify()
    public
                notify() : mixed
        
    
    
        Return values
mixed —save()
Writes a string representation of this part, including its headers, content and children to the passed file, resource, or stream.
    public
                save(mixed $filenameResourceOrStream[, mixed $filemode = 'w+' ]) : mixed
        If the part has not been modified and represents a parsed part, the original stream should be written to the file. Otherwise a stream representation of the part including its modifications should be written. This insures that an unmodified, signed message could be passed on this way even after parsing and reading.
The written stream is not guaranteed to be RFC822 (or greater) compliant for the following reasons:
- The original email or part, if not modified, is returned as-is and may not be compliant.
- Although certain parts may have been modified, an original unmodified header from the original email or part may not be compliant.
- A user may set headers in a non-compliant format.
If the passed $filenameResourceOrStream is a string, it's assumed to be a filename to write to.
When passing a resource or Psr7 Stream, the resource is not closed, nor rewound after being written to.
Parameters
- $filenameResourceOrStream : mixed
- 
                    the file, resource, or stream to write to. 
- $filemode : mixed = 'w+'
- 
                    Optional filemode to open a file in (if $filenameResourceOrStream is a string) 
Return values
mixed —saveContent()
Saves the binary content of the stream to the passed file, resource or stream.
    public
                saveContent(mixed $filenameResourceOrStream) : mixed
        Note that charset conversion is not performed in this case, and the contents of the part are saved in their binary format as transmitted (but after any content-transfer decoding is performed). IMessagePart::getBinaryContentStream() for a more detailed description of the stream.
If the passed parameter is a string, it's assumed to be a filename to write to. The file is opened in 'w+' mode, and closed before returning.
When passing a resource or Psr7 Stream, the resource is not closed, nor rewound.
Parameters
- $filenameResourceOrStream : mixed
Return values
mixed —setCharsetOverride()
Overrides the default character set used for reading content from content streams in cases where a user knows the source charset is not what is specified.
    public
                setCharsetOverride(mixed $charsetOverride[, mixed $onlyIfNoCharset = false ]) : mixed
        If set, the returned value from IMessagePart::getCharset() must be ignored during subsequent read operations and streams created out of this part's content.
Note that setting an override on an IMessage and calling getTextStream, getTextContent, getHtmlStream or getHtmlContent will not be applied to those sub-parts, unless the text/html part is the IMessage itself. Instead, IMessage::getTextPart() should be called, and setCharsetOverride called on the returned IMessagePart.
Parameters
- $charsetOverride : mixed
- 
                    the actual charset of the content. 
- $onlyIfNoCharset : mixed = false
- 
                    if true, $charsetOverride is used only if getCharset returns null. 
Return values
mixed —setContent()
Sets the content of the part to the passed string, resource, or stream.
    public
                setContent(mixed $resource[, mixed $charset = MailMimeParser::DEFAULT_CHARSET ]) : mixed
    
        Parameters
- $resource : mixed
- 
                    the content. 
- $charset : mixed = MailMimeParser::DEFAULT_CHARSET
Return values
mixed —setFilename()
Sets the filename included in the uuencoded 'begin' line.
    public
                setFilename(mixed $filename) : mixed
    
        Parameters
- $filename : mixed
Return values
mixed —setUnixFileMode()
Sets the unix file mode for the uuencoded 'begin' line.
    public
                setUnixFileMode(mixed $mode) : mixed
    
        Parameters
- $mode : mixed