mirror of
https://git.freebsd.org/ports.git
synced 2025-05-13 15:51:51 -04:00
71 lines
2.9 KiB
PHP
71 lines
2.9 KiB
PHP
--- lib/MailMime.class.php.orig 2007-06-14 19:00:15 UTC
|
|
+++ lib/MailMime.class.php
|
|
@@ -59,9 +59,15 @@ function MsgParseBody($struct) {
|
|
|
|
global $filelist;
|
|
global $errors;
|
|
- $ctype_p = strtolower(trim($struct->ctype_primary));
|
|
- $ctype_s = strtolower(trim($struct->ctype_secondary));
|
|
|
|
+ if ( is_object( $struct) ) {
|
|
+ $ctype_p = strtolower(trim($struct->ctype_primary));
|
|
+ $ctype_s = strtolower(trim($struct->ctype_secondary));
|
|
+ } else {
|
|
+ $ctype_p = $struct;
|
|
+ $ctype_s = "";
|
|
+ }
|
|
+
|
|
switch ($ctype_p) {
|
|
case "multipart":
|
|
switch ($ctype_s) {
|
|
@@ -94,8 +100,14 @@ function MsgParseBody($struct) {
|
|
|
|
case "text":
|
|
// Do not display attached text types
|
|
- if ($attachment = $struct->d_parameters['filename'] or
|
|
- $attachment = $struct->d_parameters['name']) {
|
|
+ if ( isset($struct->d_parameters['filename']) ) {
|
|
+ $attachment = $struct->d_parameters['filename'];
|
|
+ } elseif ( isset($struct->d_parameters['name']) ) {
|
|
+ $attachment = $struct->d_parameters['name'];
|
|
+ } else {
|
|
+ $attachment = NULL;
|
|
+ }
|
|
+ if ($attachment) {
|
|
array_push($filelist, $attachment);
|
|
break;
|
|
}
|
|
@@ -117,7 +129,9 @@ function MsgParseBody($struct) {
|
|
default:
|
|
// Save the listed filename or notify the
|
|
// reader that this mail is not displayed completely
|
|
- $attachment = $struct->d_parameters['filename'];
|
|
+ if ( isset( $struct->d_parameters['filename'] )) {
|
|
+ $attachment = $struct->d_parameters['filename'];
|
|
+ } else { $attachment = NULL; }
|
|
$attachment ? array_push($filelist, $attachment) : $errors['Unsupported MIME objects present'] = true;
|
|
|
|
}
|
|
@@ -137,9 +151,9 @@ function FindMultiAlt($parts) {
|
|
foreach ($parts as $cur_part) {
|
|
$type = GetCtype($cur_part);
|
|
if ($type == 'multipart/related') {
|
|
- $type = $cur_part->d_parameters['type'];
|
|
- // Mozilla bug. Mozilla does not provide the parameter type.
|
|
- if (!$type) $type = 'text/html';
|
|
+ if ( isset( $cur_part->d_parameters['type'] )) { $type = $cur_part->d_parameters['type']; }
|
|
+ // Mozilla bug. Mozilla does not provide the parameter type.
|
|
+ if (!$type) $type = 'text/html';
|
|
}
|
|
$altCount = count($alt_pref);
|
|
for ($j = $best_view; $j < $altCount; ++$j) {
|
|
@@ -163,7 +177,8 @@ function FindMultiAlt($parts) {
|
|
*/
|
|
function FindMultiRel($struct) {
|
|
$entities = array();
|
|
- $type = $struct->d_parameters['type'];
|
|
+ $type = "";
|
|
+ if ( isset( $cur_part->d_parameters['type'] )) { $type = $cur_part->d_parameters['type']; }
|
|
// Mozilla bug. Mozilla does not provide the parameter type.
|
|
if (!$type) $type = 'text/html';
|
|
// Bad Headers sometimes have invalid MIME....
|