$url = parse_url(Banana::$nntp_host);
if ($url['scheme'] == 'nntps' || $url['scheme'] == 'snntp') {
$url['host'] = 'ssl://' . $url['host'];
- }
- if (!isset($url['port'])) {
+ if (!isset($url['port'])) {
+ $url['port'] = 563;
+ }
+ } else if (!isset($url['port'])) {
$url['port'] = 119;
}
parent::__construct($url['host'], $url['port']);
if (isset($url['user'])) {
$this->authinfo($url['user'], $url['pass']);
- }
+ }
}
/** Return the descript;ion of the current box
if (!is_utf8($desc)) {
$desc = utf8_encode($desc);
}
- $this->boxes[$group] = array('desc' => $desc);
+ $this->boxes[$group] = array('desc' => $desc);
} else {
$this->boxes[$group] = array('desc' => null);
- }
+ }
}
ksort($this->boxes);
}
foreach ($this->boxes as $group=>&$desc) {
list($msgnum, $first, $last, $groupname) = $this->group($group);
$this->ingroup = $group;
- $new = count($this->newnews($group, $since));
+ $new = $this->newnews($group, $since);
+ if (!is_array($new)) {
+ $new = 0;
+ } else {
+ $c = count($new);
+ if ($c > 0 && function_exists('hook_listReadMessages')) {
+ $msgs = hook_listReadMessages($group);
+ if (is_array($msgs)) {
+ foreach ($msgs as $msg) {
+ if (is_numeric($msg)) {
+ $c--;
+ } else if (in_array($msg, $new)) {
+ $c--;
+ }
+ }
+ }
+ }
+ $new = $c;
+ }
$desc['msgnum'] = $msgnum;
$desc['unread'] = $new;
}
/** Send the message
*/
- public function send(BananaMessage &$message)
+ public function send(BananaMessage $message)
{
$sources = $message->get(true);
return $this->post($sources);
/** Cancel the message
*/
- public function cancel(BananaMessage &$message)
+ public function cancel(BananaMessage $message)
{
$headers = Array('From' => Banana::$profile['From'],
'Newsgroups' => Banana::$group,
}
}
-// vim:set et sw=4 sts=4 ts=4 enc=utf-8:
+// vim:set et sw=4 sts=4 ts=4 fenc=utf-8:
?>