summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/SpamBlacklist/SpamBlacklistPreAuthenticationProvider.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/extensions/SpamBlacklist/SpamBlacklistPreAuthenticationProvider.php')
-rw-r--r--www/wiki/extensions/SpamBlacklist/SpamBlacklistPreAuthenticationProvider.php15
1 files changed, 15 insertions, 0 deletions
diff --git a/www/wiki/extensions/SpamBlacklist/SpamBlacklistPreAuthenticationProvider.php b/www/wiki/extensions/SpamBlacklist/SpamBlacklistPreAuthenticationProvider.php
new file mode 100644
index 00000000..0880103b
--- /dev/null
+++ b/www/wiki/extensions/SpamBlacklist/SpamBlacklistPreAuthenticationProvider.php
@@ -0,0 +1,15 @@
+<?php
+
+use MediaWiki\Auth\AbstractPreAuthenticationProvider;
+
+class SpamBlacklistPreAuthenticationProvider extends AbstractPreAuthenticationProvider {
+ public function testForAccountCreation( $user, $creator, array $reqs ) {
+ /** @var $blacklist EmailBlacklist */
+ $blacklist = BaseBlacklist::getInstance( 'email' );
+ if ( $blacklist->checkUser( $user ) ) {
+ return StatusValue::newGood();
+ }
+
+ return StatusValue::newFatal( 'spam-blacklisted-email-signup' );
+ }
+}