X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Femail.php;h=42f80c24273e2c6d4aaf1c894259504ab0fbf49b;hb=dbbe6efd27cde052402e1d9995f77feb95d1c265;hp=659978b6ee850f3bd0a7267f8d30829e60982160;hpb=b71a3af4570ccf349804b9ffa151fc1d35287d88;p=friendica.git diff --git a/include/email.php b/include/email.php old mode 100755 new mode 100644 index 659978b6ee..42f80c2427 --- a/include/email.php +++ b/include/email.php @@ -1,5 +1,7 @@ array(array()) is probably redundant now + return ((count($ret)) ? $ret : array()); } function email_msg_headers($mbox,$uid) { $raw_header = (($mbox && $uid) ? @imap_fetchheader($mbox,$uid,FT_UID) : ''); $raw_header = str_replace("\r",'',$raw_header); $ret = array(); - $h = split("\n",$raw_header); + $h = explode("\n",$raw_header); if(count($h)) foreach($h as $line ) { if (preg_match("/^[a-zA-Z]/", $line)) { @@ -72,7 +74,7 @@ function email_msg_headers($mbox,$uid) { } -function email_get_msg($mbox,$uid) { +function email_get_msg($mbox,$uid, $reply) { $ret = array(); $struc = (($mbox && $uid) ? @imap_fetchstructure($mbox,$uid,FT_UID) : null); @@ -80,12 +82,9 @@ function email_get_msg($mbox,$uid) { if(! $struc) return $ret; - // for testing purposes: Collect imported mails - // $file = tempnam("/tmp/friendica2/", "mail-in-"); - // file_put_contents($file, json_encode($struc)); - if(! $struc->parts) { $ret['body'] = email_get_part($mbox,$uid,$struc,0, 'html'); + $html = $ret['body']; if (trim($ret['body']) == '') $ret['body'] = email_get_part($mbox,$uid,$struc,0, 'plain'); @@ -97,16 +96,33 @@ function email_get_msg($mbox,$uid) { $html = ''; foreach($struc->parts as $ptop => $p) { $x = email_get_part($mbox,$uid,$p,$ptop + 1, 'plain'); - if($x) $text .= $x; + if ($x) { + $text .= $x; + } $x = email_get_part($mbox,$uid,$p,$ptop + 1, 'html'); - if($x) $html .= $x; + if ($x) { + $html .= $x; + } } - if (trim($html) != '') + if (trim($html) != '') { $ret['body'] = html2bbcode($html); - else + } else { $ret['body'] = $text; + } } + + $ret['body'] = removegpg($ret['body']); + $msg = removesig($ret['body']); + $ret['body'] = $msg['body']; + $ret['body'] = convertquote($ret['body'], $reply); + + if (trim($html) != '') { + $ret['body'] = removelinebreak($ret['body']); + } + + $ret['body'] = unifyattributionline($ret['body']); + return $ret; } @@ -124,10 +140,6 @@ function email_get_part($mbox,$uid,$p,$partno, $subtype) { ? @imap_fetchbody($mbox,$uid,$partno, FT_UID|FT_PEEK) : @imap_body($mbox,$uid,FT_UID|FT_PEEK); - // for testing purposes: Collect imported mails - // $file = tempnam("/tmp/friendica2/", "mail-body-"); - // file_put_contents($file, $data); - // Any part may be encoded, even plain text messages, so check everything. if ($p->encoding==4) $data = quoted_printable_decode($data); @@ -183,8 +195,9 @@ function email_get_part($mbox,$uid,$p,$partno, $subtype) { $x = ""; foreach ($p->parts as $partno0=>$p2) { $x .= email_get_part($mbox,$uid,$p2,$partno . '.' . ($partno0+1), $subtype); // 1.2, 1.2.1, etc. - //if($x) + //if ($x) { // return $x; + //} } return $x; } @@ -236,13 +249,19 @@ function email_header_encode($in_str, $charset) { // remove trailing spacer and // add start and end delimiters - $spacer = preg_quote($spacer); + $spacer = preg_quote($spacer,'/'); $out_str = preg_replace("/" . $spacer . "$/", "", $out_str); $out_str = $start . $out_str . $end; } return $out_str; } +/** + * email_send is used by NETWORK_EMAIL and NETWORK_EMAIL2 code + * (not to notify the user, but to send items to email contacts) + * + * @todo This could be changed to use the Emailer class + */ function email_send($addr, $subject, $headers, $item) { //$headers .= 'MIME-Version: 1.0' . "\n"; //$headers .= 'Content-Type: text/html; charset=UTF-8' . "\n";