X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fimap_general.php;h=c3ef35da2b40d0c6b061e98b12d27d519dcc981e;hb=9211bcef4d591ce3cf59cee202c24311d06849fd;hp=8167374957a1885c87c95f1de592f44118910e74;hpb=6fd953618853477f6ffe569ce3c9733ca9f9c2d0;p=squirrelmail.git diff --git a/functions/imap_general.php b/functions/imap_general.php index 81673749..c3ef35da 100755 --- a/functions/imap_general.php +++ b/functions/imap_general.php @@ -3,7 +3,7 @@ /** * imap_general.php * - * Copyright (c) 1999-2004 The SquirrelMail Project Team + * Copyright (c) 1999-2005 The SquirrelMail Project Team * Licensed under the GNU GPL. For full terms see the file COPYING. * * This implements all functions that do general imap functions. @@ -72,7 +72,7 @@ function sqimap_run_command ($imap_stream, $query, $handle_errors, &$response, $read = sqimap_read_data ($imap_stream, $tag, $handle_errors, $response, $message, $query,$filter,$outputstream,$no_return); - if (empty($read)) { //Imap server dropped its connection + if (empty($read)) { //Imap server dropped its connection $response = ''; $message = ''; return false; @@ -219,20 +219,20 @@ function sqimap_fread($imap_stream,$iSize,$filter=false, if ($iRemaining < $iBufferSize) { $iBufferSize = $iRemaining; } - if (!$sRead) { + if ($sRead == '') { $results = false; break; } - if ($sReadRem) { + if ($sReadRem != '') { $sRead = $sReadRem . $sRead; $sReadRem = ''; } - if ($filter && $sRead) { + if ($filter && $sRead != '') { // in case the filter is base64 decoding we return a remainder $sReadRem = $filter($sRead); } - if ($outputstream && $sRead) { + if ($outputstream && $sRead != '') { if (is_resource($outputstream)) { fwrite($outputstream,$sRead); } else if ($outputstream == 'php://stdout') { @@ -320,7 +320,7 @@ function sqimap_retrieve_imap_response($imap_stream, $tag, $handle_errors, $resultlist = array(); $data = array(); $read = sqimap_fgets($imap_stream); - $i = $k = 0; + $i = 0; while ($read) { $char = $read{0}; switch ($char) @@ -375,7 +375,7 @@ function sqimap_retrieve_imap_response($imap_stream, $tag, $handle_errors, } $read = sqimap_fgets($imap_stream); if ($read === false) { /* error */ - break 3; /* switch switch while */ + break 2; /* switch while */ } break; } // end case $tag{0} @@ -548,7 +548,7 @@ function sqimap_read_data ($imap_stream, $tag_uid, $handle_errors, * @return imap-stream resource identifier */ function sqimap_create_stream($server,$port,$tls=false) { - global $username, $use_imap_tls; + global $squirrelmail_language; if ($tls == true) { if ((check_php_version(4,3)) and (extension_loaded('openssl'))) { @@ -556,10 +556,11 @@ function sqimap_create_stream($server,$port,$tls=false) { $server = 'tls://' . $server; } else { require_once(SM_PATH . 'functions/display_messages.php'); - $string = "Unable to connect to IMAP server!
TLS is enabled, but this " . - "version of PHP does not support TLS sockets, or is missing the openssl " . - "extension.

Please contact your system administrator."; - logout_error($string,$color); + logout_error( sprintf(_("Error connecting to IMAP server: %s."), $server). + '
'. + _("TLS is enabled, but this version of PHP does not support TLS sockets, or is missing the openssl extension."). + '

'. + _("Please contact your system administrator and report this error.") ); } } @@ -569,10 +570,8 @@ function sqimap_create_stream($server,$port,$tls=false) { if (!$imap_stream) { set_up_language($squirrelmail_language, true); require_once(SM_PATH . 'functions/display_messages.php'); - $string = sprintf (_("Error connecting to IMAP server: %s.") . - "
\r\n", $server) . - "$error_number : $error_string
\r\n"; - logout_error($string,$color); + logout_error( sprintf(_("Error connecting to IMAP server: %s."), $server). + "
\r\n$error_number : $error_string
\r\n" ); exit; } $server_info = fgets ($imap_stream, 1024); @@ -603,7 +602,7 @@ function sqimap_login ($username, $password, $imap_server_address, $imap_port, $ $password = OneTimePadDecrypt($password, $onetimepad); if (($imap_auth_mech == 'cram-md5') OR ($imap_auth_mech == 'digest-md5')) { - // We're using some sort of authentication OTHER than plain or login + // We're using some sort of authentication OTHER than plain or login $tag=sqimap_session_id(false); if ($imap_auth_mech == 'digest-md5') { $query = $tag . " AUTHENTICATE DIGEST-MD5\r\n"; @@ -625,7 +624,7 @@ function sqimap_login ($username, $password, $imap_server_address, $imap_port, $ fputs($imap_stream,$reply); $read=sqimap_fgets($imap_stream); if ($imap_auth_mech == 'digest-md5') { - // DIGEST-MD5 has an extra step.. + // DIGEST-MD5 has an extra step.. if (substr($read,0,1) == '+') { // OK so far.. fputs($imap_stream,"\r\n"); $read=sqimap_fgets($imap_stream); @@ -635,7 +634,7 @@ function sqimap_login ($username, $password, $imap_server_address, $imap_port, $ $response=$results[1]; $message=$results[2]; } else { - // Fake the response, so the error trap at the bottom will work + // Fake the response, so the error trap at the bottom will work $response="BAD"; $message='IMAP server does not appear to support the authentication method selected.'; $message .= ' Please contact your system administrator.'; @@ -721,6 +720,8 @@ function sqimap_login ($username, $password, $imap_server_address, $imap_port, $ set_up_language($squirrelmail_language, true); include_once(SM_PATH . 'functions/display_messages.php' ); sqsession_destroy(); + /* terminate the session nicely */ + sqimap_logout($imap_stream); logout_error( _("Unknown user or password incorrect.") ); exit; } @@ -815,7 +816,7 @@ function sqimap_get_delimiter ($imap_stream = false) { } else { fputs ($imap_stream, ". LIST \"INBOX\" \"\"\r\n"); $read = sqimap_read_data($imap_stream, '.', true, $a, $b); - $read = $read['.'][0]; //sqimap_read_data() now returns a tag array of response array + $read = $read['.'][0]; //sqimap_read_data() now returns a tag array of response array $quote_position = strpos ($read[0], '"'); $sqimap_delimiter = substr ($read[0], $quote_position+1, 1); } @@ -830,9 +831,9 @@ function sqimap_get_delimiter ($imap_stream = false) { */ function sqimap_encode_mailbox_name($what) { - if (ereg("[\"\\\r\n]", $what)) - return '{' . strlen($what) . "}\r\n" . $what; /* 4.3 literal form */ - return '"' . $what . '"'; /* 4.3 quoted string form */ + if (ereg("[\"\\\r\n]", $what)) + return '{' . strlen($what) . "}\r\n" . $what; /* 4.3 literal form */ + return '"' . $what . '"'; /* 4.3 quoted string form */ } /**