From bec00094a7447df2f2cc831083f7dd2edc904ff7 Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 26 Oct 2010 11:20:43 -0400 Subject: Blacklist plugin checks PuSH and Salmon notices --- plugins/Blacklist/BlacklistPlugin.php | 41 +++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/plugins/Blacklist/BlacklistPlugin.php b/plugins/Blacklist/BlacklistPlugin.php index 10f89ef72..60b59168f 100644 --- a/plugins/Blacklist/BlacklistPlugin.php +++ b/plugins/Blacklist/BlacklistPlugin.php @@ -463,4 +463,45 @@ class BlacklistPlugin extends Plugin $hostname = parse_url($homepage, PHP_URL_HOST); return $hostname; } + + function onStartHandleFeedEntry($activity) + { + return $this->_checkActivity($activity); + } + + function onStartHandleSalmon($activity) + { + return $this->_checkActivity($activity); + } + + function _checkActivity($activity) + { + $actor = $activity->actor; + + if (empty($actor)) { + return true; + } + + $homepage = strtolower($actor->link); + + if (!empty($homepage)) { + if (!$this->_checkUrl($homepage)) { + $msg = sprintf(_m("Users from '%s' blocked."), + $homepage); + throw new ClientException($msg); + } + } + + $nickname = strtolower($actor->poco->preferredUsername); + + if (!empty($nickname)) { + if (!$this->_checkNickname($nickname)) { + $msg = sprintf(_m("Posts from nickname '%s' disallowed."), + $nickname); + throw new ClientException($msg); + } + } + + return true; + } } -- cgit v1.2.3