| | |
| | | optional resposne in iil_Connect(), added iil_C_GetCapability() |
| | | - remove 'undisclosed-recipients' string from 'To' header |
| | | - iil_C_HandlePartBody(): added 6th argument and fixed endless loop |
| | | - added iil_PutLineC() |
| | | |
| | | ********************************************************/ |
| | | |
| | |
| | | } |
| | | |
| | | function iil_PutLine($fp, $string, $endln=true) { |
| | | // console('C: '. $string); |
| | | return fputs($fp, $string . ($endln ? "\r\n" : '')); |
| | | // console('C: '. rtrim($string)); |
| | | return fputs($fp, $string . ($endln ? "\r\n" : '')); |
| | | } |
| | | |
| | | // iil_PutLine replacement with Command Continuation Requests (RFC3501 7.5) support |
| | | function iil_PutLineC($fp, $string, $endln=true) { |
| | | if ($endln) |
| | | $string .= "\r\n"; |
| | | |
| | | $res = 0; |
| | | if ($parts = preg_split('/(\{[0-9]+\}\r\n)/m', $string, -1, PREG_SPLIT_DELIM_CAPTURE)) { |
| | | for($i=0, $cnt=count($parts); $i<$cnt; $i++) { |
| | | if(preg_match('/^\{[0-9]+\}\r\n$/', $parts[$i+1])) { |
| | | $res += iil_PutLine($fp, $parts[$i].$parts[$i+1], false); |
| | | $line = iil_ReadLine($fp, 1000); |
| | | $i++; |
| | | } |
| | | else |
| | | $res += iil_PutLine($fp, $parts[$i], false); |
| | | } |
| | | } |
| | | return $res; |
| | | } |
| | | |
| | | function iil_ReadLine($fp, $size) { |
| | |
| | | $c = 0; |
| | | |
| | | $query = 'srch1 SEARCH ' . chop($criteria); |
| | | iil_PutLine($fp, $query); |
| | | iil_PutLineC($fp, $query); |
| | | do { |
| | | $line=trim(iil_ReadLine($fp, 10000)); |
| | | if (eregi("^\* SEARCH", $line)) { |