Аргерих Л. О языке РНР. Часть 3. Страница 8


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";

Если текущая статья, подлежащая передаче, представляет собой развитие других статей, то устанавливается соответствующее значение заголовка Re­ferences:

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);




Если вы хотите построить себе дом, то рекомендуем выбрать дом из бруса. Ведь дома из бруса от компании proampir.ru это сочетание красоты и изящества, а также высокой функциональности. Тем более, что компания Ампир это лидер в отрасли проектирования и строительства деревянных домов.