From 22633a5af6b1f0211f2437bd586811053e66037b Mon Sep 17 00:00:00 2001 From: Evan Prodromou Date: Tue, 26 Oct 2010 11:48:27 -0400 Subject: [PATCH] can't subscribe to blacklisted domains/users --- plugins/Blacklist/BlacklistPlugin.php | 34 +++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/plugins/Blacklist/BlacklistPlugin.php b/plugins/Blacklist/BlacklistPlugin.php index 60b59168fc..d4a4c9626a 100644 --- a/plugins/Blacklist/BlacklistPlugin.php +++ b/plugins/Blacklist/BlacklistPlugin.php @@ -504,4 +504,38 @@ class BlacklistPlugin extends Plugin return true; } + + /** + * Check URLs and homepages for blacklisted users. + */ + + function onStartSubscribe($subscriber, $other) + { + foreach (array($other->profileurl, $other->homepage) as $url) { + + if (empty($url)) { + continue; + } + + $url = strtolower($url); + + if (!$this->_checkUrl($url)) { + $msg = sprintf(_m("Users from '%s' blocked."), + $url); + throw new ClientException($msg); + } + } + + $nickname = $other->nickname; + + if (!empty($nickname)) { + if (!$this->_checkNickname($nickname)) { + $msg = sprintf(_m("Can't subscribe to nickname '%s'."), + $nickname); + throw new ClientException($msg); + } + } + + return true; + } }