From: Shinjiman Date: Thu, 7 Aug 2008 14:26:34 +0000 (+0000) Subject: * Added $wgDisableTitleConversion to disabling the conversion for all pages on the... X-Git-Tag: 1.31.0-rc.0~46051 X-Git-Url: https://git.cyclocoop.org/admin/?a=commitdiff_plain;h=8d06ad6ee3748bd5eed96eac5bb52f5d402b1e0d;p=lhc%2Fweb%2Fwiklou.git * 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 --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index b6e5619e5f..9c2f313ec2 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -47,6 +47,11 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN * (bug 14377) Add a date selector to history pages * (bug 15007) New 'pagetitle-view-mainpage' message allows the HTML 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 === diff --git a/includes/DefaultSettings.php b/includes/DefaultSettings.php index 654f0cf3c6..b765bfb91b 100644 --- a/includes/DefaultSettings.php +++ b/includes/DefaultSettings.php @@ -861,6 +861,9 @@ $wgCheckSerialized = true; /** 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 @@ $wgDefaultUserOptions = array( 'watchdefault' => 0, 'watchmoves' => 0, 'watchdeletion' => 0, + 'convertlink' => 0, ); /** Whether or not to allow and use real name fields. Defaults to true. */ diff --git a/includes/User.php b/includes/User.php index 97509d6db6..59c8c4cc91 100644 --- a/includes/User.php +++ b/includes/User.php @@ -88,6 +88,7 @@ class User { 'ccmeonemails', 'diffonly', 'showhiddencats', + 'noconvertlink', ); /** diff --git a/includes/specials/SpecialPreferences.php b/includes/specials/SpecialPreferences.php index 4528296a3d..8bf14d35e7 100644 --- a/includes/specials/SpecialPreferences.php +++ b/includes/specials/SpecialPreferences.php @@ -513,7 +513,7 @@ class PreferencesForm { 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 @@ class PreferencesForm { ) ); } + + if(count($variantArray) > 1 && !$wgDisableLangConversion && !$wgDisableTitleConversion) { + $wgOut->addHtml( + Xml::tags( 'tr', null, + Xml::tags( 'td', array( 'colspan' => '2' ), + $this->getToggle( "noconvertlink" ) + ) + ) + ); + } } # Password diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index bbf15971f5..f6fb37e50b 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -374,8 +374,10 @@ class LanguageConverter { * @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 @@ class LanguageConverter { 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 @@ class LanguageConverter { * @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 @@ class LanguageConverter { foreach( $titles as $varnt ) { if( $varnt->getArticleID() > 0 ) { $nt = $varnt; - if( !$wgDisableLangConversion ) - $link = $v; + $link = $v; break; } } diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 5021772444..0f747eace7 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -532,6 +532,7 @@ XHTML id names. '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', diff --git a/languages/messages/MessagesYue.php b/languages/messages/MessagesYue.php index 4a098c0ec4..9eae521a05 100644 --- a/languages/messages/MessagesYue.php +++ b/languages/messages/MessagesYue.php @@ -180,6 +180,7 @@ $messages = array( 'tog-ccmeonemails' => '當我寄電郵畀其他人嗰陣寄返封副本畀我', 'tog-diffonly' => '響差異下面唔顯示頁面內容', 'tog-showhiddencats' => '顯示隱藏類', +'tog-noconvertlink' => '唔轉連結標題', 'underline-always' => '全部', 'underline-never' => '永不', diff --git a/languages/messages/MessagesZh_classical.php b/languages/messages/MessagesZh_classical.php index 96564bfe67..c3c98a6e29 100644 --- a/languages/messages/MessagesZh_classical.php +++ b/languages/messages/MessagesZh_classical.php @@ -109,6 +109,7 @@ $messages = array( 'tog-watchlisthideown' => '不哨己文', 'tog-watchlisthidebots' => '不哨僕文', 'tog-showhiddencats' => '示隱類', +'tog-noconvertlink' => '非轉鍵題', 'underline-always' => '恆', 'underline-never' => '絕', diff --git a/languages/messages/MessagesZh_hans.php b/languages/messages/MessagesZh_hans.php index 28950d31c3..20886ce5c8 100644 --- a/languages/messages/MessagesZh_hans.php +++ b/languages/messages/MessagesZh_hans.php @@ -123,6 +123,7 @@ $messages = array( 'tog-ccmeonemails' => '把我发送给其他用户的邮件同时发送副本给我自己', 'tog-diffonly' => '在比较两个修订版本差异时不显示页面内容', 'tog-showhiddencats' => '显示隐藏分类', +'tog-noconvertlink' => '不转换链接标题', 'underline-always' => '总是使用', 'underline-never' => '从不使用', diff --git a/languages/messages/MessagesZh_hant.php b/languages/messages/MessagesZh_hant.php index d9c8ebd930..9ae980dba7 100644 --- a/languages/messages/MessagesZh_hant.php +++ b/languages/messages/MessagesZh_hant.php @@ -105,6 +105,7 @@ $messages = array( 'tog-ccmeonemails' => '當我寄電子郵件給其他用戶時,也寄一份複本到我的信箱。', 'tog-diffonly' => '在比較兩個修訂版本差異時不顯示頁面內容', 'tog-showhiddencats' => '顯示隱藏分類', +'tog-noconvertlink' => '不轉換連結標題', 'underline-always' => '總是使用', 'underline-never' => '從不使用', diff --git a/maintenance/language/messageTypes.inc b/maintenance/language/messageTypes.inc index 8a62a2ae99..0b56e531ca 100644 --- a/maintenance/language/messageTypes.inc +++ b/maintenance/language/messageTypes.inc @@ -163,6 +163,7 @@ $wgOptionalMessages = array( 'unit-pixel', 'userrights-irreversible-marker', 'tog-nolangconversion', + 'tog-noconvertlink', 'yourvariant', 'variantname-zh-hans', 'variantname-zh-hant', diff --git a/maintenance/language/messages.inc b/maintenance/language/messages.inc index 42c5b226d7..b281569fbc 100644 --- a/maintenance/language/messages.inc +++ b/maintenance/language/messages.inc @@ -52,6 +52,7 @@ $wgMessageStructure = array( 'tog-ccmeonemails', 'tog-diffonly', 'tog-showhiddencats', + 'tog-noconvertlink', ), 'underline' => array( 'underline-always',