Mercurial > hg > pnewss
diff server.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 |
line wrap: on
line diff
--- a/server.php Wed Jun 12 22:22:07 2013 +0200 +++ b/server.php Thu Jul 10 22:26:45 2014 +0200 @@ -95,9 +95,9 @@ if ($groupname === FALSE) { $group = $currentgroup; } else { - $group = $db->evalRowAssoc('SELECT * FROM `groups` WHERE `name` = ?', $groupname); + $group = $db->evalRowAssoc('SELECT * FROM `groups` WHERE `name` = ?', array($groupname)); } - if ($group === FALSE) { + if (!$group) { nntp_writeline(STDOUT, '411 No such group '.$groupname); } else { $currentgroup = $group; @@ -173,10 +173,10 @@ $articlea = $db->evalRowAssoc('SELECT * FROM `messages` WHERE `id` = ?', $article['message']); if ($articlea === FALSE) { nntp_writeline(STDOUT, '430 no such article found'); - return NULL; + } else { + $currentarticle = $article; + nntp_writeline(STDOUT, '223 '.$article['number'].' <'.$articlea['messageid'].'> ok'); } - $currentarticle = $article; - nntp_writeline(STDOUT, '223 '.$article['number'].' <'.$articlea['messageid'].'> ok'); } break; case 'POST': @@ -196,8 +196,8 @@ break; } $messageid = substr($messageid, 1, -1); - if ($db->evalRow('SELECT `id` FROM `messages` WHERE `messageid` = ?', $messageid) !== FALSE) { - nntp_writeline(STDOUT, '435 Duplicate'); + if (!nntp_article_wanted($messageid)) { + nntp_writeline(STDOUT, '435 Duplicate or filtered'); break; } nntp_writeline(STDOUT, '335 Send article to be transferred'); @@ -216,8 +216,8 @@ break; } $messageid = substr($messageid, 1, -1); - if ($db->evalRow('SELECT `id` FROM `messages` WHERE `messageid` = ?', $messageid) !== FALSE) { - nntp_writeline(STDOUT, '438 <'.$messageid.'> Duplicate'); + if (!nntp_article_wanted($messageid)) { + nntp_writeline(STDOUT, '438 <'.$messageid.'> Duplicate or filtered'); break; } nntp_writeline(STDOUT, '238 <'.$messageid.'> Send article to be transferred'); @@ -230,8 +230,8 @@ break; } $messageid = substr($messageid, 1, -1); - if ($db->evalRow('SELECT `id` FROM `messages` WHERE `messageid` = ?', $messageid) !== FALSE) { - nntp_writeline(STDOUT, '439 <'.$messageid.'> Duplicate'); + if (!nntp_article_wanted($messageid)) { + nntp_writeline(STDOUT, '439 <'.$messageid.'> Duplicate or filtered'); break; } try { @@ -290,6 +290,7 @@ } } else { nntp_writeline(STDOUT, '500 Error in arguments'); + return NULL; } $article['messagenumber'] = $messagenumber; return $article;