return false;
break;
>
return true;
)
buildHeaders()
Этот метод строит обычные заголовки статьи. Обратите внимание на заголовок Newsgroups:
function buildHeadersQ {
if (empty($this->from)) {
$this->ERR0R_MSG=3this->ERR_EMPTY_FR0M; return false; a
} else if (empty.($this~>subject)) {
$this->ERROR_MSG = $this->ERR_EMPTY_SUBJECT; return false; ^®else if (empty($this->body))
: $this->ERROR_MSG = $this->ERR_EMPTY„BODY; : return false; } else if (empty($this->newsgroups)) {
$this->ERROR_HSG = $this->ERR_EMPTY_NEWSGROUPS; return false;
$this->headers[J = "From; $this->from"; if (!empty($this->reply_to)) $this->headers[] = "Reply-To: $this->reply_to";
Если текущая статья, подлежащая передаче, представляет собой развитие других статей, то устанавливается соответствующее значение заголовка References:
if (! empty($this->references)) $this->headers[] = "References: $ttiis->references";
В заголовке Newsg roups не должно содержаться пробельных символов:
$this->headersn = "Newsgroups: " . ereg_replace("[ ;]", v.
$this->newsgroups); $this->headers[] = "Subject: $this->subject";
return
J
viewMsg()
Новый viewMsgO - возвращает теперь полную копию статьи теле
конференции:
function viewMsgO { Ч,
if (count($this->files) > 0) $this->has_attach = true;
$this->headers = arrayO; $this->buildHeaders(); :
Обратите внимание на отсутствие в статье заголовка То. Теперь в методе bu-
ildHeaders() добавляются заголовки Newsgroups и Subject:
$this->buildMimeHeaders();
if (! $this->buildBodyParts()) return false;
Imsg = implode("\r\n", $this->'neaders);
$msg .= "\r\n\r\n"; $msg .= $this->body;
return $msg: -
}
send()
Теперь мы переопределим метод sendQ, чтобы он отправлял статью в телеконференцию:
function send() {
if <count($this->files) > 0) $this->has_attach = true;
if return false;
$this->buildMimeHeaders(); if return
if (!$this->connect()) return false;
$this->newsgroups = ereg_replace("[ \t]", "", $this->newsgroups);
{newsgroups = exploder.". $this->newsgroups);
foreach ({newsgroups as $group)
if (!$this->talk("GROUP", $group)) return false;
if (!$this->talk("POST", implode("\r\n", $this->headers) . "\r\n\r\n" . $this->body)) {
return false;
; )
if (!$this->talk("QUIT")) return false; fclose($this->socket);