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
This commit is contained in:
Dayllan Maza 2017-08-10 18:20:47 -04:00
parent 1aae096ae2
commit 22a7f6e912
2 changed files with 10 additions and 28 deletions

View file

@ -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",

View file

@ -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;
}
/**