Changeset b8ae99a6 in github for program/lib/imap.inc
- Timestamp:
- Aug 28, 2009 4:29:46 AM (4 years ago)
- Branches:
- master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
- Children:
- f8a846c
- Parents:
- 16506fb
- File:
-
- 1 edited
-
program/lib/imap.inc (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
program/lib/imap.inc
r7e15422 rb8ae99a6 302 302 303 303 function iil_ParseResult($string) { 304 $a = explode(' ', $string);305 if (count($a) > 2) {304 $a = explode(' ', trim($string)); 305 if (count($a) >= 2) { 306 306 if (strcasecmp($a[1], 'OK') == 0) { 307 307 return 0; … … 312 312 } else if (strcasecmp($a[1], 'BYE') == 0) { 313 313 return -3; 314 }314 } 315 315 } 316 316 return -4; … … 2126 2126 iil_PutLine($fp, $query); 2127 2127 2128 $line = trim(iil_ReadLine($fp, 10000));2129 return iil_ParseResult($line);2128 $line = trim(iil_ReadLine($fp, 512)); 2129 return (iil_ParseResult($line) == 0); 2130 2130 } 2131 2131 … … 2136 2136 iil_PutLine($fp, $query); 2137 2137 2138 $line = trim(iil_ReadLine($fp, 10000));2139 return iil_ParseResult($line);2138 $line = trim(iil_ReadLine($fp, 512)); 2139 return (iil_ParseResult($line) == 0); 2140 2140 } 2141 2141 … … 2372 2372 function iil_C_Append(&$conn, $folder, &$message) { 2373 2373 if (!$folder) { 2374 return false;2374 return false; 2375 2375 } 2376 2376 $fp = $conn->fp; 2377 2377 2378 2378 $message = str_replace("\r", '', $message); 2379 $message = str_replace("\n", "\r\n", $message); 2379 $message = str_replace("\n", "\r\n", $message); 2380 2380 2381 2381 $len = strlen($message); 2382 2382 if (!$len) { 2383 return false;2383 return false; 2384 2384 } 2385 2385 2386 2386 $request = 'a APPEND "' . iil_Escape($folder) .'" (\\Seen) {' . $len . '}'; 2387 2387 2388 2388 if (iil_PutLine($fp, $request)) { 2389 $line = iil_ReadLine($fp, 100); 2390 $sent = iil_PutLine($fp, $message); 2389 $line = iil_ReadLine($fp, 512); 2390 2391 $result = (iil_ParseResult($line) == 0); 2392 if (!$result) { 2393 $conn->error .= "Cannot write to folder: $line\n"; 2394 return false; 2395 } 2396 2397 iil_PutLine($fp, $message); 2398 2391 2399 do { 2392 $line =iil_ReadLine($fp);2400 $line = iil_ReadLine($fp); 2393 2401 } while (!iil_StartsWith($line, 'a ', true)); 2394 2402 … … 2396 2404 if (!$result) { 2397 2405 $conn->error .= $line . "\n"; 2398 }2406 } 2399 2407 return $result; 2400 2408 } … … 2410 2418 2411 2419 //open message file 2412 $in_fp = false; 2420 $in_fp = false; 2413 2421 if (file_exists(realpath($path))) { 2414 2422 $in_fp = fopen($path, 'r'); … … 2427 2435 //send APPEND command 2428 2436 $request = 'a APPEND "' . iil_Escape($folder) . '" (\\Seen) {' . $len . '}'; 2429 $bytes_sent = 0;2430 2437 if (iil_PutLine($fp, $request)) { 2431 $line = iil_ReadLine($fp, 100); 2432 2438 $line = iil_ReadLine($fp, 512); 2439 2440 $result = (iil_ParseResult($line) == 0); 2441 if (!$result) { 2442 $conn->error .= "Cannot write to folder: $line\n"; 2443 return false; 2444 } 2445 2433 2446 //send file 2434 2447 while (!feof($in_fp)) { 2435 2448 $buffer = fgets($in_fp, 4096); 2436 $bytes_sent += strlen($buffer);2437 2449 iil_PutLine($fp, $buffer, false); 2438 2450 } … … 2445 2457 $line = iil_ReadLine($fp); 2446 2458 } while (!iil_StartsWith($line, 'a ', true)); 2447 2459 2448 2460 $result = (iil_ParseResult($line) == 0); 2449 2461 if (!$result) { 2450 2462 $conn->error .= $line . "\n"; 2451 2463 } 2452 2464 2453 2465 return $result; 2454 2466 }
Note: See TracChangeset
for help on using the changeset viewer.
