MailMimeParser 2.3

UUEncodedPartHeaderContainer extends PartHeaderContainer
in package

Header container representing the start line of a uu-encoded part.

The line may contain a unix file mode and a filename.

Tags
author

Zaahid Bateson

Table of Contents

$filename  : string
$headerFactory  : HeaderFactory
$mode  : int
$headerMap  : array<string|int, mixed>
$headerObjects  : array<string|int, IHeader>
$headers  : array<string|int, array<string|int, string>>
$nextIndex  : int
__construct()  : mixed
Pass a PartHeaderContainer as the second parameter. This is useful when creating a new MimePart with this PartHeaderContainer and the original container is needed for parsing and changes to the header in the part should not affect parsing.
add()  : mixed
Adds the header to the collection.
exists()  : bool
Returns true if the passed header exists in this collection.
get()  : IHeader|null
Returns the IHeader object for the header with the given $name, or null if none exist.
getAll()  : array<string|int, IHeader>
Returns all headers with the passed name.
getFilename()  : string
Returns the filename included in the uuencoded 'begin' line for this part.
getHeaderObjects()  : array<string|int, IHeader>
Returns an array of IHeader objects representing all headers in this collection.
getHeaders()  : array<string|int, array<string|int, string>>
Returns an array of headers in this collection. Each returned element in the array is an array with the first element set to the name, and the second its value:
getIterator()  : ArrayIterator
Returns an iterator to the headers in this collection. Each returned element is an array with its first element set to the header's name, and the second to its value:
getUnixFileMode()  : int|null
Returns the file mode included in the uuencoded 'begin' line for this part.
remove()  : bool
Removes the header from the collection with the passed name. Defaults to removing the first instance of the header for a collection that contains more than one with the same passed name.
removeAll()  : bool
Removes all headers that match the passed name.
set()  : self
If a header exists with the passed name, and at the passed offset if more than one exists, its value is updated.
setFilename()  : static
Sets the filename included in the uuencoded 'begin' line.
setUnixFileMode()  : static
Sets the unix file mode for the uuencoded 'begin' line.
getAllWithOriginalHeaderNameIfSet()  : array<string|int, int>|null
Returns an array of header indexes with names that more closely match the passed $name if available: for instance if there are two headers in an email, "Content-Type" and "ContentType", and the query is for a header with the name "Content-Type", only headers that match exactly "Content-Type" would be returned.
getByIndex()  : IHeader|null
Returns the header in the headers array at the passed 0-based integer index or null if one doesn't exist.

Properties

$headerMap

private array<string|int, mixed> $headerMap = []

Maps header names by their "normalized" (lower-cased, non-alphanumeric characters stripped) name to an array of indexes in the $headers array. For example: $headerMap['contenttype'] = [ 1, 4 ] would indicate that the headers in $headers[1] and $headers[4] are both headers with the name 'Content-Type' or 'contENTtype'.

$headerObjects

private array<string|int, IHeader> $headerObjects = []

Each element is an IHeader representing the header at the same index in the $headers array. If an IHeader has not been constructed for the header at that index, the element would be set to null.

$headers

private array<string|int, array<string|int, string>> $headers = []

Each element in the array is an array with its first element set to the header's name, and the second its value.

$nextIndex

private int $nextIndex = 0

the next index to use for $headers and $headerObjects.

Methods

__construct()

Pass a PartHeaderContainer as the second parameter. This is useful when creating a new MimePart with this PartHeaderContainer and the original container is needed for parsing and changes to the header in the part should not affect parsing.

public __construct(HeaderFactory $headerFactory[, PartHeaderContainer $cloneSource = null ]) : mixed
Parameters
$headerFactory : HeaderFactory
$cloneSource : PartHeaderContainer = null

the original container to clone from

Return values
mixed

add()

Adds the header to the collection.

public add(string $name, string $value) : mixed
Parameters
$name : string
$value : string
Return values
mixed

exists()

Returns true if the passed header exists in this collection.

public exists(string $name, int $offset) : bool
Parameters
$name : string
$offset : int
Return values
bool

get()

Returns the IHeader object for the header with the given $name, or null if none exist.

public get(string $name, int $offset) : IHeader|null

An optional offset can be provided, which defaults to the first header in the collection when more than one header with the same name exists.

Note that mime headers aren't case sensitive.

Parameters
$name : string
$offset : int
Return values
IHeader|null

getAll()

Returns all headers with the passed name.

public getAll(string $name) : array<string|int, IHeader>
Parameters
$name : string
Return values
array<string|int, IHeader>

getFilename()

Returns the filename included in the uuencoded 'begin' line for this part.

public getFilename() : string
Return values
string

getHeaderObjects()

Returns an array of IHeader objects representing all headers in this collection.

public getHeaderObjects() : array<string|int, IHeader>
Return values
array<string|int, IHeader>

getHeaders()

Returns an array of headers in this collection. Each returned element in the array is an array with the first element set to the name, and the second its value:

public getHeaders() : array<string|int, array<string|int, string>>

[ [ 'Header-Name', 'Header Value' ], [ 'Second-Header-Name', 'Second-Header-Value' ], // etc... ]

Return values
array<string|int, array<string|int, string>>

getIterator()

Returns an iterator to the headers in this collection. Each returned element is an array with its first element set to the header's name, and the second to its value:

public getIterator() : ArrayIterator

[ 'Header-Name', 'Header Value' ]

Return values
ArrayIterator

getUnixFileMode()

Returns the file mode included in the uuencoded 'begin' line for this part.

public getUnixFileMode() : int|null
Return values
int|null

remove()

Removes the header from the collection with the passed name. Defaults to removing the first instance of the header for a collection that contains more than one with the same passed name.

public remove(string $name, int $offset) : bool
Parameters
$name : string
$offset : int
Return values
bool

if a header was removed.

removeAll()

Removes all headers that match the passed name.

public removeAll(string $name) : bool
Parameters
$name : string
Return values
bool

true if one or more headers were removed.

set()

If a header exists with the passed name, and at the passed offset if more than one exists, its value is updated.

public set(string $name, string $value, int $offset) : self

If a header with the passed name doesn't exist at the passed offset, it is created at the next available offset (offset is ignored when adding).

Parameters
$name : string
$value : string
$offset : int
Return values
self

setFilename()

Sets the filename included in the uuencoded 'begin' line.

public setFilename(string $filename) : static
Parameters
$filename : string
Return values
static

setUnixFileMode()

Sets the unix file mode for the uuencoded 'begin' line.

public setUnixFileMode(int $mode) : static
Parameters
$mode : int
Return values
static

getAllWithOriginalHeaderNameIfSet()

Returns an array of header indexes with names that more closely match the passed $name if available: for instance if there are two headers in an email, "Content-Type" and "ContentType", and the query is for a header with the name "Content-Type", only headers that match exactly "Content-Type" would be returned.

private getAllWithOriginalHeaderNameIfSet(string $name) : array<string|int, int>|null
Parameters
$name : string
Return values
array<string|int, int>|null

getByIndex()

Returns the header in the headers array at the passed 0-based integer index or null if one doesn't exist.

private getByIndex(int $index) : IHeader|null
Parameters
$index : int
Return values
IHeader|null

Search results