Fix broken'Thread' and the no-javascript 'All' links (add security tokens)
[squirrelmail.git] / functions / imap_asearch.php
index 8c204ebbbb7c6cb724ada36e99ce8e7a5399307f..6ed4666982eda2920553c49355c80fcdfc5dfffe 100644 (file)
@@ -8,7 +8,7 @@
  * Subfolder search idea from Patch #806075 by Thomas Pohl xraven at users.sourceforge.net. Thanks Thomas!
  *
  * @author Alex Lemaresquier - Brainstorm <alex at brainstorm.fr>
- * @copyright &copy; 1999-2007 The SquirrelMail Project Team
+ * @copyright &copy; 1999-2009 The SquirrelMail Project Team
  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  * @version $Id$
  * @package squirrelmail
@@ -190,7 +190,7 @@ function sqimap_asearch_parse_date($what)
     global $imap_asearch_months;
 
     $what = trim($what);
-    $what = ereg_replace('[ /\\.,]+', '-', $what);
+    $what = preg_replace('/[ \/\\.,]+/', '-', $what);
     if ($what) {
         preg_match('/^([0-9]+)-+([^\-]+)-+([0-9]+)$/', $what, $what_parts);
         if (count($what_parts) == 4) {
@@ -232,7 +232,7 @@ function sqimap_asearch_build_criteria($opcode, $what, $charset)
         default:
         case 'anum':
             $what = str_replace(' ', '', $what);
-            $what = ereg_replace('[^0-9]+[^KMG]$', '', strtoupper($what));
+            $what = preg_replace('/[^0-9]+[^KMG]$/', '', strtoupper($what));
             if ($what != '') {
                 switch (substr($what, -1)) {
                     case 'G':
@@ -268,7 +268,7 @@ function sqimap_asearch_build_criteria($opcode, $what, $charset)
             $criteria = $opcode . ' ' . sqimap_asearch_encode_string($what, $charset) . ' ';
         break;
         case 'asequence':
-            $what = ereg_replace('[^0-9:\(\)]+', '', $what);
+            $what = preg_replace('/[^0-9:()]+/', '', $what);
             if ($what != '')
                 $criteria = $opcode . ' ' . $what . ' ';
         break;
@@ -368,6 +368,7 @@ function sqimap_asearch_get_sort_criteria($mailbox, $sort_by)
     $sort_opcodes = array ('DATE', 'FROM', 'SUBJECT', 'SIZE');
     if ($internal_date_sort == true)
         $sort_opcodes[0] = 'ARRIVAL';
+// FIXME: Why are these commented out?  I have no idea what this code does, but both of these functions sound more robust than the simple string check that's being used now.  Someone who understands this code should either fix this or remove these lines completely or document why they are here commented out
 //        if (handleAsSent($mailbox))
 //        if (isSentFolder($mailbox))
     if ($mailbox == $sent_folder)