X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fmime.php;h=ce2be9b894cef4b9b36c9f8bad8ff4bf27d625e6;hb=7c0ec1d81108c90f37fdab4b85520a05107fc58d;hp=24e11590200449eec14dbe2840d0437525c915a3;hpb=bd9bbfefba8fa274260a37c965f7510bb6670599;p=squirrelmail.git
diff --git a/functions/mime.php b/functions/mime.php
index 24e11590..07cfe443 100644
--- a/functions/mime.php
+++ b/functions/mime.php
@@ -3,1159 +3,2050 @@
/**
* mime.php
*
- * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Copyright (c) 1999-2004 The SquirrelMail Project Team
* Licensed under the GNU GPL. For full terms see the file COPYING.
*
* This contains the functions necessary to detect and decode MIME
* messages.
*
* $Id$
+ * @package squirrelmail
*/
-/*****************************************************************/
-/*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/
-/*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/
-/*** + Base level indent should begin at left margin, as ***/
-/*** the require_once below. ***/
-/*** + All identation should consist of four space blocks ***/
-/*** + Tab characters are evil. ***/
-/*** + all comments should use "slash-star ... star-slash" ***/
-/*** style -- no pound characters, no slash-slash style ***/
-/*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/
-/*** ALWAYS USE { AND } CHARACTERS!!! ***/
-/*** + Please use ' instead of ", when possible. Note " ***/
-/*** should always be used in _( ) function calls. ***/
-/*** Thank you for your help making the SM code more readable. ***/
-/*****************************************************************/
-
-require_once('../functions/imap.php');
-require_once('../functions/attachment_common.php');
-
-/** Setting up the objects that have the structure for the message **/
-class msg_header {
- /** msg_header contains generic variables for values that **/
- /** could be in a header. **/
-
- var $type0 = '', $type1 = '', $boundary = '', $charset = '';
- var $encoding = '', $size = 0, $to = array(), $from = '', $date = '';
- var $cc = array(), $bcc = array(), $reply_to = '', $subject = '';
- var $id = 0, $mailbox = '', $description = '', $filename = '';
- var $entity_id = 0, $message_id = 0, $name = '';
- // var $priority = "";
+/** The typical includes... */
+require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/attachment_common.php');
+
+/* -------------------------------------------------------------------------- */
+/* MIME DECODING */
+/* -------------------------------------------------------------------------- */
+
+/**
+ * Get the MIME structure
+ *
+ * This function gets the structure of a message and stores it in the "message" class.
+ * It will return this object for use with all relevant header information and
+ * fully parsed into the standard "message" object format.
+ */
+function mime_structure ($bodystructure, $flags=array()) {
+
+ /* Isolate the body structure and remove beginning and end parenthesis. */
+ $read = trim(substr ($bodystructure, strpos(strtolower($bodystructure), 'bodystructure') + 13));
+ $read = trim(substr ($read, 0, -1));
+ $i = 0;
+ $msg = Message::parseStructure($read,$i);
+ if (!is_object($msg)) {
+ include_once(SM_PATH . 'functions/display_messages.php');
+ global $color, $mailbox;
+ /* removed urldecode because $_GET is auto urldecoded ??? */
+ displayPageHeader( $color, $mailbox );
+ $errormessage = _("SquirrelMail could not decode the bodystructure of the message");
+ $errormessage .= '
'._("the provided bodystructure by your imap-server").':
';
+ $errormessage .= '
' . htmlspecialchars($read) . ''; + plain_error_message( $errormessage, $color ); + echo '