Legoktm has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/248117

Change subject: Add RateLimits SpamFilter
......................................................................

Add RateLimits SpamFilter

Change-Id: I883b7b725065a5282fa0c1fc138c48496feea49e
---
M autoload.php
M container.php
A includes/SpamFilter/RateLimits.php
3 files changed, 40 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Flow 
refs/changes/17/248117/1

diff --git a/autoload.php b/autoload.php
index ea7ce87..1081dce 100644
--- a/autoload.php
+++ b/autoload.php
@@ -288,6 +288,7 @@
        'Flow\\SpamFilter\\ConfirmEdit' => __DIR__ . 
'/includes/SpamFilter/ConfirmEdit.php',
        'Flow\\SpamFilter\\ContentLengthFilter' => __DIR__ . 
'/includes/SpamFilter/ContentLengthFilter.php',
        'Flow\\SpamFilter\\Controller' => __DIR__ . 
'/includes/SpamFilter/Controller.php',
+       'Flow\\SpamFilter\\RateLimits' => __DIR__ . 
'/includes/SpamFilter/RateLimits.php',
        'Flow\\SpamFilter\\SpamBlacklist' => __DIR__ . 
'/includes/SpamFilter/SpamBlacklist.php',
        'Flow\\SpamFilter\\SpamFilter' => __DIR__ . 
'/includes/SpamFilter/SpamFilter.php',
        'Flow\\SpamFilter\\SpamRegex' => __DIR__ . 
'/includes/SpamFilter/SpamRegex.php',
diff --git a/container.php b/container.php
index f053038..d5c471a 100644
--- a/container.php
+++ b/container.php
@@ -832,9 +832,14 @@
        return new Flow\SpamFilter\ContentLengthFilter( $maxCharCount );
 };
 
+$c['controller.ratelimits'] = function( $c ) {
+       return new Flow\SpamFilter\RateLimits;
+};
+
 $c['controller.spamfilter'] = function( $c ) {
        return new Flow\SpamFilter\Controller(
                $c['controller.spamregex'],
+               $c['controller.ratelimits'],
                $c['controller.spamblacklist'],
                $c['controller.abusefilter'],
                $c['controller.confirmedit'],
diff --git a/includes/SpamFilter/RateLimits.php 
b/includes/SpamFilter/RateLimits.php
new file mode 100644
index 0000000..dd02f62
--- /dev/null
+++ b/includes/SpamFilter/RateLimits.php
@@ -0,0 +1,34 @@
+<?php
+
+namespace Flow\SpamFilter;
+
+use Flow\Model\AbstractRevision;
+use IContextSource;
+use Status;
+use Title;
+
+class RateLimits implements SpamFilter {
+       /**
+        * @param IContextSource $context
+        * @param AbstractRevision $newRevision
+        * @param AbstractRevision|null $oldRevision
+        * @param Title $title
+        * @return Status
+        */
+       public function validate( IContextSource $context, AbstractRevision 
$newRevision, AbstractRevision $oldRevision = null, Title $title ) {
+               if ( $context->getUser()->pingLimiter( 'edit' ) ) {
+                       return Status::newFatal( 'actionthrottledtext' );
+               }
+
+               return Status::newGood();
+       }
+
+       /**
+        * Checks if SpamRegex is enabled.
+        *
+        * @return bool
+        */
+       public function enabled() {
+               return true;
+       }
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/248117
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I883b7b725065a5282fa0c1fc138c48496feea49e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Flow
Gerrit-Branch: master
Gerrit-Owner: Legoktm <legoktm.wikipe...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to