From: alex-brainstorm Date: Thu, 6 Nov 2003 14:02:48 +0000 (+0000) Subject: Fix typo, add SIZE in SORT in case someone wants to do it X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=d2f031edf901e087c32cd31198534d3da0515244;p=squirrelmail.git Fix typo, add SIZE in SORT in case someone wants to do it git-svn-id: https://svn.code.sf.net/p/squirrelmail/code/trunk/squirrelmail@6098 7612ce4b-ef26-0410-bec9-ea0150e637f0 --- diff --git a/functions/imap_asearch.php b/functions/imap_asearch.php index 045da53c..e0df0e86 100644 --- a/functions/imap_asearch.php +++ b/functions/imap_asearch.php @@ -131,7 +131,7 @@ function sqimap_asearch_error_box($response, $query, $message) /** * This is to avoid the E_NOTICE warnings signaled by marc AT squirrelmail.org. Thanks Marc! - * @param mixed $var any variable + * @param mixed $var any variable (reference) * @return mixed zls ('') if $var is not defined, otherwise $var */ function asearch_nz(&$var) @@ -292,11 +292,11 @@ function sqimap_asearch_build_criteria($opcode, $what, $charset) /** * Another way to do array_values(array_unique(array_merge($to, $from))); - * @param array $to to array + * @param array $to to array (reference) * @param array $from from array * @return array uniquely merged array */ -function sqimap_array_merge_unique($to, $from) +function sqimap_array_merge_unique(&$to, $from) { if (empty($to)) return $from; @@ -339,14 +339,12 @@ function sqimap_run_search($imapConnection, $search_string, $search_charset) return array(); } - unset($messagelist); - // Keep going till we find the * SEARCH response foreach ($readin as $readin_part) { s_debug_dump('S:', $readin_part); if (substr($readin_part, 0, 9) == '* SEARCH ') { //EIMS returns multiple SEARCH responses, and this allowed according to Mark Crispin - $messagelist = sqimap_array_merge_unique($message_list, preg_split("/ /", substr($readin_part, 9))); + $messagelist = sqimap_array_merge_unique($messagelist, preg_split("/ /", substr($readin_part, 9))); } } @@ -396,7 +394,7 @@ function sqimap_run_sort($imapConnection, $search_string, $search_charset, $sort s_debug_dump('S:', $readin_part); if (substr($readin_part, 0, 7) == '* SORT ') { //SORT returns untagged responses - $messagelist = sqimap_array_merge_unique($message_list, preg_split("/ /", substr($readin_part, 7))); + $messagelist = sqimap_array_merge_unique($messagelist, preg_split("/ /", substr($readin_part, 7))); } } @@ -535,14 +533,14 @@ function sqimap_asearch_get_sort_criteria($mailbox, $sort_by) { global $internal_date_sort, $sent_folder; - $sort_opcodes = array ('DATE', 'FROM', 'SUBJECT'); + $sort_opcodes = array ('DATE', 'FROM', 'SUBJECT', 'SIZE'); if ($internal_date_sort == true) $sort_opcodes[0] = 'ARRIVAL'; // if (handleAsSent($mailbox)) // if (isSentFolder($mailbox)) if ($mailbox == $sent_folder) $sort_opcodes[1] = 'TO'; - return (($sort_by % 2) ? '' : 'REVERSE ') . $sort_opcodes[$sort_by >> 1]; + return (($sort_by % 2) ? '' : 'REVERSE ') . $sort_opcodes[($sort_by >> 1) & 3]; } /**