Mercurial > hg > pnewss
comparison fetchnews.php @ 13:cccd73f72bf6 draft
Added filtering support and several bugfixes
author | Ivo Smits <Ivo@UCIS.nl> |
---|---|
date | Thu, 10 Jul 2014 22:26:45 +0200 |
parents | 7917bd536187 |
children | 372f4e195986 |
comparison
equal
deleted
inserted
replaced
12:7917bd536187 | 13:cccd73f72bf6 |
---|---|
59 foreach (explode("\r\n", $article['body']) as $line) nntp_writeline_data($socket, $line); | 59 foreach (explode("\r\n", $article['body']) as $line) nntp_writeline_data($socket, $line); |
60 nntp_writeline($socket, '.'); | 60 nntp_writeline($socket, '.'); |
61 $line = nntp_readline($socket); | 61 $line = nntp_readline($socket); |
62 $code = strtok($line, " \t"); | 62 $code = strtok($line, " \t"); |
63 if ($code != 240 && $code != 235) print("Article $article[messageid] was not accepted ($code)\n"); | 63 if ($code != 240 && $code != 235) print("Article $article[messageid] was not accepted ($code)\n"); |
64 if ($article['id'] > $peer['lastposted']) $peer['lastposted'] = $article['id']; | |
65 } else { | 64 } else { |
66 print("IHAVE rejected by remote server, falling back to POST\n"); | 65 print("IHAVE rejected by remote server, falling back to POST\n"); |
67 $peer['post'] = 1; | 66 $peer['post'] = 1; |
68 break; | 67 break; |
69 } | 68 } |
102 if ($message) { | 101 if ($message) { |
103 $groupmessage = $db->evalRowAssoc('SELECT * FROM `groupmessages` WHERE `group` = ? AND `message` = ?', array($group['id'], $message['id'])); | 102 $groupmessage = $db->evalRowAssoc('SELECT * FROM `groupmessages` WHERE `group` = ? AND `message` = ?', array($group['id'], $message['id'])); |
104 if (!$groupmessage) { | 103 if (!$groupmessage) { |
105 $db->insert('INSERT INTO `groupmessages` (`group`, `message`) VALUES (?, ?)', array($group['id'], $message['id'])); | 104 $db->insert('INSERT INTO `groupmessages` (`group`, `message`) VALUES (?, ?)', array($group['id'], $message['id'])); |
106 } | 105 } |
106 } else if (!nntp_article_wanted($messageid)) { | |
107 print("Ignoring filtered article $messageid\n"); | |
107 } else { | 108 } else { |
108 nntp_writeline($socket, 'ARTICLE '.$i); | 109 nntp_writeline($socket, 'ARTICLE '.$i); |
109 $line = nntp_readline($socket); | 110 $line = nntp_readline($socket); |
110 $code = strtok($line, " \t"); | 111 $code = strtok($line, " \t"); |
111 if ($code != 220) die("Error code $code from $peer[address]\n"); | 112 if ($code != 220) die("Error code $code from $peer[address]\n"); |