MediaWiki r49399 - Code Review

Jump to: navigation, search
Repository:MediaWiki
Revision:r49398‎ | r49399 (on ViewVC)‎ | r49400 >
Date:10:59, 11 April 2009
Author:philip
Status:reverted (Comments)
Tags:
Comment:
Add a new function named 'convert()', allow user to convert a string to specified variant in Abuse Filter. With the support of LanguageConverter which updated on r49397.
Modified paths:

Diff [purge]

Index: trunk/extensions/AbuseFilter/AbuseFilter.parser.php
===================================================================
--- trunk/extensions/AbuseFilter/AbuseFilter.parser.php	(revision 49398)
+++ trunk/extensions/AbuseFilter/AbuseFilter.parser.php	(revision 49399)
@@ -365,6 +365,7 @@
 		'bool' => 'castBool',
 		'norm' => 'funcNorm',
 		'ccnorm' => 'funcCCNorm',
+		'convert' => 'funcConvert',
 		'specialratio' => 'funcSpecialRatio',
 		'rmspecials' => 'funcRMSpecials',
 		'rmdoubles' => 'funcRMDoubles',
@@ -1254,6 +1255,16 @@
 		return new AFPData( AFPData::DString, $wgContLang->lc( $s ) );
 	}
 	
+	protected function funcConvert( $args ) {
+		global $wgContLang;
+		if( count( $args ) < 2 )
+			throw new AFPUserVisibleException( 'notenoughargs', $this->mCur->pos,
+						array( 'lang_convert', 2, count($args) ) );
+		$v = $args[0]->toString();
+		$s = $args[1]->toString();
+		return new AFPData( AFPData::DString, $wgContLang->convert( $s, false, $v ) );
+	}
+	
 	protected function funcLen( $args ) {
 		if( count( $args ) < 1 )
 			throw new AFPUserVisibleException( 'notenoughargs', $this->mCur->pos,
Index: trunk/extensions/AbuseFilter/AbuseFilter.class.php
===================================================================
--- trunk/extensions/AbuseFilter/AbuseFilter.class.php	(revision 49398)
+++ trunk/extensions/AbuseFilter/AbuseFilter.class.php	(revision 49399)
@@ -57,6 +57,7 @@
 			'length(string)' => 'length',
 			'lcase(string)' => 'lcase',
 			'ccnorm(string)' => 'ccnorm',
+			'convert("vairant", string)' => 'convert',
 			'rmdoubles(string)' => 'rmdoubles',
 			'specialratio(string)' => 'specialratio',
 			'norm(string)' => 'norm',
Index: trunk/extensions/AbuseFilter/AbuseFilter.i18n.php
===================================================================
--- trunk/extensions/AbuseFilter/AbuseFilter.i18n.php	(revision 49398)
+++ trunk/extensions/AbuseFilter/AbuseFilter.i18n.php	(revision 49399)
@@ -243,6 +243,7 @@
 	'abusefilter-edit-builder-funcs-length' => 'String length (length)',
 	'abusefilter-edit-builder-funcs-lcase' => 'To lower case (lcase)',
 	'abusefilter-edit-builder-funcs-ccnorm' => 'Normalise confusable characters (ccnorm)',
+	'abusefilter-edit-builder-funcs-convert' => 'Convert string to specified variant (convert)',
 	'abusefilter-edit-builder-funcs-rmdoubles' => 'Remove double-characters (rmdoubles)',
 	'abusefilter-edit-builder-funcs-specialratio' => 'Special characters / total characters (specialratio)',
 	'abusefilter-edit-builder-funcs-norm' => 'Normalise (norm)',
@@ -15939,6 +15940,7 @@
 	'abusefilter-edit-builder-funcs-length' => '字符串长度(length)',
 	'abusefilter-edit-builder-funcs-lcase' => '字母小写化(lcase)',
 	'abusefilter-edit-builder-funcs-ccnorm' => '规范化易混淆字符(ccnorm)',
+	'abusefilter-edit-builder-funcs-convert' => '转换字符串到指定语言(convert)',
 	'abusefilter-edit-builder-funcs-rmdoubles' => '去除双字节字符(rmdoubles)',
 	'abusefilter-edit-builder-funcs-specialratio' => '特殊字符比(specialratio)',
 	'abusefilter-edit-builder-funcs-norm' => '规范化(norm)',
@@ -16299,13 +16301,14 @@
 	'abusefilter-edit-builder-misc-cond' => '條件式(if X then Y else Z)',
 	'abusefilter-edit-builder-group-funcs' => '函數',
 	'abusefilter-edit-builder-funcs-length' => '字串長度(length)',
-	'abusefilter-edit-builder-funcs-lcase' => '改為小寫(lcase)',
-	'abusefilter-edit-builder-funcs-ccnorm' => '修正混淆字符(ccnorm)',
-	'abusefilter-edit-builder-funcs-rmdoubles' => '去除雙字元(rmdoubles)',
-	'abusefilter-edit-builder-funcs-specialratio' => '特殊字元數與整體字元數比(specialratio)',
+	'abusefilter-edit-builder-funcs-lcase' => '改為小寫(lcase)',
+	'abusefilter-edit-builder-funcs-ccnorm' => '修正混淆字符(ccnorm)',
+	'abusefilter-edit-builder-funcs-convert' => '轉換字串到指定語言(convert)',
+	'abusefilter-edit-builder-funcs-rmdoubles' => '去除雙字元(rmdoubles)',
+	'abusefilter-edit-builder-funcs-specialratio' => '特殊字元數與整體字元數比(specialratio)',
 	'abusefilter-edit-builder-funcs-norm' => '正常化(norm)',
-	'abusefilter-edit-builder-funcs-count' => '字串 X 在字串 Y 裡出現的次數(count)',
-	'abusefilter-edit-builder-funcs-rcount' => '正則表示式 X 出現在字串 Y 的次數(rcount)',
+	'abusefilter-edit-builder-funcs-count' => '字串 X 在字串 Y 裡出現的次數(count)',
+	'abusefilter-edit-builder-funcs-rcount' => '正則表示式 X 出現在字串 Y 的次數(rcount)',
 	'abusefilter-edit-builder-funcs-rmwhitespace' => '去除空白字元(rmwhitespace)',
 	'abusefilter-edit-builder-funcs-rmspecials' => '去除特殊字元(rmspecials)',
 	'abusefilter-edit-builder-funcs-ip_in_range' => 'IP是否在範圍內?(ip_in_range)',

Follow-up revisions

Rev.Commit summaryAuthorDate
r51002Reverted r49855, r49656, r49401, r49399, r49397. The language converter canno...tstarling07:46, 26 May 2009

Comments

#Comment by Tim Starling (Talk | contribs)   08:40, 19 May 2009

Suggest revert as per r49397

Status & tagging log

Personal tools
Namespaces
Variants
Views
Actions
Site
Support
Download
Development
Communication
Toolbox