From 22a7f6e9120a5e839fea1971a3c8c9e1d97665e9 Mon Sep 17 00:00:00 2001 From: Dayllan Maza Date: Thu, 10 Aug 2017 18:20:47 -0400 Subject: [PATCH] Remove manual implementation of AntiSpoof::equivString Cleaned ccnorm method to use AntiSpoof::normalizeString instead going after AntiSpoof extension files and doing a manual implementation of it. Also removed composer requirement for AntiSpoof extension. Bug: T172766 Depends-On: I731733671b650b6bb2f480c41c4f6f2d2f5c62e8 Change-Id: Ib38ba0b06918e81e8af03032eef95e3942773bc1 --- composer.json | 3 +-- includes/parser/AbuseFilterParser.php | 35 +++++++-------------------- 2 files changed, 10 insertions(+), 28 deletions(-) diff --git a/composer.json b/composer.json index 485f88183..ebfd6978c 100644 --- a/composer.json +++ b/composer.json @@ -6,8 +6,7 @@ "license": "GPL-2.0+", "require": { "php": ">=5.4", - "composer/installers": "1.*,>=1.0.1", - "mediawiki/anti-spoof": "dev-master" + "composer/installers": "1.*,>=1.0.1" }, "require-dev": { "jakub-onderka/php-parallel-lint": "0.9.2", diff --git a/includes/parser/AbuseFilterParser.php b/includes/parser/AbuseFilterParser.php index 097e248d2..f9bd15b3b 100644 --- a/includes/parser/AbuseFilterParser.php +++ b/includes/parser/AbuseFilterParser.php @@ -1106,34 +1106,17 @@ class AbuseFilterParser { * @return mixed */ protected function ccnorm( $s ) { - static $replacementArray = null; - - if ( is_null( $replacementArray ) ) { - global $wgExtensionDirectory; - - if ( is_readable( "$wgExtensionDirectory/AntiSpoof/equivset.php" ) ) { - // Satisfy analyzer. - $equivset = null; - // Contains a map of characters in $equivset. - require "$wgExtensionDirectory/AntiSpoof/equivset.php"; - - // strtr in ReplacementArray->replace() doesn't like this. - if ( isset( $equivset[''] ) ) { - unset( $equivset[''] ); - } - - $replacementArray = new ReplacementArray( $equivset ); - } else { - // AntiSpoof isn't available, so just create a dummy - wfDebugLog( - 'AbuseFilter', - "Can't compute normalized string (ccnorm) as the AntiSpoof Extension isn't installed." - ); - $replacementArray = new ReplacementArray( [] ); - } + if ( is_callable( 'AntiSpoof::normalizeString' ) ) { + $s = AntiSpoof::normalizeString( $s ); + } else { + // AntiSpoof isn't available, so ignore and return same string + wfDebugLog( + 'AbuseFilter', + "Can't compute normalized string (ccnorm) as the AntiSpoof Extension isn't installed." + ); } - return $replacementArray->replace( $s ); + return $s; } /**