}
if (!isset($sqimap_capabilities)) {
- sqgetglobalvar('sqimap_capabilities' , $capability , SQ_SESSION );
+ sqgetglobalvar('sqimap_capabilities' , $sqimap_capabilities , SQ_SESSION );
}
$host = $imap_server_address;
*
**/
$tag=sqimap_session_id(false);
- $sasl = (isset($capability['SASL-IR']) && $capability['SASL-IR']) ? true : false;
+ $sasl = (isset($sqimap_capabilities['SASL-IR']) && $sqimap_capabilities['SASL-IR']) ? true : false;
$auth = base64_encode("$username\0$username\0$password");
if ($sasl) {
// IMAP Extension for SASL Initial Client Response
for ($i=2; $i < count($c); $i++) {
$cap_list = explode('=', $c[$i]);
if (isset($cap_list[1])) {
+ if(isset($sqimap_capabilities[trim($cap_list[0])]) &&
+ !is_array($sqimap_capabilities[trim($cap_list[0])])) {
+ // Remove array key that was added in 'else' block below
+ // This is to accomodate for capabilities like:
+ // SORT SORT=MODSEQ
+ unset($sqimap_capabilities[trim($cap_list[0])]);
+ }
$sqimap_capabilities[trim($cap_list[0])][] = $cap_list[1];
} else {
- $sqimap_capabilities[trim($cap_list[0])] = TRUE;
+ if(!isset($sqimap_capabilities[trim($cap_list[0])])) {
+ $sqimap_capabilities[trim($cap_list[0])] = TRUE;
+ }
}
}
}
$yp = `ypmatch $username aliases`;
return chop(substr($yp, strlen($username)+1));
}
-
-?>
\ No newline at end of file