Calendar rg=0
[squirrelmail.git] / src / retrievalerror.php
index c5242fe96a04f29dda7ab111d29f0d1a70b0bb92..57fc68413fb9c1c95200ccd6d9c72a0f9a0e23d4 100644 (file)
 <?php
-   require_once('../src/validate.php');
-   require_once("../functions/imap.php");
-   require_once("../functions/smtp.php");
-   require_once("../functions/page_header.php");
-   require_once("../src/load_prefs.php");
 
-   $destination = "retrievalerror@gm44c.xs4all.nl";
-
-   $attachments = array();
-
-
-   function ClearAttachments() {
-       global $attachments, $attachment_dir;
-
-       foreach ($attachments as $info) {
-           if (file_exists($attachment_dir . $info['localfilename'])) {
-               unlink($attachment_dir . $info['localfilename']);
-           }
-       }
-
-       $attachments = array();
-   }
-
-   $imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
-   sqimap_mailbox_select($imap_stream, $mailbox);
-   $sid = sqimap_session_id();
-   fputs ($imap_stream, "$sid FETCH $passed_id BODY[]\r\n");
-   $data = sqimap_read_data ($imap_stream, $sid, true, $response, $message);
-   sqimap_logout($imap_stream);
-   $topline2 = array_shift($data);
-   $thebastard = implode('', $data);
-
-
-
-   $localfilename = GenerateRandomString(32, '', 7);
-   while (file_exists($attachment_dir . $localfilename))
-       $localfilename = GenerateRandomString(32, '', 7);
-   // Write Attachment to file
-   $fp = fopen ($attachment_dir.$localfilename, 'w');
-   fputs ($fp, $thebastard);
-   fclose ($fp);
-
-   $newAttachment = array();
-   $newAttachment['localfilename'] = $localfilename;
-   $newAttachment['remotefilename'] = 'message.duh';
-   $newAttachment['type'] = 'application/octet-stream';
-   $attachments[] = $newAttachment;
-
-
-   $body = "Response: $response\n" .
-           "Message: $message\n" .
-           "FETCH line: $topline\n" .
-           "Server Type: $imap_server_type\n";
-
-   $imap_stream = fsockopen ($imapServerAddress, $imapPort, &$error_number, &$error_string);
-   $server_info = fgets ($imap_stream, 1024);
-   if ($imap_stream)
-   {
-       $body .=  "  Server info:  $server_info";
-       fputs ($imap_stream, "a001 CAPABILITY\r\n");
-       $read = fgets($imap_stream, 1024);
-       $list = explode(' ', $read);
-       array_shift($list);
-       array_shift($list);
-       $read = implode(' ', $list);
-       $body .= "  Capabilities:  $read";
-       fputs ($imap_stream, "a002 LOGOUT\r\n");
-       fclose($imap_stream);
-   }
-
-   $body .= "\nFETCH line for gathering the whole message: $topline2\n";
-
-
-   sendMessage($destination, "", "", "submitted message", $body, 0);
-
-
-
-
-   displayPageHeader($color, $mailbox);
-
-   $par = "mailbox=".urlencode($mailbox)."&passed_id=$passed_id";
-   if (isset($where) && isset($what)) {
-       $par .= "&where=".urlencode($where)."&what=".urlencode($what);
-   } else {
-       $par .= "&startMessage=$startMessage&show_more=0";
-   }
-
-   echo '<BR>The message has been submitted to the developers knowledgebase!<BR>' .
-        'Thank you very much<BR>' .
-        'Please submit every message only once<BR>' .
-        "<A HREF=\"../src/read_body.php?$par\">View the message</A><BR>";
-
-?>
\ No newline at end of file
+/**
+ * retrievalerror.php
+ *
+ * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * Submits a message which Squirrelmail couldn't handle
+ * because of malformedness of the message
+ * sends it to retrievalerror@squirrelmail.org
+ * Of course, this only happens when the end user has chosen to do so
+ *
+ * $Id$
+ */
+
+/* Path for SquirrelMail required files. */
+define('SM_PATH','../');
+
+/* SquirrelMail required files. */
+require_once(SM_PATH . 'include/validate.php');
+require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/smtp.php');
+require_once(SM_PATH . 'functions/page_header.php');
+require_once(SM_PATH . 'include/load_prefs.php');
+
+$destination = 'retrievalerror@squirrelmail.org';
+$attachments = array();
+
+/* globals */
+
+$key = $_COOKIE['key'];
+$username = $_SESSION['username'];
+$onetimepad = $_SESSION['onetimepad'];
+
+$mailbox = $_GET['mailbox'];
+$passed_id = $_GET['passed_id'];
+$startMessage = $_GET['startMessage'];
+$show_more = $_GET['show_more'];
+$response = $_GET['response'];
+$message = $_GET['message'];
+$topline = $_GET['topline'];
+
+if(isset($_GET['where'])) {
+    $where = $_GET['where'];
+}
+if(isset($_GET['what'])) {
+    $what = $_GET['what'];
+}
+
+/* end globals */
+
+function ClearAttachments() {
+    global $attachments, $attachment_dir, $username;
+
+    $hashed_attachment_dir = getHashedDir($username, $attachment_dir);
+    foreach ($attachments as $info) {
+        $attached_file = "$hashed_attachment_dir/$info[localfilename]";
+        if (file_exists($attached_file)) {
+            unlink($attached_file);
+        }
+    }
+
+    $attachments = array();
+}
+
+$imap_stream = sqimap_login($username, $key, $imapServerAddress, $imapPort, 0);
+sqimap_mailbox_select($imap_stream, $mailbox);
+$sid = sqimap_session_id();
+fputs ($imap_stream, "$sid FETCH $passed_id BODY[]\r\n");
+$data = sqimap_read_data ($imap_stream, $sid, true, $response, $message);
+sqimap_logout($imap_stream);
+$topline2 = array_shift($data);
+$thebastard = implode('', $data);
+
+$hashed_attachment_dir = getHashedDir($username, $attachment_dir);
+$localfilename = GenerateRandomString(32, '', 7);
+$full_localfilename = "$hashed_attachment_dir/$localfilename";
+while (file_exists($full_localfilename)) {
+    $localfilename = GenerateRandomString(32, '', 7);
+    $full_localfilename = "$hashed_attachment_dir/$localfilename";
+}
+
+/* Write Attachment to file */
+$fp = fopen ($full_localfilename, 'wb');
+fputs ($fp, $thebastard);
+fclose ($fp);
+
+$newAttachment = array();
+$newAttachment['localfilename'] = $localfilename;
+$newAttachment['remotefilename'] = 'message.duh';
+$newAttachment['type'] = 'application/octet-stream';
+$attachments[] = $newAttachment;
+
+$body = "Response: $response\n" .
+        "Message: $message\n" .
+        "FETCH line: $topline\n" .
+        "Server Type: $imap_server_type\n";
+
+$imap_stream = fsockopen ($imapServerAddress, $imapPort, &$error_number, &$error_string);
+$server_info = fgets ($imap_stream, 1024);
+if ($imap_stream) {
+    $body .=  "  Server info:  $server_info";
+    fputs ($imap_stream, "a001 CAPABILITY\r\n");
+    $read = fgets($imap_stream, 1024);
+    $list = explode(' ', $read);
+    array_shift($list);
+    array_shift($list);
+    $read = implode(' ', $list);
+    $body .= "  Capabilities:  $read";
+    fputs ($imap_stream, "a002 LOGOUT\r\n");
+    fclose($imap_stream);
+}
+
+$body .= "\nFETCH line for gathering the whole message: $topline2\n";
+
+sendMessage($destination, '', '', 'submitted message', $body, False, 0);
+
+displayPageHeader($color, $mailbox);
+
+$par = 'mailbox='.urlencode($mailbox)."&amp;passed_id=$passed_id";
+if (isset($where) && isset($what)) {
+    $par .= '&amp;where='.urlencode($where).'&amp;what='.urlencode($what);
+} else {
+    $par .= "&amp;startMessage=$startMessage&amp;show_more=0";
+}
+
+echo '<BR>The message has been submitted to the developers knowledgebase!<BR>' .
+     'Thank you very much<BR>' .
+     'Please submit every message only once<BR>' .
+     "<A HREF=\"../src/read_body.php?$par\">View the message</A><BR>";
+
+?>