X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fnewsletter.inc.php;h=f9146157dd8e9df8e899a4bad0435f98545a09c5;hb=5991ff1d920ff7503335d273f4c92054f9ba17d6;hp=b03b419b14442bca7c8b55ea9465cb2d5b4d8a4a;hpb=e46cf8c46341b447cc3701c8afcc9baec3da11e5;p=platal.git diff --git a/include/newsletter.inc.php b/include/newsletter.inc.php index b03b419..f914615 100644 --- a/include/newsletter.inc.php +++ b/include/newsletter.inc.php @@ -1,6 +1,6 @@ numRows()) { - Newsletter::create(); + NewsLetter::create(); } - $res = XDB::query("SELECT * FROM newsletter WHERE bits='new'"); + $res = XDB::query("SELECT * FROM newsletter WHERE bits='new' ORDER BY id DESC LIMIT 1"); } if ($res->numRows() != 1) { throw new MailNotFound(); @@ -133,7 +133,7 @@ class NewsLetter extends MassMailer $user = is_null($uid) ? S::v('uid') : $uid; $res = XDB::query("SELECT 1 FROM newsletter_ins - WHERE user_id={?}", $user); + WHERE uid={?}", $user); return $res->fetchOneCell(); } @@ -141,13 +141,13 @@ class NewsLetter extends MassMailer { $user = is_null($uid) ? S::v('uid') : $uid; XDB::execute("DELETE FROM newsletter_ins - WHERE user_id={?}", $user); + WHERE uid={?}", $user); } static public function subscribe($uid = null) { $user = is_null($uid) ? S::v('uid') : $uid; - XDB::execute("REPLACE INTO newsletter_ins (user_id,last) + XDB::execute("REPLACE INTO newsletter_ins (uid,last) VALUES ({?}, 0)", $user); } @@ -308,7 +308,7 @@ class NLArticle // }}} // {{{ function getLinkIps() - public function getLinkIps(&$gethostbyname_count) + public function getLinkIps(&$blacklist_host_resolution_count) { $matches = $this->parseUrlsFromArticle(); $article_ips = array(); @@ -322,14 +322,13 @@ class NLArticle list(, $host) = explode('@', $match); } - if ($gethostbyname_count < $globals->mail->blacklist_host_resolution_limit) { + if ($blacklist_host_resolution_count >= $globals->mail->blacklist_host_resolution_limit) { break; } - if ($host != $globals->mail->alias_dom && $host != $globals->mail->alias_dom2 - && $host != $globals->mail->domain && $host != $globals->mail->domain2) { + if (!preg_match('/^(' . str_replace(' ', '|', $globals->mail->domain_whitelist) . ')$/i', $host)) { $article_ips = array_merge($article_ips, array(gethostbyname($host) => $host)); - ++$gethostbyname_count; + ++$blacklist_host_resolution_count; } } }