1 | <?php |
||
5 | abstract class IMAPMessageContent implements IMAPMessagePartInterface { |
||
6 | |||
7 | /** @var object */ |
||
8 | protected $structure; |
||
9 | |||
10 | /** @var IMAPMessagePart[] */ |
||
11 | protected $parts = null; |
||
12 | |||
13 | /** @var string[][] */ |
||
14 | protected $headers = null; |
||
15 | |||
16 | /** @var array */ |
||
17 | protected $parameters = null; |
||
18 | |||
19 | /** @return IMAPMessagePart[] */ |
||
20 | abstract public function parts(); |
||
21 | |||
22 | /** @return IMAPMessagePart[] */ |
||
23 | public function allParts() { |
||
38 | |||
39 | /** @return IMAPMessagePart */ |
||
40 | public function part( $index ) { |
||
44 | |||
45 | /** @return array */ |
||
46 | public function parameters() { |
||
63 | |||
64 | /** @return mixed */ |
||
65 | public function parameter( $name ) { |
||
66 | $parameters = $this->parameters(); |
||
67 | $structure = $this->structure(); |
||
68 | return $parameters[ strtolower($name) ] ?? $structure->$name ?? null; |
||
69 | } |
||
70 | |||
71 | /** @return string[][] */ |
||
72 | public function headers() { |
||
91 | |||
92 | /** @return string[] */ |
||
93 | public function header( $name ) { |
||
97 | |||
98 | /** @return IMAPMessagePartInterface[] */ |
||
99 | public function subtypeParts( $subtypes, $recursive ) { |
||
109 | |||
110 | /** @return IMAPMessagePartInterface */ |
||
111 | public function subtypePart( $subtypes, $recursive ) { |
||
116 | |||
117 | /** @return string */ |
||
118 | public function subtypeContent( $subtypes, $recursive ) { |
||
125 | |||
126 | /** @return string */ |
||
127 | public function text( $recursive = false ) { |
||
130 | |||
131 | /** @return string */ |
||
132 | public function html( $recursive = false ) { |
||
135 | |||
136 | } |
||
137 |