From 6726f0c369e87c3cc34b2c2815935c87bc196c3d Mon Sep 17 00:00:00 2001
From: thomascube <thomas@roundcube.net>
Date: Wed, 06 Feb 2008 02:41:11 -0500
Subject: [PATCH] Remember decision to display images for a certain message during session (#1484754)

---
 program/steps/mail/show.inc |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/program/steps/mail/show.inc b/program/steps/mail/show.inc
index 2f0fb01..9e9ba8d 100644
--- a/program/steps/mail/show.inc
+++ b/program/steps/mail/show.inc
@@ -42,6 +42,12 @@
       return;
       }
     }
+    
+  // check if safe flag is set
+  if ($MESSAGE['is_safe'] = intval($_GET['_safe']))
+    $_SESSION['safe_messages'][$MESSAGE['UID']] = true;
+  else if ($_SESSION['safe_messages'][$MESSAGE['UID']])
+    $MESSAGE['is_safe'] = 1;
 
   // calculate Etag for this request
   $etag = md5($MESSAGE['UID'].$IMAP->get_mailbox_name().session_id().intval($MESSAGE['headers']->mdn_sent).intval($PRINT_MODE));
@@ -58,7 +64,7 @@
   if ($MESSAGE['structure'] = $IMAP->get_structure($MESSAGE['UID']))
     list($MESSAGE['parts'], $MESSAGE['attachments']) = rcmail_parse_message(
       $MESSAGE['structure'],
-      array('safe' => intval($_GET['_safe']),
+      array('safe' => $MESSAGE['is_safe'],
             'prefer_html' => $CONFIG['prefer_html'],
             'get_url' => $GET_URL.'&_part=%s')
       );
@@ -72,7 +78,7 @@
 
   // give message uid to the client
   $OUTPUT->set_env('uid', $MESSAGE['UID']);
-  $OUTPUT->set_env('safemode', intval($_GET['_safe']));
+  $OUTPUT->set_env('safemode', $MESSAGE['is_safe']);
   
   // check for unset disposition notification
   if ($MESSAGE['headers']->mdn_to && !$MESSAGE['headers']->mdn_sent && $IMAP->get_mailbox_name() != $CONFIG['drafts_mbox'])

--
Gitblit v1.9.1