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