浏览代码

Merge branch 'trunk'

Andy 1 年之前
父节点
当前提交
45a5907e58
共有 2 个文件被更改,包括 5 次插入4 次删除
  1. 2 1
      functions/imap_general.php
  2. 3 3
      src/redirect.php

+ 2 - 1
functions/imap_general.php

@@ -1279,7 +1279,7 @@ function sqimap_logout ($imap_stream) {
  * @param stream $imap_stream
  * @param string $capability (since 1.3.0)
  * @param boolean $bUseCache (since 1.5.1) Controls use of capability data stored in session
- * @return mixed (string if $capability is set and found,
+ * @return mixed (string or array if $capability is set and found (array in the case the capability has multiple options),
  *  false, if $capability is set and not found,
  *  array if $capability not set)
  */
@@ -1287,6 +1287,7 @@ function sqimap_capability($imap_stream, $capability='', $bUseCache=true) {
     // sqgetGlobalVar('sqimap_capabilities', $sqimap_capabilities, SQ_SESSION);
 
     if (!$bUseCache || ! sqgetGlobalVar('sqimap_capabilities', $sqimap_capabilities, SQ_SESSION)) {
+        $sqimap_capabilities = array();
         $read = sqimap_run_command($imap_stream, 'CAPABILITY', true, $a, $b);
         $c = explode(' ', $read[0]);
         for ($i=2; $i < count($c); $i++) {

+ 3 - 3
src/redirect.php

@@ -108,13 +108,13 @@ sqsession_register($onetimepad, 'onetimepad');
 $sqimap_capabilities = sqimap_capability($imapConnection);
 
 /* Server side sorting control */
-if (isset($sqimap_capabilities['SORT']) && $sqimap_capabilities['SORT'] == true &&
+if (isset($sqimap_capabilities['SORT']) && !empty($sqimap_capabilities['SORT']) &&
     isset($disable_server_sort) && $disable_server_sort) {
     unset($sqimap_capabilities['SORT']);
 }
 
 /* Thread sort control */
-if (isset($sqimap_capabilities['THREAD']) && $sqimap_capabilities['THREAD'] == true &&
+if (isset($sqimap_capabilities['THREAD']) && !empty($sqimap_capabilities['THREAD']) &&
     isset($disable_thread_sort) && $disable_thread_sort) {
     unset($sqimap_capabilities['THREAD']);
 }
@@ -122,7 +122,7 @@ if (isset($sqimap_capabilities['THREAD']) && $sqimap_capabilities['THREAD'] == t
 sqsession_register($sqimap_capabilities, 'sqimap_capabilities');
 $delimiter = sqimap_get_delimiter ($imapConnection);
 
-if (isset($sqimap_capabilities['NAMESPACE']) && $sqimap_capabilities['NAMESPACE'] == true) {
+if (isset($sqimap_capabilities['NAMESPACE']) && !empty($sqimap_capabilities['NAMESPACE'])) {
     $namespace = sqimap_get_namespace($imapConnection);
     sqsession_register($namespace, 'sqimap_namespace');
 }