- added iil_PutLine() wrapper for fputs()

- code cleanup and identation fixes
release-0.6
alecpl 17 years ago
parent ece3aed366
commit 49e5f72328

@ -60,6 +60,8 @@
- fixed iil_MultLine(): use iil_ReadBytes() instead of iil_ReadLine()
- fixed iil_C_FetchStructureString() to handle many literal strings in response
- removed hardcoded data size in iil_ReadLine()
- added iil_PutLine() wrapper for fputs()
- code cleanup and identation fixes
********************************************************/
@ -159,7 +161,6 @@ class iilThreadHeader
var $mid;
}
function iil_xor($string, $string2) {
$result = '';
$size = strlen($string);
@ -169,8 +170,14 @@ function iil_xor($string, $string2) {
return $result;
}
function iil_PutLine($fp, $string, $endln=true) {
// console('C: '. $string);
return fputs($fp, $string . ($endln ? "\r\n" : ''));
}
function iil_ReadLine($fp, $size) {
$line = '';
if (!$fp) {
return $line;
}
@ -184,8 +191,10 @@ function iil_ReadLine($fp, $size) {
if ($buffer === false) {
break;
}
// console('S: '. chop($buffer));
$line .= $buffer;
} while ($buffer[strlen($buffer)-1] != "\n");
return $line;
}
@ -201,6 +210,7 @@ function iil_MultLine($fp, $line) {
$out .= $line;
}
$line = $a[1][0] . "\"$out\"";
// console('[...] '. $out);
}
return $line;
}
@ -215,6 +225,7 @@ function iil_ReadBytes($fp, $bytes) {
}
$len = strlen($data);
} while ($len < $bytes);
return $data;
}
@ -263,7 +274,6 @@ function iil_StartsWithI($string, $match) {
return false;
}
function iil_Escape($string)
{
return strtr($string, array('"'=>'\\"', '\\' => '\\\\'));
@ -279,6 +289,7 @@ function iil_C_Authenticate(&$conn, $user, $pass, $encChallenge) {
$ipad .= chr(0x36);
$opad .= chr(0x5C);
}
// pad $pass so it's 64 bytes
$padLen = 64 - strlen($pass);
for ($i=0;$i<$padLen;$i++) {
@ -294,7 +305,7 @@ function iil_C_Authenticate(&$conn, $user, $pass, $encChallenge) {
$reply = base64_encode('"' . $user . '" "' . $hash . '"');
// send result, get reply
fputs($conn->fp, $reply . "\r\n");
iil_PutLine($conn->fp, $reply);
$line = iil_ReadLine($conn->fp, 1024);
// process result
@ -311,7 +322,7 @@ function iil_C_Authenticate(&$conn, $user, $pass, $encChallenge) {
function iil_C_Login(&$conn, $user, $password) {
fputs($conn->fp, 'a001 LOGIN "'.iil_Escape($user).'" "'.iil_Escape($password)."\"\r\n");
iil_PutLine($conn->fp, 'a001 LOGIN "'.iil_Escape($user).'" "'.iil_Escape($password).'"');
do {
$line = iil_ReadReply($conn->fp);
@ -382,7 +393,7 @@ function iil_C_NameSpace(&$conn) {
return true;
}
fputs($conn->fp, "ns1 NAMESPACE\r\n");
iil_PutLine($conn->fp, "ns1 NAMESPACE");
do {
$line = iil_ReadLine($conn->fp, 1024);
if (iil_StartsWith($line, '* NAMESPACE')) {
@ -410,7 +421,6 @@ function iil_C_NameSpace(&$conn) {
$my_prefs["rootdir"] = substr($conn->rootdir, 0, -1);
return true;
}
function iil_Connect($host, $user, $password) {
@ -497,9 +507,9 @@ function iil_Connect($host, $user, $password) {
// if (preg_match('/\[CAPABILITY ([^]]+)\]/i', $line, $matches)) {
// $conn->capability = explode(' ', $matches[1]);
// } else {
fputs($conn->fp, "cp01 CAPABILITY\r\n");
iil_PutLine($conn->fp, "cp01 CAPABILITY");
do {
$line = trim(iil_ReadLine($conn->fp, 100));
$line = trim(iil_ReadLine($conn->fp, 1024));
$conn->message .= "$line\n";
@ -532,7 +542,7 @@ function iil_Connect($host, $user, $password) {
$conn->message .= "Trying CRAM-MD5\n";
//do CRAM-MD5 authentication
fputs($conn->fp, "a000 AUTHENTICATE CRAM-MD5\r\n");
iil_PutLine($conn->fp, "a000 AUTHENTICATE CRAM-MD5");
$line = trim(iil_ReadLine($conn->fp, 1024));
$conn->message .= "$line\n";
@ -546,7 +556,6 @@ function iil_Connect($host, $user, $password) {
$conn->message .= "Tried CRAM-MD5: $result \n";
} else {
$conn->message .='No challenge ('.htmlspecialchars($line)."), try plain\n";
$auth = 'plain';
}
}
@ -571,7 +580,7 @@ function iil_Connect($host, $user, $password) {
function iil_Close(&$conn) {
iil_C_WriteCache($conn);
if (fputs($conn->fp, "I LOGOUT\r\n")) {
if (iil_PutLine($conn->fp, "I LOGOUT")) {
fgets($conn->fp, 1024);
fclose($conn->fp);
$conn->fp = false;
@ -581,7 +590,6 @@ function iil_Close(&$conn) {
function iil_ClearCache($user, $host) {
}
function iil_C_WriteCache(&$conn) {
//echo "<!-- doing iil_C_WriteCache //-->\n";
if (!$conn->do_cache) return false;
@ -684,7 +692,7 @@ function iil_CheckForRecent($host, $user, $password, $mailbox) {
$conn = iil_Connect($host, $user, $password, 'plain');
$fp = $conn->fp;
if ($fp) {
fputs($fp, "a002 EXAMINE \"".iil_Escape($mailbox)."\"\r\n");
iil_PutLine($fp, "a002 EXAMINE \"".iil_Escape($mailbox)."\"");
do {
$line=chop(iil_ReadLine($fp, 300));
$a=explode(' ', $line);
@ -693,7 +701,7 @@ function iil_CheckForRecent($host, $user, $password, $mailbox) {
}
} while (!iil_StartsWith($a[0], 'a002'));
fputs($fp, "a003 LOGOUT\r\n");
iil_PutLine($fp, "a003 LOGOUT");
fclose($fp);
} else {
$result = -2;
@ -703,7 +711,6 @@ function iil_CheckForRecent($host, $user, $password, $mailbox) {
}
function iil_C_Select(&$conn, $mailbox) {
$fp = $conn->fp;
if (empty($mailbox)) {
return false;
@ -714,9 +721,9 @@ function iil_C_Select(&$conn, $mailbox) {
iil_C_LoadCache($conn, $mailbox);
if (fputs($fp, "sel1 SELECT \"".iil_Escape($mailbox)."\"\r\n")) {
if (iil_PutLine($conn->fp, "sel1 SELECT \"".iil_Escape($mailbox).'"')) {
do {
$line=chop(iil_ReadLine($fp, 300));
$line = chop(iil_ReadLine($conn->fp, 300));
$a = explode(' ', $line);
if (count($a) == 3) {
if (strcasecmp($a[2], 'EXISTS') == 0) {
@ -754,6 +761,7 @@ function iil_C_CountMessages(&$conn, $mailbox, $refresh = false) {
if ($refresh) {
$conn->selected= '';
}
iil_C_Select($conn, $mailbox);
if ($conn->selected == $mailbox) {
return $conn->exists;
@ -823,6 +831,7 @@ function iil_C_Sort(&$conn, $mailbox, $field, $add='', $is_uid=FALSE,
if ($field == 'INTERNALDATE') {
$field = 'ARRIVAL';
}
$fields = array('ARRIVAL' => 1,'CC' => 1,'DATE' => 1,
'FROM' => 1, 'SIZE' => 1, 'SUBJECT' => 1, 'TO' => 1);
@ -838,10 +847,10 @@ function iil_C_Sort(&$conn, $mailbox, $field, $add='', $is_uid=FALSE,
$fp = $conn->fp;
$command = 's ' . $is_uid . 'SORT (' . $field . ') ';
$command .= $encoding . ' ALL' . "$add\r\n";
$command .= $encoding . ' ALL' . $add;
$line = $data = '';
if (!fputs($fp, $command)) {
if (!iil_PutLine($fp, $command)) {
return false;
}
do {
@ -906,8 +915,8 @@ function iil_C_FetchHeaderIndex(&$conn, $mailbox, $message_set, $index_field,
/* FETCH date,from,subject headers */
if ($mode == 1) {
$key = 'fhi' . ($c++);
$request = $key . " FETCH $message_set (BODY.PEEK[HEADER.FIELDS ($index_field)])\r\n";
if (!fputs($fp, $request)) {
$request = $key . " FETCH $message_set (BODY.PEEK[HEADER.FIELDS ($index_field)])";
if (!iil_PutLine($fp, $request)) {
return false;
}
do {
@ -976,8 +985,8 @@ function iil_C_FetchHeaderIndex(&$conn, $mailbox, $message_set, $index_field,
}else if ($mode == 6) {
$key = 'fhi' . ($c++);
$request = $key . " FETCH $message_set (INTERNALDATE)\r\n";
if (!fputs($fp, $request)) {
$request = $key . " FETCH $message_set (INTERNALDATE)";
if (!iil_PutLine($fp, $request)) {
return false;
}
do {
@ -1014,9 +1023,9 @@ function iil_C_FetchHeaderIndex(&$conn, $mailbox, $message_set, $index_field,
/* FETCH uid, size, flags */
$key = 'fhi' .($c++);
$request = $key . " FETCH $message_set ($field_name)\r\n";
$request = $key . " FETCH $message_set ($field_name)";
if (!fputs($fp, $request)) {
if (!iil_PutLine($fp, $request)) {
return false;
}
do {
@ -1098,6 +1107,7 @@ function iil_CompressMessageSet($message_set) {
}
$prev = $id;
}
//handle the last sequence/id
if ($start==$prev) {
$result[] = $prev;
@ -1234,9 +1244,9 @@ function iil_C_FetchThreadHeaders(&$conn, $mailbox, $message_set) {
$key = 'fh';
$fp = $conn->fp;
$request = $key . " FETCH $message_set ";
$request .= "(BODY.PEEK[HEADER.FIELDS (SUBJECT MESSAGE-ID IN-REPLY-TO)])\r\n";
$request .= "(BODY.PEEK[HEADER.FIELDS (SUBJECT MESSAGE-ID IN-REPLY-TO)])";
$mid_to_id = array();
if (!fputs($fp, $request)) {
if (!iil_PutLine($fp, $request)) {
return false;
}
do {
@ -1417,7 +1427,6 @@ function iil_C_BuildThreads2(&$conn, $mailbox, $message_set, &$clock) {
echo $new['MESSAGE-ID'] . "\t" . $sbj . "\n";
}
}
}
//now that we've gone through all the messages,
@ -1440,11 +1449,10 @@ function iil_C_BuildThreads2(&$conn, $mailbox, $message_set, &$clock) {
if ($debug) {
print_r($roots);
}
//print_r($result);
return $result;
}
function iil_SortThreads(&$tree, $index, $sort_order = 'ASC') {
if (!is_array($tree) || !is_array($index)) {
return false;
@ -1485,7 +1493,6 @@ function iil_SortThreads(&$tree, $index, $sort_order = 'ASC') {
}
}
//sort by key, this basically sorts all threads
ksort($itree);
$i = 0;
@ -1495,7 +1502,6 @@ function iil_SortThreads(&$tree, $index, $sort_order = 'ASC') {
$i++;
}
//return
return $out;
}
@ -1563,9 +1569,9 @@ function iil_C_FetchHeaders(&$conn, $mailbox, $message_set, $uidfetch=false)
$request .= " FETCH $message_set (BODY.PEEK[HEADER.FIELDS ";
$request .= "(DATE FROM TO SUBJECT REPLY-TO IN-REPLY-TO CC BCC ";
$request .= "CONTENT-TRANSFER-ENCODING CONTENT-TYPE MESSAGE-ID ";
$request .= "REFERENCES DISPOSITION-NOTIFICATION-TO X-PRIORITY)])\r\n";
$request .= "REFERENCES DISPOSITION-NOTIFICATION-TO X-PRIORITY)])";
if (!fputs($fp, $request)) {
if (!iil_PutLine($fp, $request)) {
return false;
}
do {
@ -1696,9 +1702,9 @@ function iil_C_FetchHeaders(&$conn, $mailbox, $message_set, $uidfetch=false)
*/
$command_key = 'fh' . ($c++);
$request = $command_key . $prefix;
$request .= " FETCH $message_set (UID RFC822.SIZE FLAGS INTERNALDATE)\r\n";
$request .= " FETCH $message_set (UID RFC822.SIZE FLAGS INTERNALDATE)";
if (!fputs($fp, $request)) {
if (!iil_PutLine($fp, $request)) {
return false;
}
do {
@ -1812,7 +1818,6 @@ function iil_C_FetchHeader(&$conn, $mailbox, $id, $uidfetch=false) {
return false;
}
function iil_SortHeaders($a, $field, $flag) {
if (empty($field)) {
$field = 'uid';
@ -1877,12 +1882,12 @@ function iil_SortHeaders($a, $field, $flag) {
}
function iil_C_Expunge(&$conn, $mailbox) {
$fp = $conn->fp;
if (iil_C_Select($conn, $mailbox)) {
$c = 0;
fputs($fp, "exp1 EXPUNGE\r\n");
iil_PutLine($conn->fp, "exp1 EXPUNGE");
do {
$line=chop(iil_ReadLine($fp, 100));
$line=chop(iil_ReadLine($conn->fp, 100));
if ($line[0] == '*') {
$c++;
}
@ -1919,7 +1924,7 @@ function iil_C_ModFlag(&$conn, $mailbox, $messages, $flag, $mod) {
if (iil_C_Select($conn, $mailbox)) {
$c = 0;
fputs($fp, "flg STORE $messages " . $mod . "FLAGS (" . $flag . ")\r\n");
iil_PutLine($fp, "flg STORE $messages " . $mod . "FLAGS (" . $flag . ")");
do {
$line=chop(iil_ReadLine($fp, 100));
if ($line[0] == '*') {
@ -1958,7 +1963,6 @@ function iil_C_Unseen(&$conn, $mailbox, $messages) {
return iil_C_ModFlag($conn, $mailbox, $messages, 'SEEN', '-');
}
function iil_C_Copy(&$conn, $messages, $from, $to) {
$fp = $conn->fp;
@ -1969,7 +1973,7 @@ function iil_C_Copy(&$conn, $messages, $from, $to) {
if (iil_C_Select($conn, $from)) {
$c=0;
fputs($fp, "cpy1 COPY $messages \"".iil_Escape($to)."\"\r\n");
iil_PutLine($fp, "cpy1 COPY $messages \"".iil_Escape($to)."\"");
$line=iil_ReadReply($fp);
return iil_ParseResult($line);
} else {
@ -2017,7 +2021,7 @@ function iil_C_ID2UID(&$conn, $folder, $id) {
$result = -1;
if (iil_C_Select($conn, $folder)) {
$key = 'FUID';
if (fputs($fp, "$key FETCH $id (UID)\r\n")) {
if (iil_PutLine($fp, "$key FETCH $id (UID)")) {
do {
$line=chop(iil_ReadLine($fp, 1024));
if (eregi("^\* $id FETCH \(UID (.*)\)", $line, $r)) {
@ -2034,8 +2038,8 @@ function iil_C_Search(&$conn, $folder, $criteria) {
if (iil_C_Select($conn, $folder)) {
$c = 0;
$query = 'srch1 SEARCH ' . chop($criteria) . "\r\n";
fputs($fp, $query);
$query = 'srch1 SEARCH ' . chop($criteria);
iil_PutLine($fp, $query);
do {
$line=trim(iil_ReadLine($fp, 10000));
if (eregi("^\* SEARCH", $line)) {
@ -2050,7 +2054,6 @@ function iil_C_Search(&$conn, $folder, $criteria) {
}
$conn->error = 'iil_C_Search: ' . $line . "\n";
return false;
}
$conn->error = "iil_C_Search: Couldn't select \"$folder\"\n";
return false;
@ -2088,7 +2091,7 @@ function iil_C_GetHierarchyDelimiter(&$conn) {
$delimiter = false;
//try (LIST "" ""), should return delimiter (RFC2060 Sec 6.3.8)
if (!fputs($fp, 'ghd LIST "" ""' . "\r\n")) {
if (!iil_PutLine($fp, 'ghd LIST "" ""')) {
return false;
}
@ -2109,7 +2112,7 @@ function iil_C_GetHierarchyDelimiter(&$conn) {
//if that fails, try namespace extension
//try to fetch namespace data
fputs($conn->fp, "ns1 NAMESPACE\r\n");
iil_PutLine($conn->fp, "ns1 NAMESPACE");
do {
$line = iil_ReadLine($conn->fp, 1024);
if (iil_StartsWith($line, '* NAMESPACE')) {
@ -2156,7 +2159,7 @@ function iil_C_ListMailboxes(&$conn, $ref, $mailbox) {
}
// send command
if (!fputs($fp, "lmb LIST \"".$ref."\" \"".iil_Escape($mailbox)."\"\r\n")) {
if (!iil_PutLine($fp, "lmb LIST \"".$ref."\" \"".iil_Escape($mailbox)."\"")) {
return false;
}
@ -2204,7 +2207,6 @@ function iil_C_ListMailboxes(&$conn, $ref, $mailbox) {
}
}
function iil_C_ListSubscribed(&$conn, $ref, $mailbox) {
global $IGNORE_FOLDERS;
@ -2220,7 +2222,7 @@ function iil_C_ListSubscribed(&$conn, $ref, $mailbox) {
$folders = array();
// send command
if (!fputs($fp, 'lsb LSUB "' . $ref . '" "' . iil_Escape($mailbox).'"' . "\r\n")) {
if (!iil_PutLine($fp, 'lsb LSUB "' . $ref . '" "' . iil_Escape($mailbox).'"')) {
$conn->error = "Couldn't send LSUB command\n";
return false;
}
@ -2273,29 +2275,26 @@ function iil_C_ListSubscribed(&$conn, $ref, $mailbox) {
return false;
}
function iil_C_Subscribe(&$conn, $folder) {
$fp = $conn->fp;
$query = 'sub1 SUBSCRIBE "' . iil_Escape($folder). '"' . "\r\n";
fputs($fp, $query);
$query = 'sub1 SUBSCRIBE "' . iil_Escape($folder). '"';
iil_PutLine($fp, $query);
$line = trim(iil_ReadLine($fp, 10000));
return iil_ParseResult($line);
}
function iil_C_UnSubscribe(&$conn, $folder) {
$fp = $conn->fp;
$query = 'usub1 UNSUBSCRIBE "' . iil_Escape($folder) . '"' . "\r\n";
fputs($fp, $query);
$query = 'usub1 UNSUBSCRIBE "' . iil_Escape($folder) . '"';
iil_PutLine($fp, $query);
$line = trim(iil_ReadLine($fp, 10000));
return iil_ParseResult($line);
}
function iil_C_FetchPartHeader(&$conn, $mailbox, $id, $part) {
$fp = $conn->fp;
$result = false;
@ -2307,8 +2306,8 @@ function iil_C_FetchPartHeader(&$conn, $mailbox, $id, $part) {
if (iil_C_Select($conn, $mailbox)) {
$key = 'fh' . ($c++);
$request = $key . " FETCH $id (BODY.PEEK[$part])\r\n";
if (!fputs($fp, $request)) return false;
$request = $key . " FETCH $id (BODY.PEEK[$part])";
if (!iil_PutLine($fp, $request)) return false;
do {
$line = chop(iil_ReadLine($fp, 200));
$a = explode(' ', $line);
@ -2326,13 +2325,13 @@ function iil_C_FetchPartHeader(&$conn, $mailbox, $id, $part) {
return $result;
}
function iil_C_HandlePartBody(&$conn, $mailbox, $id, $part, $mode) {
/* modes:
1: return string
2: print
3: base64 and print
*/
$fp = $conn->fp;
$result = false;
if (($part == 0) || empty($part)) {
@ -2344,9 +2343,9 @@ function iil_C_HandlePartBody(&$conn, $mailbox, $id, $part, $mode) {
// format request
$key = 'ftch' . ($c++) . ' ';
$request = $key . "FETCH $id (BODY.PEEK[$part])\r\n";
$request = $key . "FETCH $id (BODY.PEEK[$part])";
// send request
if (!fputs($fp, $request)) {
if (!iil_PutLine($fp, $request)) {
return false;
}
@ -2356,6 +2355,7 @@ function iil_C_HandlePartBody(&$conn, $mailbox, $id, $part, $mode) {
$a = explode(' ', $line);
} while ($a[2] != 'FETCH');
$len = strlen($line);
if ($line[$len-1] == ')') {
// one line response, get everything between first and last quotes
if (substr($line, -4, 3) == 'NIL') {
@ -2381,6 +2381,7 @@ function iil_C_HandlePartBody(&$conn, $mailbox, $id, $part, $mode) {
$sizeStr = substr($line, $from, $len);
$bytes = (int)$sizeStr;
$received = 0;
while ($received < $bytes) {
$remaining = $bytes - $received;
$line = iil_ReadLine($fp, 1024);
@ -2408,6 +2409,7 @@ function iil_C_HandlePartBody(&$conn, $mailbox, $id, $part, $mode) {
$result = rtrim($result, "\t\r\n\0\x0B");
return $result; // substr($result, 0, strlen($result)-1);
}
return false;
} else {
echo 'Select failed.';
@ -2433,7 +2435,7 @@ function iil_C_PrintBase64Body(&$conn, $mailbox, $id, $part) {
function iil_C_CreateFolder(&$conn, $folder) {
$fp = $conn->fp;
if (fputs($fp, 'c CREATE "' . iil_Escape($folder) . '"' . "\r\n")) {
if (iil_PutLine($fp, 'c CREATE "' . iil_Escape($folder) . '"')) {
do {
$line=iil_ReadLine($fp, 300);
} while ($line[0] != 'c');
@ -2445,7 +2447,7 @@ function iil_C_CreateFolder(&$conn, $folder) {
function iil_C_RenameFolder(&$conn, $from, $to) {
$fp = $conn->fp;
if (fputs($fp, 'r RENAME "' . iil_Escape($from) . '" "' . iil_Escape($to) . '"' . "\r\n")) {
if (iil_PutLine($fp, 'r RENAME "' . iil_Escape($from) . '" "' . iil_Escape($to) . '"')) {
do {
$line = iil_ReadLine($fp, 300);
} while ($line[0] != 'r');
@ -2456,7 +2458,7 @@ function iil_C_RenameFolder(&$conn, $from, $to) {
function iil_C_DeleteFolder(&$conn, $folder) {
$fp = $conn->fp;
if (fputs($fp, 'd DELETE "' . iil_Escape($folder). '"' . "\r\n")) {
if (iil_PutLine($fp, 'd DELETE "' . iil_Escape($folder). '"')) {
do {
$line=iil_ReadLine($fp, 300);
} while ($line[0] != 'd');
@ -2479,9 +2481,10 @@ function iil_C_Append(&$conn, $folder, &$message) {
if (!$len) {
return false;
}
$request = 'A APPEND "' . iil_Escape($folder) .'" (\\Seen) {' . $len . "}\r\n";
if (fputs($fp, $request)) {
$request = 'A APPEND "' . iil_Escape($folder) .'" (\\Seen) {' . $len . '}';
if (iil_PutLine($fp, $request)) {
$line=iil_ReadLine($fp, 100);
$sent = fwrite($fp, $message."\r\n");
do {
@ -2493,13 +2496,12 @@ function iil_C_Append(&$conn, $folder, &$message) {
$conn->error .= $line . "\n";
}
return $result;
}
$conn->error .= "Couldn't send command \"$request\"\n";
return false;
}
function iil_C_AppendFromFile(&$conn, $folder, $path) {
if (!$folder) {
return false;
@ -2522,20 +2524,20 @@ function iil_C_AppendFromFile(&$conn, $folder, $path) {
}
//send APPEND command
$request = 'A APPEND "' . iil_Escape($folder) . '" (\\Seen) {' . $len . "}\r\n";
$request = 'A APPEND "' . iil_Escape($folder) . '" (\\Seen) {' . $len . '}';
$bytes_sent = 0;
if (fputs($fp, $request)) {
if (iil_PutLine($fp, $request)) {
$line = iil_ReadLine($fp, 100);
//send file
while (!feof($in_fp)) {
$buffer = fgets($in_fp, 4096);
$bytes_sent += strlen($buffer);
fputs($fp, $buffer);
iil_PutLine($fp, $buffer, false);
}
fclose($in_fp);
fputs($fp, "\r\n");
iil_PutLine($fp, '');
//read response
do {
@ -2546,14 +2548,14 @@ function iil_C_AppendFromFile(&$conn, $folder, $path) {
if (!$result) {
$conn->error .= $line . "\n";
}
return $result;
return $result;
}
$conn->error .= "Couldn't send command \"$request\"\n";
return false;
}
function iil_C_FetchStructureString(&$conn, $folder, $id) {
$fp = $conn->fp;
$result = false;
@ -2561,14 +2563,15 @@ function iil_C_FetchStructureString(&$conn, $folder, $id) {
if (iil_C_Select($conn, $folder)) {
$key = 'F1247';
if (fputs($fp, "$key FETCH $id (BODYSTRUCTURE)\r\n")) {
if (iil_PutLine($fp, "$key FETCH $id (BODYSTRUCTURE)")) {
do {
$line = iil_ReadLine($fp, 5000);
$line = iil_MultLine($fp, $line);
$result .= $line;
} while (!preg_match("/^$key/", $line));
$result = trim(substr($result, strpos($result, 'BODYSTRUCTURE')+13, -(strlen($result)-strrpos($result, $key)-2)));
$result = trim(substr($result, strpos($result, 'BODYSTRUCTURE')+13,
-(strlen($result)-strrpos($result, $key)-2)));
}
}
return $result;
@ -2593,7 +2596,7 @@ function iil_C_GetQuota(&$conn) {
$quota_line = '';
//get line containing quota info
if (fputs($fp, 'QUOT1 GETQUOTAROOT "INBOX"' . "\r\n")) {
if (iil_PutLine($fp, 'QUOT1 GETQUOTAROOT "INBOX"')) {
do {
$line=chop(iil_ReadLine($fp, 5000));
if (iil_StartsWith($line, '* QUOTA ')) {
@ -2621,7 +2624,6 @@ function iil_C_GetQuota(&$conn) {
return $result;
}
function iil_C_ClearFolder(&$conn, $folder) {
$num_in_trash = iil_C_CountMessages($conn, $folder);
if ($num_in_trash > 0) {

Loading…
Cancel
Save