Completed
Pull Request — master (#17)
by
unknown
02:09
created
src/MimeParser.php 3 patches
Doc Comments   +3 added lines patch added patch discarded remove patch
@@ -163,6 +163,9 @@
 block discarded – undo
163 163
         return trim($row,"\r\n");
164 164
     }
165 165
 
166
+    /**
167
+     * @param resource $stream
168
+     */
166 169
     protected function parseParts($stream, array $part): array
167 170
     {
168 171
         while (!feof($stream)) {
Please login to merge, or discard this patch.
Spacing   +54 added lines, -54 removed lines patch added patch discarded remove patch
@@ -32,8 +32,8 @@  discard block
 block discarded – undo
32 32
 
33 33
     public function __construct(array $allowedHeaders = array(), array $removeHeaders = array())
34 34
     {
35
-        $this->contentDecoder = new ContentDecoder ();
36
-        $this->headerDecoder = new HeaderDecoder ();
35
+        $this->contentDecoder = new ContentDecoder();
36
+        $this->headerDecoder = new HeaderDecoder();
37 37
 
38 38
         $this->allowedHeaders = array_merge($this->allowedHeaders, $allowedHeaders);
39 39
         $this->removeHeaders = array_merge($this->removeHeaders, $removeHeaders);
@@ -88,7 +88,7 @@  discard block
 block discarded – undo
88 88
         $partHeaders = $this->extractHeaders($stream);
89 89
 
90 90
         $filteredHeaders = $this->filterHeaders($partHeaders);
91
-        $part=array(
91
+        $part = array(
92 92
             "type" => $this->extractValueHeader($this->getContentType($partHeaders)),
93 93
             "headers" => $partHeaders,
94 94
             "body" => '',
@@ -99,7 +99,7 @@  discard block
 block discarded – undo
99 99
         $parts = $this->parseParts($stream, $part);
100 100
 
101 101
         if (!$message) {
102
-            $message = new \Swift_Message ();
102
+            $message = new \Swift_Message();
103 103
         }
104 104
 
105 105
         $headers = $this->createHeadersSet($filteredHeaders);
@@ -119,25 +119,25 @@  discard block
 block discarded – undo
119 119
         $headers = array();
120 120
         $hName = null;
121 121
         while (!feof($stream)) {
122
-            $row = $this->getCurrentLine($stream,false);
122
+            $row = $this->getCurrentLine($stream, false);
123 123
             if ($row == "") {
124 124
                 break;
125 125
             }
126
-            $row=$this->getCurrentLine($stream);
126
+            $row = $this->getCurrentLine($stream);
127 127
             if (preg_match('/^([a-z0-9\-]+)\s*:(.*)/i', $row, $mch)) {
128
-                $hName = strtolower($mch[1]);
128
+                $hName = strtolower($mch[ 1 ]);
129 129
                 if (!in_array($hName, array("content-type", "content-transfer-encoding"))) {
130
-                    $hName = $mch[1];
130
+                    $hName = $mch[ 1 ];
131 131
                 }
132
-                $row = $mch[2];
132
+                $row = $mch[ 2 ];
133 133
             }
134 134
             if (empty($hName)) {
135 135
                 continue;
136 136
             }
137
-            $headers[$hName][] = trim($row);
137
+            $headers[ $hName ][ ] = trim($row);
138 138
         }
139 139
         foreach ($headers as $header => $values) {
140
-            $headers[$header] = $this->headerDecoder->decode(trim(implode(" ", $values)));
140
+            $headers[ $header ] = $this->headerDecoder->decode(trim(implode(" ", $values)));
141 141
         }
142 142
         return $headers;
143 143
     }
@@ -146,30 +146,30 @@  discard block
 block discarded – undo
146 146
     {
147 147
         foreach ($headers as $header => $values) {
148 148
             if (in_array(strtolower($header), $this->removeHeaders) && !in_array(strtolower($header), $this->allowedHeaders)) {
149
-                unset ($headers[$header]);
149
+                unset ($headers[ $header ]);
150 150
             }
151 151
         }
152 152
         return $headers;
153 153
     }
154 154
 
155
-    public function getCurrentLine($stream, $auto_advance=true){
156
-        $row=null;
157
-        if (!feof($stream)){
158
-            $pos=ftell($stream);
155
+    public function getCurrentLine($stream, $auto_advance = true) {
156
+        $row = null;
157
+        if (!feof($stream)) {
158
+            $pos = ftell($stream);
159 159
             $row = fgets($stream);
160
-            if(!$auto_advance)
161
-                fseek($stream,$pos);
160
+            if (!$auto_advance)
161
+                fseek($stream, $pos);
162 162
         }
163
-        return trim($row,"\r\n");
163
+        return trim($row, "\r\n");
164 164
     }
165 165
 
166 166
     protected function parseParts($stream, array $part): array
167 167
     {
168 168
         while (!feof($stream)) {
169
-            $line=$this->getCurrentLine($stream);
170
-            if (strpos($part["type"],'multipart/') !== false) {
171
-                $headerParts = $this->extractHeaderParts($this->getContentType($part['headers']));
172
-                if (empty($headerParts["boundary"])) {
169
+            $line = $this->getCurrentLine($stream);
170
+            if (strpos($part[ "type" ], 'multipart/') !== false) {
171
+                $headerParts = $this->extractHeaderParts($this->getContentType($part[ 'headers' ]));
172
+                if (empty($headerParts[ "boundary" ])) {
173 173
                     throw new InvalidMessageFormatException("The Content-Type header is not well formed, boundary is missing");
174 174
                 }
175 175
 
@@ -186,10 +186,10 @@  discard block
 block discarded – undo
186 186
                         "parts" => array()
187 187
                     );
188 188
                     $child = $this->parseParts($stream, $child_parts);
189
-                    $part['parts'][]=$child;
189
+                    $part[ 'parts' ][ ] = $child;
190 190
                 }
191 191
             } else {
192
-                $part['body']=$this->parseContent($stream,$this->getTransferEncoding($part['headers']));
192
+                $part[ 'body' ] = $this->parseContent($stream, $this->getTransferEncoding($part[ 'headers' ]));
193 193
                 return $part;
194 194
             }
195 195
         }
@@ -200,15 +200,15 @@  discard block
 block discarded – undo
200 200
     {
201 201
         $contents = array();
202 202
         while (!feof($stream)) {
203
-            $line = $this->getCurrentLine($stream,false);
203
+            $line = $this->getCurrentLine($stream, false);
204 204
             if (preg_match(self::REGEX_BOUNDARY, $line)) {
205 205
                 break;
206 206
             } else {
207
-                $contents[] =  $this->getCurrentLine($stream,true);
207
+                $contents[ ] = $this->getCurrentLine($stream, true);
208 208
             }
209 209
         }
210 210
         //remove last newline ( part of boundary)
211
-        if(end($contents) =="")
211
+        if (end($contents) == "")
212 212
             array_pop($contents);
213 213
         return $this->contentDecoder->decode(implode(PHP_EOL, $contents), $encoding);
214 214
     }
@@ -227,7 +227,7 @@  discard block
 block discarded – undo
227 227
     private function getContentType(array $partHeaders): string
228 228
     {
229 229
         if (array_key_exists('content-type', $partHeaders)) {
230
-            return $partHeaders['content-type'];
230
+            return $partHeaders[ 'content-type' ];
231 231
         }
232 232
 
233 233
         return '';
@@ -258,7 +258,7 @@  discard block
 block discarded – undo
258 258
                     continue;
259 259
                 }
260 260
                 list ($k, $v) = explode("=", trim($pv), 2);
261
-                $p[$k] = trim($v, '"');
261
+                $p[ $k ] = trim($v, '"');
262 262
             }
263 263
             return $p;
264 264
         } else {
@@ -270,7 +270,7 @@  discard block
 block discarded – undo
270 270
     private function getTransferEncoding(array $partHeaders): string
271 271
     {
272 272
         if (array_key_exists('content-transfer-encoding', $partHeaders)) {
273
-            return $partHeaders['content-transfer-encoding'];
273
+            return $partHeaders[ 'content-transfer-encoding' ];
274 274
         }
275 275
 
276 276
         return '';
@@ -284,13 +284,13 @@  discard block
 block discarded – undo
284 284
             switch (strtolower($name)) {
285 285
                 case "content-type":
286 286
                     $parts = $this->extractHeaderParts($value);
287
-                    unset ($parts["boundary"]);
287
+                    unset ($parts[ "boundary" ]);
288 288
                     $headers->addParameterizedHeader($name, $this->extractValueHeader($value), $parts);
289 289
                     break;
290 290
                 case "return-path":
291 291
                     if (preg_match_all('/([a-z][a-z0-9_\-\.]*@[a-z0-9\.\-]*\.[a-z]{2,5})/i', $value, $mch)) {
292
-                        foreach ($mch[0] as $k => $mails) {
293
-                            $headers->addPathHeader($name, $mch[1][$k]);
292
+                        foreach ($mch[ 0 ] as $k => $mails) {
293
+                            $headers->addPathHeader($name, $mch[ 1 ][ $k ]);
294 294
                         }
295 295
                     }
296 296
                     break;
@@ -304,16 +304,16 @@  discard block
 block discarded – undo
304 304
                 case "cc":
305 305
                     $adresses = array();
306 306
                     if (preg_match_all('/(.*?)<([a-z][a-z0-9_\-\.]*@[a-z0-9\.\-]*\.[a-z]{2,5})>\s*[;,]*/i', $value, $mch)) {
307
-                        foreach ($mch[0] as $k => $mail) {
308
-                            if (!$mch[1][$k]) {
309
-                                $adresses[$mch[2][$k]] = trim($mch[2][$k]);
307
+                        foreach ($mch[ 0 ] as $k => $mail) {
308
+                            if (!$mch[ 1 ][ $k ]) {
309
+                                $adresses[ $mch[ 2 ][ $k ] ] = trim($mch[ 2 ][ $k ]);
310 310
                             } else {
311
-                                $adresses[$mch[2][$k]] = trim($mch[1][$k]);
311
+                                $adresses[ $mch[ 2 ][ $k ] ] = trim($mch[ 1 ][ $k ]);
312 312
                             }
313 313
                         }
314 314
                     } elseif (preg_match_all('/([a-z][a-z0-9_\-\.]*@[a-z0-9\.\-]*\.[a-z]{2,5})/i', $value, $mch)) {
315
-                        foreach ($mch[0] as $k => $mails) {
316
-                            $adresses[$mch[1][$k]] = trim($mch[1][$k]);
315
+                        foreach ($mch[ 0 ] as $k => $mails) {
316
+                            $adresses[ $mch[ 1 ][ $k ] ] = trim($mch[ 1 ][ $k ]);
317 317
                         }
318 318
                     }
319 319
                     $headers->addMailboxHeader($name, $adresses);
@@ -328,44 +328,44 @@  discard block
 block discarded – undo
328 328
 
329 329
     protected function createMessage(array $message, \Swift_Mime_SimpleMimeEntity $entity): void
330 330
     {
331
-        if (stripos($message["type"], 'multipart/') !== false && !empty($message["parts"])) {
331
+        if (stripos($message[ "type" ], 'multipart/') !== false && !empty($message[ "parts" ])) {
332 332
 
333
-            if (strpos($message["type"], '/alternative')) {
333
+            if (strpos($message[ "type" ], '/alternative')) {
334 334
                 $nestingLevel = \Swift_Mime_SimpleMimeEntity::LEVEL_ALTERNATIVE;
335
-            } elseif (strpos($message["type"], '/related')) {
335
+            } elseif (strpos($message[ "type" ], '/related')) {
336 336
                 $nestingLevel = \Swift_Mime_SimpleMimeEntity::LEVEL_RELATED;
337
-            } elseif (strpos($message["type"], '/mixed')) {
337
+            } elseif (strpos($message[ "type" ], '/mixed')) {
338 338
                 $nestingLevel = \Swift_Mime_SimpleMimeEntity::LEVEL_MIXED;
339 339
             } else {
340 340
                 $nestingLevel = \Swift_Mime_SimpleMimeEntity::LEVEL_TOP;
341 341
             }
342 342
 
343 343
             $childs = array();
344
-            foreach ($message["parts"] as $part) {
344
+            foreach ($message[ "parts" ] as $part) {
345 345
 
346
-                $headers = $this->createHeadersSet($part["headers"]);
347
-                $encoder = $this->getEncoder($this->getTransferEncoding($part["headers"]));
346
+                $headers = $this->createHeadersSet($part[ "headers" ]);
347
+                $encoder = $this->getEncoder($this->getTransferEncoding($part[ "headers" ]));
348 348
 
349
-                if (stripos($part["type"], 'multipart/') !== false) {
350
-                    $newEntity = new \Swift_Mime_MimePart ($headers, $encoder, $this->getCache(), $this->getIdGenertor());
349
+                if (stripos($part[ "type" ], 'multipart/') !== false) {
350
+                    $newEntity = new \Swift_Mime_MimePart($headers, $encoder, $this->getCache(), $this->getIdGenertor());
351 351
                 } else {
352
-                    $newEntity = new \Swift_Mime_SimpleMimeEntity ($headers, $encoder, $this->getCache(), $this->getIdGenertor());
352
+                    $newEntity = new \Swift_Mime_SimpleMimeEntity($headers, $encoder, $this->getCache(), $this->getIdGenertor());
353 353
                 }
354 354
 
355 355
                 $this->createMessage($part, $newEntity);
356 356
 
357
-                $ref = new \ReflectionObject ($newEntity);
357
+                $ref = new \ReflectionObject($newEntity);
358 358
                 $m = $ref->getMethod('setNestingLevel');
359 359
                 $m->setAccessible(true);
360 360
                 $m->invoke($newEntity, $nestingLevel);
361 361
 
362
-                $childs[] = $newEntity;
362
+                $childs[ ] = $newEntity;
363 363
             }
364 364
 
365
-            $entity->setContentType($part["type"]);
365
+            $entity->setContentType($part[ "type" ]);
366 366
             $entity->setChildren($childs);
367 367
         } else {
368
-            $entity->setBody($message["body"], $message["type"]);
368
+            $entity->setBody($message[ "body" ], $message[ "type" ]);
369 369
         }
370 370
     }
371 371
 
Please login to merge, or discard this patch.
Braces   +6 added lines, -4 removed lines patch added patch discarded remove patch
@@ -157,8 +157,9 @@  discard block
 block discarded – undo
157 157
         if (!feof($stream)){
158 158
             $pos=ftell($stream);
159 159
             $row = fgets($stream);
160
-            if(!$auto_advance)
161
-                fseek($stream,$pos);
160
+            if(!$auto_advance) {
161
+                            fseek($stream,$pos);
162
+            }
162 163
         }
163 164
         return trim($row,"\r\n");
164 165
     }
@@ -208,8 +209,9 @@  discard block
 block discarded – undo
208 209
             }
209 210
         }
210 211
         //remove last newline ( part of boundary)
211
-        if(end($contents) =="")
212
-            array_pop($contents);
212
+        if(end($contents) =="") {
213
+                    array_pop($contents);
214
+        }
213 215
         return $this->contentDecoder->decode(implode(PHP_EOL, $contents), $encoding);
214 216
     }
215 217
 
Please login to merge, or discard this patch.