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