Need this check, otherwise some weird stuff occurs with exchange, and only
[squirrelmail.git] / functions / imap_search.php
index fb9e95b53b1115e462ca796696863ad59e247431..38832fc1be862cc1af0ec8fc60ea3d7ac8b743cb 100644 (file)
@@ -3,7 +3,7 @@
 /**
  * imap_search.php
  *
- * Copyright (c) 1999-2002 The SquirrelMail Project Team
+ * Copyright (c) 1999-2003 The SquirrelMail Project Team
  * Licensed under the GNU GPL. For full terms see the file COPYING.
  *
  * IMAP search routines
  * $Id$
  */
 
-require_once('../functions/imap.php');
-require_once('../functions/date.php');
-require_once('../functions/array.php');
-require_once('../functions/mailbox_display.php');
-require_once('../functions/mime.php');
+require_once(SM_PATH . 'functions/imap.php');
+require_once(SM_PATH . 'functions/date.php');
+require_once(SM_PATH . 'functions/mailbox_display.php');
+require_once(SM_PATH . 'functions/mime.php');
 
 function sqimap_search($imapConnection, $search_where, $search_what, $mailbox,
                        $color, $search_position = '', $search_all, $count_all) {
@@ -45,11 +44,17 @@ function sqimap_search($imapConnection, $search_where, $search_what, $mailbox,
 
     if ($imap_server_type == 'macosx') {
         foreach ($multi_search as $multi_search_part) {
+            if (strtoupper($languages[$squirrelmail_language]['CHARSET']) == 'ISO-2022-JP') {
+                $multi_search_part = mb_convert_encoding($multi_search_part, 'JIS', 'auto');
+            }
             $search_string .= $search_where . ' ' .$multi_search_part . ' ';
         }
     }
     else {
         foreach ($multi_search as $multi_search_part) {
+            if (strtoupper($languages[$squirrelmail_language]['CHARSET']) == 'ISO-2022-JP') {
+                $multi_search_part = mb_convert_encoding($multi_search_part, 'JIS', 'auto');
+            }
             $search_string .= $search_where . ' {' . strlen($multi_search_part)
                 . "}\r\n" . $multi_search_part . ' ';
         }
@@ -97,7 +102,7 @@ function sqimap_search($imapConnection, $search_where, $search_what, $mailbox,
         if (strstr($errors,'* SEARCH')) {
             return array();
         }
-        echo "<!-- $errors -->";
+        echo '<!-- '.htmlspecialchars($errors) .' -->';
     }