X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fimap_general.php;h=c3ef35da2b40d0c6b061e98b12d27d519dcc981e;hb=ee27709d9224cc01e605c2478de9d9e4dd41f84c;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 */
}
/**