| | |
| | | * |
| | | * @param int Number of bytes sent, False on error |
| | | */ |
| | | function putLine($string, $endln = true, $anonymized = false) |
| | | protected function putLine($string, $endln = true, $anonymized = false) |
| | | { |
| | | if (!$this->fp) { |
| | | return false; |
| | |
| | | * |
| | | * @return int|bool Number of bytes sent, False on error |
| | | */ |
| | | function putLineC($string, $endln=true, $anonymized=false) |
| | | protected function putLineC($string, $endln=true, $anonymized=false) |
| | | { |
| | | if (!$this->fp) { |
| | | return false; |
| | |
| | | * |
| | | * @return string Line of text response |
| | | */ |
| | | function readLine($size = 1024) |
| | | protected function readLine($size = 1024) |
| | | { |
| | | $line = ''; |
| | | |
| | |
| | | } |
| | | |
| | | $line .= $buffer; |
| | | } while (substr($buffer, -1) != "\n"); |
| | | } |
| | | while (substr($buffer, -1) != "\n"); |
| | | |
| | | return $line; |
| | | } |
| | |
| | | * |
| | | * @return string Line of text response |
| | | */ |
| | | function multLine($line, $escape = false) |
| | | protected function multLine($line, $escape = false) |
| | | { |
| | | $line = rtrim($line); |
| | | if (preg_match('/\{([0-9]+)\}$/', $line, $m)) { |
| | |
| | | * |
| | | * @return string Response text |
| | | */ |
| | | function readBytes($bytes) |
| | | protected function readBytes($bytes) |
| | | { |
| | | $data = ''; |
| | | $len = 0; |
| | |
| | | * |
| | | * @return string Response text |
| | | */ |
| | | function readReply(&$untagged = null) |
| | | protected function readReply(&$untagged = null) |
| | | { |
| | | do { |
| | | $line = trim($this->readLine(1024)); |
| | |
| | | if ($line[0] == '*') { |
| | | $untagged[] = $line; |
| | | } |
| | | } while ($line[0] == '*'); |
| | | } |
| | | while ($line[0] == '*'); |
| | | |
| | | if ($untagged) { |
| | | $untagged = join("\n", $untagged); |
| | |
| | | * |
| | | * @return int Response status |
| | | */ |
| | | function parseResult($string, $err_prefix = '') |
| | | protected function parseResult($string, $err_prefix = '') |
| | | { |
| | | if (preg_match('/^[a-z0-9*]+ (OK|NO|BAD|BYE)(.*)$/i', trim($string), $matches)) { |
| | | $res = strtoupper($matches[1]); |
| | |
| | | while (preg_match('/^BODY\[([0-9\.]+)\.'.$type.'\]/', $line, $matches)) { |
| | | $line = substr($line, strlen($matches[0])); |
| | | $result[$matches[1]] = trim($this->multLine($line)); |
| | | $line = ltrim($this->readLine(1024)); |
| | | $line = $this->readLine(1024); |
| | | } |
| | | } |
| | | } |