TTO has uploaded a new change for review.
https://gerrit.wikimedia.org/r/187360
Change subject: Implement ChangeTagsListActive hook
......................................................................
Implement ChangeTagsListActive hook
This allows users to visit Special:Tags or use the API to see
which change tags are still in active use.
The ChangeTagsListActive hook was introduced to core in
I77f476c8d0f32c80f720aa2c5e66869c81faa282
Change-Id: I456da1d151b576a4b4b62569a7804e3a3dd5e611
---
M AbuseFilter.hooks.php
M AbuseFilter.php
2 files changed, 27 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/AbuseFilter
refs/changes/60/187360/1
diff --git a/AbuseFilter.hooks.php b/AbuseFilter.hooks.php
index 0e56125..cbceacb 100644
--- a/AbuseFilter.hooks.php
+++ b/AbuseFilter.hooks.php
@@ -442,25 +442,30 @@
}
/**
- * @param $emptyTags array
+ * @param array $tags
+ * @param bool $enabled
* @return bool
*/
- public static function onListDefinedTags( &$emptyTags ) {
+ private static function fetchAllTags( array &$tags, $enabled ) {
# This is a pretty awful hack.
$dbr = wfGetDB( DB_SLAVE );
+ $where = array( 'afa_consequence' => 'tag' );
+ if ( $enabled ) {
+ $where['af_enabled'] = true;
+ }
$res = $dbr->select(
array( 'abuse_filter_action', 'abuse_filter' ),
'afa_parameters',
- array( 'afa_consequence' => 'tag', 'af_enabled' => true
),
+ $where,
__METHOD__,
array(),
array( 'abuse_filter' => array( 'INNER JOIN',
'afa_filter=af_id' ) )
);
foreach ( $res as $row ) {
- $emptyTags = array_filter(
- array_merge( explode( "\n",
$row->afa_parameters ), $emptyTags )
+ $tags = array_filter(
+ array_merge( explode( "\n",
$row->afa_parameters ), $tags )
);
}
@@ -468,6 +473,22 @@
}
/**
+ * @param array $tags
+ * @return bool
+ */
+ public static function onListDefinedTags( array &$tags ) {
+ return self::fetchAllTags( $tags, false );
+ }
+
+ /**
+ * @param array $tags
+ * @return bool
+ */
+ public static function onChangeTagsListActive( array &$tags ) {
+ return self::fetchAllTags( $tags, true );
+ }
+
+ /**
* @param $updater DatabaseUpdater
* @throws MWException
* @return bool
diff --git a/AbuseFilter.php b/AbuseFilter.php
index 3b7de9b..46f7fb1 100644
--- a/AbuseFilter.php
+++ b/AbuseFilter.php
@@ -95,6 +95,7 @@
$wgHooks['ArticleDelete'][] = 'AbuseFilterHooks::onArticleDelete';
$wgHooks['RecentChange_save'][] = 'AbuseFilterHooks::onRecentChangeSave';
$wgHooks['ListDefinedTags'][] = 'AbuseFilterHooks::onListDefinedTags';
+$wgHooks['ChangeTagsListActive'][] =
'AbuseFilterHooks::onChangeTagsListActive';
$wgHooks['LoadExtensionSchemaUpdates'][] =
'AbuseFilterHooks::onLoadExtensionSchemaUpdates';
$wgHooks['ContributionsToolLinks'][] =
'AbuseFilterHooks::onContributionsToolLinks';
$wgHooks['UploadVerifyFile'][] = 'AbuseFilterHooks::onUploadVerifyFile';
--
To view, visit https://gerrit.wikimedia.org/r/187360
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I456da1d151b576a4b4b62569a7804e3a3dd5e611
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/AbuseFilter
Gerrit-Branch: master
Gerrit-Owner: TTO <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits