duhduh
[squirrelmail.git] / src / printer_friendly_bottom.php
index f9f59a1e558ef5a20c91ba5281ad48705e287f03..abc0cc52546c3552b1ca3b8a6292a70164bcf6af 100644 (file)
@@ -1,26 +1,41 @@
 <?php
 
-  /**
-   **  printer_friendly_bottom.php
-   **
-   **  Copyright (c) 1999-2000 The SquirrelMail development team
-   **  Licensed under the GNU GPL. For full terms see the file COPYING.
-   **
-   **  with javascript on, it is the bottom frame of printer_friendly_main.php
-   **  else, it is alone in a new window
-   **
-   **  - this is the page that does all the work, really.
-   **
-   **  $Id$
-   **/
-
-    require_once('../src/validate.php');
-    require_once('../functions/strings.php');
-    require_once('../config/config.php');
-    require_once('../src/load_prefs.php');
-    require_once('../functions/imap.php');
-    require_once('../functions/page_header.php');
-
+/**
+ * printer_friendly_bottom.php
+ *
+ * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * with javascript on, it is the bottom frame of printer_friendly_main.php
+ * else, it is alone in a new window
+ *
+ * - this is the page that does all the work, really.
+ *
+ * $Id$
+ */
+
+/*****************************************************************/
+/*** 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 looks.                        ***/
+/***    + 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('../src/validate.php');
+require_once('../functions/strings.php');
+require_once('../config/config.php');
+require_once('../src/load_prefs.php');
+require_once('../functions/imap.php');
+require_once('../functions/page_header.php');
 
     $pf_cleandisplay = getPref($data_dir, $username, 'pf_cleandisplay');
 
     $to = decodeHeader(getLineOfAddrs($message->header->to));
 
      // and Body and Subject could easily stream off the page...
-    $body = mime_fetch_body($imap_stream, $passed_id, $passed_ent_id);
-    $body = str_replace("\n", "\n", trim(decodeBody($body, $message->header->encoding)));
+    $id = $message->header->id;
+    $ent_num = findDisplayEntity ($message, 0);  
+    $body_message = getEntity($message, $ent_num);
+    if (($body_message->header->type0 == 'text') ||
+        ($body_message->header->type0 == 'rfc822')) {    
+        $body = mime_fetch_body ($imap_stream, $id, $ent_num);
+        $body = decodeBody($body, $body_message->header->encoding);
+        $hookResults = do_hook("message_body", $body);
+        $body = $hookResults[1];
+        if ($body_message->header->type1 == 'html') {
+        if( $show_html_default <> 1 ) {
+            $body = strip_tags( $body );
+            translateText($body, $wrap_at, $body_message->header->charset);
+        } else {
+            $body = MagicHTML( $body, $id );
+        }
+        } else {
+        translateText($body, $wrap_at, $body_message->header->charset);
+        }              
+    } else {
+        $body = _("Message not printable");
+    }
+
     $subject = trim(decodeHeader($message->header->subject));
 
      // now, if they choose to, we clean up the display a bit...
-    if ( empty($pf_cleandisplay) || $pf_cleandisplay != 'no' )
-    {
+     /*
+    if ( empty($pf_cleandisplay) || $pf_cleandisplay != 'no' ) {
 
         $num_leading_spaces = 9; // nine leading spaces for indentation
 
@@ -63,7 +99,7 @@
         $date = pf_clean_string($date, $num_leading_spaces);
 
     } // end cleanup
-
+    */
     // --end display setup--
 
 
     echo '<tr><td>' . _("Date") . ':</td><td>' . htmlentities($date) . "</td></td>\n".
          '<tr><td>' . _("Subject") . ':</td><td>' . htmlentities($subject) . "</td></td>\n".
          '</table>'.
-         "\n<pre>";
-
-
+         "\n";
      // body
     echo "<hr noshade size=1>\n";
-    echo htmlentities($body);
+    echo $body;
 
 // --end browser output--
 
 function pf_clean_string ( $unclean_string, $num_leading_spaces ) {
     global $data_dir, $username;
 
-    $wrap_at = getPref($data_dir, $username, 'wrap_at');
+    $wrap_at = getPref($data_dir, $username, 'wrap_at', 86);
     $wrap_at = $wrap_at - $num_leading_spaces; // header stuff
 
     $leading_spaces = '';
@@ -135,4 +169,4 @@ function pf_clean_string ( $unclean_string, $num_leading_spaces ) {
 
 // --end pf-specific functions
 
-?>
+?>
\ No newline at end of file