summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugins/Blacklist/BlacklistPlugin.php34
1 files changed, 34 insertions, 0 deletions
diff --git a/plugins/Blacklist/BlacklistPlugin.php b/plugins/Blacklist/BlacklistPlugin.php
index 60b59168f..d4a4c9626 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;
+ }
}