- /* Detects filename if any */
- if (strpos(strtolower(trim($line)), "filename=")) {
- $pos = strpos($line, "filename=") + 9;
- $name = trim($line);
- if (strpos($line, " ", $pos) > 0) {
- $name = substr($name, $pos, strpos($line, " ", $pos));
- } else {
- $name = substr($name, $pos);
- }
- $name = str_replace("\"", "", $name);
- $hdr->filename = $name;
- }
- }
- /* REPLY-TO */
- else if (strtolower(substr($read[$i], 0, 9)) == "reply-to:") {
- $hdr->replyto = trim(substr($read[$i], 9, strlen($read[$i])));
- $i++;
- }
- /* FROM */
- else if (strtolower(substr($read[$i], 0, 5)) == "from:") {
- $hdr->from = trim(substr($read[$i], 5, strlen($read[$i]) - 6));
- if (! isset($hdr->replyto) || $hdr->replyto == "") {
- $hdr->replyto = $hdr->from;
- }
- $i++;
- }
- /* DATE */
- else if (strtolower(substr($read[$i], 0, 5)) == "date:") {
- $d = substr($read[$i], 5);
- $d = trim($d);
- $d = strtr($d, array(' ' => ' '));
- $d = explode(' ', $d);
- $hdr->date = getTimeStamp($d);
- $i++;
- }
- /* SUBJECT */
- else if (strtolower(substr($read[$i], 0, 8)) == "subject:") {
- $hdr->subject = trim(substr($read[$i], 8, strlen($read[$i]) - 9));
- if (strlen(Chop($hdr->subject)) == 0) {
- $hdr->subject = _("(no subject)");
- }
- /*
- if ($where == 'SUBJECT') {
- $hdr->subject = $what;
- // $hdr->subject = eregi_replace($what, "<b>\\0</b>", $hdr->subject);
- }
- */
- $i++;
- }
- /* CC */
- else if (strtolower(substr($read[$i], 0, 3)) == "cc:") {
- $pos = 0;
- if (isset($read_fold[0])) {
- $hdr->cc[$pos] = trim(substr($read_fold[0], 4));
- $pos++;
- while ($pos < count($read_fold)) {
- $hdr->cc[$pos] = trim($read_fold[$pos]);
- $pos++;
- }
- } else {
- $hdr->cc[$pos] = trim(substr($read[$i], 4));
- }
- $i++;
- }
- /* BCC */
- else if (strtolower(substr($read[$i], 0, 4)) == "bcc:") {
- $pos = 0;
- if (isset($read_fold[0])) {
- $hdr->bcc[$pos] = trim(substr($read_fold[0], 5));
- $pos++;
- while ($pos < count($read_fold)) {
- $hdr->bcc[$pos] = trim($read_fold[$pos]);
- $pos++;
- }
- } else {
- $hdr->bcc[$pos] = trim(substr($read[$i], 5));
- }
- $i++;
- }
- /* TO */
- else if (strtolower(substr($read[$i], 0, 3)) == "to:") {
- $pos = 0;
- if (isset($read_fold[0])) {
- $hdr->to[$pos] = trim(substr($read_fold[0], 4));
- $pos++;
- while ($pos < count($read_fold)) {
- $hdr->to[$pos] = trim($read_fold[$pos]);
- $pos++;
- }
- } else {
- $hdr->to[$pos] = trim(substr($read[$i], 4));
- }
- $i++;
-
- }
- /* MESSAGE ID */
- else if (strtolower(substr($read[$i], 0, 11)) == "message-id:") {
- $hdr->message_id = trim(substr($read[$i], 11));
- $i++;
- }
- /* ERROR CORRECTION */
- else if (substr($read[$i], 0, 1) == ")") {
- if (strlen(trim($hdr->subject)) == 0) {
- $hdr->subject = _("(no subject)");
- }
- if (strlen(trim($hdr->from)) == 0) {
- $hdr->from = _("(unknown sender)");
- }
- if (strlen(trim($hdr->date)) == 0) {
- $hdr->date = time();
- }
- $i++;
- }
- /* X-PRIORITY */
- else if (strtolower(substr($read[$i], 0, 11)) == "x-priority:") {
- $hdr->priority = trim(substr($read[$i], 11));
- $i++;
- }
- else {
- $i++;
- }
- $read_fold=array();
- }
- return $hdr;