From 840b4dbeb81603ed44c30dc77be8eff98d7667c3 Mon Sep 17 00:00:00 2001
From: Aleksander Machniak <alec@alec.pl>
Date: Tue, 10 Jul 2012 14:30:34 -0400
Subject: [PATCH] Simplified method of getting default addressbook. Make sure to use the same source when adding contact and checking if message is safe (sender is in addressbook). Small code improvements.

---
 program/steps/mail/func.inc |   29 +++++++++++++++++------------
 1 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/program/steps/mail/func.inc b/program/steps/mail/func.inc
index 5a18ded..21fa3e8 100644
--- a/program/steps/mail/func.inc
+++ b/program/steps/mail/func.inc
@@ -518,21 +518,26 @@
 {
   global $RCMAIL;
 
-  $show_images = $RCMAIL->config->get('show_images');
   if (!$message->is_safe
-    && !empty($show_images)
-    && $message->has_html_part())
-  {
-    switch($show_images) {
-      case '1': // known senders only
-        $CONTACTS = new rcube_contacts($RCMAIL->db, $_SESSION['user_id']);
-        if ($CONTACTS->search('email', $message->sender['mailto'], true, false)->count) {
-          $message->set_safe(true);
+    && ($show_images = $RCMAIL->config->get('show_images'))
+    && $message->has_html_part()
+  ) {
+    switch ($show_images) {
+      case 1: // known senders only
+        // get default addressbook, like in addcontact.inc
+        $CONTACTS = $RCMAIL->get_address_book(-1, true);
+
+        if ($CONTACTS) {
+          $result = $CONTACTS->search('email', $message->sender['mailto'], 1, false);
+          if ($result->count) {
+            $message->set_safe(true);
+          }
         }
-      break;
-      case '2': // always
+        break;
+
+      case 2: // always
         $message->set_safe(true);
-      break;
+        break;
     }
   }
 }

--
Gitblit v1.9.1