X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=functions%2Fimap_general.php;h=8a117dec5ef07e0e478fd562d95da6d594239822;hb=8d8da447778a43b78bc95f9601b385416ad84477;hp=95ac4434c2a8f69135bb5674cae0020923f2352e;hpb=1e0a2f0eb65bef55c999d3eb414cc1f19ead6148;p=squirrelmail.git diff --git a/functions/imap_general.php b/functions/imap_general.php index 95ac4434..8a117dec 100755 --- a/functions/imap_general.php +++ b/functions/imap_general.php @@ -53,7 +53,7 @@ function sqimap_run_command_list ($imap_stream, $query, $handle_errors, &$respon global $squirrelmail_language, $color; set_up_language($squirrelmail_language); require_once(SM_PATH . 'functions/display_messages.php'); - $string = "\n" . + $string = "\n" . _("ERROR : No available imapstream.") . "\n"; error_box($string,$color); @@ -90,7 +90,7 @@ function sqimap_run_command ($imap_stream, $query, $handle_errors, &$response, global $squirrelmail_language, $color; set_up_language($squirrelmail_language); require_once(SM_PATH . 'functions/display_messages.php'); - $string = "\n" . + $string = "\n" . _("ERROR : No available imapstream.") . "\n"; error_box($string,$color); @@ -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') { @@ -258,16 +258,16 @@ function sqimap_read_data_list($imap_stream, $tag, $handle_errors, global $color, $squirrelmail_language; set_up_language($squirrelmail_language); require_once(SM_PATH . 'functions/display_messages.php'); - $string = "\n" . + $string = "\n" . _("ERROR : Bad function call.") . - "
\n" . + "

\n" . _("Reason:") . ' '. - 'There is a plugin installed which make use of the
' . - 'SquirrelMail internal function sqimap_read_data_list.
'. - 'Please adapt the installed plugin and let it use
'. - 'sqimap_run_command or sqimap_run_command_list instead

'. - 'The following query was issued:
'. - htmlspecialchars($query) . '
' . "

\n"; + 'There is a plugin installed which make use of the
' . + 'SquirrelMail internal function sqimap_read_data_list.
'. + 'Please adapt the installed plugin and let it use
'. + 'sqimap_run_command or sqimap_run_command_list instead

'. + 'The following query was issued:
'. + htmlspecialchars($query) . '
' . "

\n"; error_box($string,$color); echo ''; exit; @@ -288,17 +288,17 @@ function sqimap_error_box($title, $query = '', $message_title = '', $message = ' set_up_language($squirrelmail_language); require_once(SM_PATH . 'functions/display_messages.php'); - $string = "\n" . $title . "
\n"; + $string = "\n" . $title . "
\n"; $cmd = explode(' ',$query); $cmd= strtolower($cmd[0]); if ($query != '' && $cmd != 'login') - $string .= _("Query:") . ' ' . htmlspecialchars($query) . '
'; + $string .= _("Query:") . ' ' . htmlspecialchars($query) . '
'; if ($message_title != '') $string .= $message_title; if ($message != '') $string .= htmlspecialchars($message); - $string .= "

\n"; + $string .= "

\n"; if ($link != '') $string .= $link; error_box($string,$color); @@ -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,23 +556,22 @@ 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.") ); } } - $imap_stream = fsockopen($server, $port, $error_number, $error_string, 15); + $imap_stream = @fsockopen($server, $port, $error_number, $error_string, 15); /* Do some error correction */ 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.'; @@ -694,14 +693,14 @@ function sqimap_login ($username, $password, $imap_server_address, $imap_port, $ set_up_language($squirrelmail_language, true); require_once(SM_PATH . 'functions/display_messages.php'); if ($response == 'BAD') { - $string = sprintf (_("Bad request: %s")."
\r\n", $message); + $string = sprintf (_("Bad request: %s")."
\r\n", $message); } else { - $string = sprintf (_("Unknown error: %s") . "
\n", $message); + $string = sprintf (_("Unknown error: %s") . "
\n", $message); } if (isset($read) && is_array($read)) { - $string .= '
' . _("Read data:") . "
\n"; + $string .= '
' . _("Read data:") . "
\n"; foreach ($read as $line) { - $string .= htmlspecialchars($line) . "
\n"; + $string .= htmlspecialchars($line) . "
\n"; } } error_box($string,$color); @@ -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; } @@ -874,8 +875,8 @@ function _adaptAddress(&$aAddr,$k) { $sPersonal = (isset($aAddr[SQM_ADDR_PERSONAL]) && $aAddr[SQM_ADDR_PERSONAL]) ? $aAddr[SQM_ADDR_PERSONAL] : ''; $sEmail = ($aAddr[SQM_ADDR_HOST]) ? - $aAddr[SQM_ADDR_HOST] . '@'.$aAddr[SQM_ADDR_HOST] : - $aAddr[SQM_ADDR_HOST]; + $aAddr[SQM_ADDR_MAILBOX] . '@'.$aAddr[SQM_ADDR_HOST] : + $aAddr[SQM_ADDR_MAILBOX]; $aAddr = array($sEmail,$sPersonal); } @@ -945,24 +946,24 @@ function sqimap_append_done ($imap_stream, $folder='') { require_once(SM_PATH . 'functions/display_messages.php'); $reason = $regs[3]; if ($regs[2] == 'NO') { - $string = "\n" . + $string = "\n" . _("ERROR : Could not append message to") ." $folder." . - "
\n" . + "

\n" . _("Server responded: ") . - $reason . "
\n"; + $reason . "
\n"; if (preg_match("/(.*)(quota)(.*)$/i", $reason, $regs)) { $string .= _("Solution: ") . _("Remove unneccessary messages from your folder and start with your Trash folder.") - ."
\n"; + ."
\n"; } $string .= "
\n"; error_box($string,$color); } else { - $string = "\n" . + $string = "\n" . _("ERROR : Bad or malformed request.") . - "
\n" . + "

\n" . _("Server responded: ") . - $tmp . "

\n"; + $tmp . "

\n"; error_box($string,$color); exit; }