<?php
- /**
- ** imap.php
- ** Copyright (c) 1999-2001 The Squirrelmail Development Team
- ** Licensed under the GNU GPL. For full terms see the file COPYING.
- **
- ** This implements all functions that do general imap functions.
- **
- ** $Id$
- **/
-
-global $imap_general_debug;
-$imap_general_debug = false;
-
- /******************************************************************************
- ** Sets an unique session id in order to avoid simultanous sessions crash.
- ******************************************************************************/
+/**
+ * imap.php
+ *
+ * Copyright (c) 1999-2001 The SquirrelMail Development Team
+ * Licensed under the GNU GPL. For full terms see the file COPYING.
+ *
+ * This implements all functions that do general imap functions.
+ *
+ * $Id$
+ */
+
+/*****************************************************************/
+/*** THIS FILE NEEDS TO HAVE ITS FORMATTING FIXED!!! ***/
+/*** PLEASE DO SO AND REMOVE THIS COMMENT SECTION. ***/
+/*** + Base level indent should begin at left margin, as ***/
+/*** the function definition and comments start below. ***/
+/*** + All identation should consist of four space blocks ***/
+/*** + Tab characters are evil. ***/
+/*** + all comments should use "slash-star ... star-slash" ***/
+/*** style -- no pound characters, no slash-slash style ***/
+/*** + FLOW CONTROL STATEMENTS (if, while, etc) SHOULD ***/
+/*** ALWAYS USE { AND } CHARACTERS!!! ***/
+/*** + Please use ' instead of ", when possible. Note " ***/
+/*** should always be used in _( ) function calls. ***/
+/*** Thank you for your help making the SM code more readable. ***/
+/*****************************************************************/
+
+/**
+ * Unique SessionId
+ *
+ * Sets an unique session id in order to avoid simultanous sessions crash.
+ *
+ * @return string a 4 chars unique string
+ */
+function sqimap_session_id() {
+
+ global $data_dir, $username;
+
+ $IMAPSessionID = substr(session_id(), -4);
+ if( $IMAPSessionID == '' ) {
+ $IMAPSessionID = 'A001';
+ }
- function sqimap_session_id() {
- return( substr( session_id(), -4 ) );
+ return( $IMAPSessionID );
}
function sqimap_read_data_list ($imap_stream, $pre, $handle_errors,
&$response, &$message) {
global $color, $squirrelmail_language;
- global $imap_general_debug;
$read = '';
$resultlist = array();
-
+
$more_msgs = true;
while ($more_msgs) {
$data = array();
$size = $regs[1];
} else if (ereg("^\\* [0-9]+ FETCH", $read, $regs)) {
// Sizeless response, probably single-line
-
- // For debugging purposes
- if ($imap_general_debug) {
- echo "<small><tt><font color=\"#CC0000\">$read</font></tt></small><br>\n";
- flush();
- }
-
$size = -1;
$data[] = $read;
$read = fgets($imap_stream, 9096);
while (strpos($read, "\n") === false) {
$read .= fgets($imap_stream, 9096);
}
-
- // For debugging purposes
- if ($imap_general_debug) {
- echo "<small><tt><font color=\"#CC0000\">$read</font></tt></small><br>\n";
- flush();
- }
-
// If we know the size, no need to look at the end parameters
if ($size > 0) {
if ($total_size == $size) {
$response = $regs[1];
$message = trim($regs[2]);
- if ($imap_general_debug) { echo '--<br>'; }
if ($handle_errors == false) { return $resultlist; }
if ($response == 'NO') {
** will be displayed. This function returns the imap connection handle.
******************************************************************************/
function sqimap_login ($username, $password, $imap_server_address, $imap_port, $hide) {
+
global $color, $squirrelmail_language, $HTTP_ACCEPT_LANGUAGE, $onetimepad;
- $imap_stream = fsockopen ($imap_server_address, $imap_port,
- $error_number, $error_string, 15);
+ $imap_stream = fsockopen ( $imap_server_address, $imap_port,
+ $error_number, $error_string, 15);
$server_info = fgets ($imap_stream, 1024);
-
+
// Decrypt the password
$password = OneTimePadDecrypt($password, $onetimepad);
function sqimap_capability($imap_stream, $capability) {
global $sqimap_capabilities;
-global $imap_general_debug;
if (!is_array($sqimap_capabilities)) {
fputs ($imap_stream, sqimap_session_id() . " CAPABILITY\r\n");
** Returns the delimeter between mailboxes: INBOX/Test, or INBOX.Test...
******************************************************************************/
function sqimap_get_delimiter ($imap_stream = false) {
-global $imap_general_debug;
+
global $sqimap_delimiter;
global $optional_delimiter;