MediaWiki r38784 - Code Review

Jump to: navigation, search
Repository:MediaWiki
Revision:r38783‎ | r38784 (on ViewVC)‎ | r38785 >
Date:14:26, 7 August 2008
Author:shinjiman
Status:old
Tags:
Comment:
* Added $wgDisableTitleConversion to disabling the conversion for all pages on the wiki (this one is useful for some wikis that do not need the title conversion for the entire wiki like Wiktionary)
* Added 'noconvertlink' toogle that can be set per user preferences, also added 'convertlink=no|yes' on GET requests whether have the link titles being converted or not
patches by PhiLiP
Modified paths:

Diff [purge]

Index: trunk/phase3/maintenance/language/messages.inc
===================================================================
--- trunk/phase3/maintenance/language/messages.inc	(revision 38783)
+++ trunk/phase3/maintenance/language/messages.inc	(revision 38784)
@@ -52,6 +52,7 @@
 		'tog-ccmeonemails',
 		'tog-diffonly',
 		'tog-showhiddencats',
+		'tog-noconvertlink',
 	),
 	'underline' => array(
 		'underline-always',
Index: trunk/phase3/maintenance/language/messageTypes.inc
===================================================================
--- trunk/phase3/maintenance/language/messageTypes.inc	(revision 38783)
+++ trunk/phase3/maintenance/language/messageTypes.inc	(revision 38784)
@@ -163,6 +163,7 @@
 	'unit-pixel',
 	'userrights-irreversible-marker',
 	'tog-nolangconversion',
+	'tog-noconvertlink',
 	'yourvariant',
 	'variantname-zh-hans',
 	'variantname-zh-hant',
Index: trunk/phase3/includes/User.php
===================================================================
--- trunk/phase3/includes/User.php	(revision 38783)
+++ trunk/phase3/includes/User.php	(revision 38784)
@@ -88,6 +88,7 @@
 		'ccmeonemails',
 		'diffonly',
 		'showhiddencats',
+		'noconvertlink',
 	);
 
 	/**
Index: trunk/phase3/includes/DefaultSettings.php
===================================================================
--- trunk/phase3/includes/DefaultSettings.php	(revision 38783)
+++ trunk/phase3/includes/DefaultSettings.php	(revision 38784)
@@ -861,6 +861,9 @@
 /** Whether to enable language variant conversion. */
 $wgDisableLangConversion = false;
 
+/** Whether to enable language variant conversion for links. */
+$wgDisableTitleConversion = false;
+
 /** Default variant code, if false, the default will be the language code */
 $wgDefaultLanguageVariant = false;
 
@@ -2226,6 +2229,7 @@
 	'watchdefault'            => 0,
 	'watchmoves'              => 0,
 	'watchdeletion'           => 0,
+	'convertlink'             => 0,
 );
 
 /** Whether or not to allow and use real name fields. Defaults to true. */
Index: trunk/phase3/includes/specials/SpecialPreferences.php
===================================================================
--- trunk/phase3/includes/specials/SpecialPreferences.php	(revision 38783)
+++ trunk/phase3/includes/specials/SpecialPreferences.php	(revision 38784)
@@ -513,7 +513,7 @@
 	function mainPrefsForm( $status , $message = '' ) {
 		global $wgUser, $wgOut, $wgLang, $wgContLang;
 		global $wgAllowRealName, $wgImageLimits, $wgThumbLimits;
-		global $wgDisableLangConversion;
+		global $wgDisableLangConversion, $wgDisableTitleConversion;
 		global $wgEnotifWatchlist, $wgEnotifUserTalk,$wgEnotifMinorEdits;
 		global $wgRCShowWatchingUsers, $wgEnotifRevealEditorAddress;
 		global $wgEnableEmail, $wgEnableUserEmail, $wgEmailAuthentication;
@@ -734,6 +734,16 @@
 					)
 				);
 			}
+			
+			if(count($variantArray) > 1 && !$wgDisableLangConversion && !$wgDisableTitleConversion) {
+				$wgOut->addHtml(
+					Xml::tags( 'tr', null,
+						Xml::tags( 'td', array( 'colspan' => '2' ),
+							$this->getToggle( "noconvertlink" )
+						)
+					)
+				);
+			}
 		}
 
 		# Password
Index: trunk/phase3/languages/LanguageConverter.php
===================================================================
--- trunk/phase3/languages/LanguageConverter.php	(revision 38783)
+++ trunk/phase3/languages/LanguageConverter.php	(revision 38784)
@@ -374,8 +374,10 @@
 	 * @private
 	 */
 	function convertTitle($text){
-		// check for __NOTC__ tag
-		if( !$this->mDoTitleConvert ) {
+		global $wgDisableTitleConversion, $wgUser;
+
+		// check for global param and __NOTC__ tag
+		if( $wgDisableTitleConversion || !$this->mDoTitleConvert || $wgUser->getOption('noconvertlink') == 1 ) {
 			$this->mTitleDisplay = $text;
 			return $text;
 		}
@@ -389,7 +391,8 @@
 		global $wgRequest;
 		$isredir = $wgRequest->getText( 'redirect', 'yes' );
 		$action = $wgRequest->getText( 'action' );
-		if ( $isredir == 'no' || $action == 'edit' ) {
+		$linkconvert = $wgRequest->getText( 'linkconvert', 'yes' );
+		if ( $isredir == 'no' || $action == 'edit' || $linkconvert == 'no' ) {
 			return $text;
 		} else {
 			$this->mTitleDisplay = $this->convert($text);
@@ -467,11 +470,20 @@
 	 * @public
 	 */
 	function findVariantLink( &$link, &$nt ) {
-		global $wgDisableLangConversion;
+		global $wgDisableLangConversion, $wgDisableTitleConversion, $wgRequest, $wgUser;
+		$isredir = $wgRequest->getText( 'redirect', 'yes' );
+		$action = $wgRequest->getText( 'action' );
+		$linkconvert = $wgRequest->getText( 'linkconvert', 'yes' );
+		$disableLinkConversion = $wgDisableLangConversion || $wgDisableTitleConversion;
 		$linkBatch = new LinkBatch();
 
 		$ns=NS_MAIN;
 
+		if ( $disableLinkConversion || $isredir == 'no' || $action == 'edit'
+			|| $linkconvert == 'no' || $wgUser->getOption('noconvertlink') == 1 ) {
+			return;
+		}
+
 		if(is_object($nt))
 			$ns = $nt->getNamespace();
 
@@ -497,8 +509,7 @@
 		foreach( $titles as $varnt ) {
 			if( $varnt->getArticleID() > 0 ) {
 				$nt = $varnt;
-				if( !$wgDisableLangConversion )
-					$link = $v;
+				$link = $v;
 				break;
 			}
 		}
Index: trunk/phase3/languages/messages/MessagesZh_hans.php
===================================================================
--- trunk/phase3/languages/messages/MessagesZh_hans.php	(revision 38783)
+++ trunk/phase3/languages/messages/MessagesZh_hans.php	(revision 38784)
@@ -123,6 +123,7 @@
 'tog-ccmeonemails'            => '把我发送给其他用户的邮件同时发送副本给我自己',
 'tog-diffonly'                => '在比较两个修订版本差异时不显示页面内容',
 'tog-showhiddencats'          => '显示隐藏分类',
+'tog-noconvertlink'           => '不转换链接标题',
 
 'underline-always'  => '总是使用',
 'underline-never'   => '从不使用',
Index: trunk/phase3/languages/messages/MessagesYue.php
===================================================================
--- trunk/phase3/languages/messages/MessagesYue.php	(revision 38783)
+++ trunk/phase3/languages/messages/MessagesYue.php	(revision 38784)
@@ -180,6 +180,7 @@
 'tog-ccmeonemails'            => '當我寄電郵畀其他人嗰陣寄返封副本畀我',
 'tog-diffonly'                => '響差異下面唔顯示頁面內容',
 'tog-showhiddencats'          => '顯示隱藏類',
+'tog-noconvertlink'           => '唔轉連結標題',
 
 'underline-always'  => '全部',
 'underline-never'   => '永不',
Index: trunk/phase3/languages/messages/MessagesZh_hant.php
===================================================================
--- trunk/phase3/languages/messages/MessagesZh_hant.php	(revision 38783)
+++ trunk/phase3/languages/messages/MessagesZh_hant.php	(revision 38784)
@@ -105,6 +105,7 @@
 'tog-ccmeonemails'            => '當我寄電子郵件給其他用戶時,也寄一份複本到我的信箱。',
 'tog-diffonly'                => '在比較兩個修訂版本差異時不顯示頁面內容',
 'tog-showhiddencats'          => '顯示隱藏分類',
+'tog-noconvertlink'           => '不轉換連結標題',
 
 'underline-always'  => '總是使用',
 'underline-never'   => '從不使用',
Index: trunk/phase3/languages/messages/MessagesEn.php
===================================================================
--- trunk/phase3/languages/messages/MessagesEn.php	(revision 38783)
+++ trunk/phase3/languages/messages/MessagesEn.php	(revision 38784)
@@ -532,6 +532,7 @@
 'tog-ccmeonemails'            => 'Send me copies of e-mails I send to other users',
 'tog-diffonly'                => 'Do not show page content below diffs',
 'tog-showhiddencats'          => 'Show hidden categories',
+'tog-noconvertlink'           => 'Disable titles conversion', # only translate this message to other languages if you have to change it
 
 'underline-always'  => 'Always',
 'underline-never'   => 'Never',
Index: trunk/phase3/languages/messages/MessagesZh_classical.php
===================================================================
--- trunk/phase3/languages/messages/MessagesZh_classical.php	(revision 38783)
+++ trunk/phase3/languages/messages/MessagesZh_classical.php	(revision 38784)
@@ -109,6 +109,7 @@
 'tog-watchlisthideown'        => '不哨己文',
 'tog-watchlisthidebots'       => '不哨僕文',
 'tog-showhiddencats'          => '示隱類',
+'tog-noconvertlink'           => '非轉鍵題',
 
 'underline-always'  => '恆',
 'underline-never'   => '絕',
Index: trunk/phase3/RELEASE-NOTES
===================================================================
--- trunk/phase3/RELEASE-NOTES	(revision 38783)
+++ trunk/phase3/RELEASE-NOTES	(revision 38784)
@@ -47,6 +47,11 @@
 * (bug 14377) Add a date selector to history pages
 * (bug 15007) New 'pagetitle-view-mainpage' message allows the HTML <title> of
   the main page to be customized
+* Added $wgDisableTitleConversion to disabling the conversion for all pages on 
+  the wiki
+* Added 'noconvertlink' toogle that can be set per user preferences, also 
+  added 'convertlink=no|yes' on GET requests whether have the link titles 
+  being converted or not
 
 === Bug fixes in 1.14 ===
 

Follow-up revisions

Rev.Commit summaryAuthorDate
r38791follow up and fixing some leftovers for r38784shinjiman15:52, 7 August 2008
r38917Localisation updates Cantonese, Chinese and Old/Late Time Chinese...shinjiman17:06, 8 August 2008
r39076Fix for r38784: force the noconvertlink toggle to be marked as used, otherwis...ialex18:17, 10 August 2008
r39466sequel of r38784, adding the test case for the 'submit' action...shinjiman10:09, 16 August 2008

Status & tagging log

  • 15:29, 12 September 2011 Meno25 (Talk | contribs) changed the status of r38784 [removed: ok added: old]
Personal tools
Namespaces
Variants
Views
Actions
Site
Support
Download
Development
Communication
Toolbox