From 1179421217ab3c5954c9080c2cc7ade4ecc012ec Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Wed, 3 Jun 2009 14:51:08 +0000 Subject: [PATCH] Reverted r48984. Fragile, doesn't work if memcached is enabled. See CodeReview. --- RELEASE-NOTES | 3 -- includes/parser/CoreParserFunctions.php | 11 +------ languages/Language.php | 11 ------- languages/LanguageConverter.php | 41 ++++++++----------------- languages/messages/MessagesEn.php | 1 - 5 files changed, 14 insertions(+), 53 deletions(-) diff --git a/RELEASE-NOTES b/RELEASE-NOTES index c764c4c494..1b5e4d3cdf 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -46,9 +46,6 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN * Add CSS defintion of the 'wikitable' class to shared.css * (bug 17163) Added MediaWiki:Talkpageheader which will be displayed when viewing talk pages -* Add group convertsion support for LanguageConverter. New magic word - "{{GROUPCONVERT:xxx}}" enabled for this new feature. You can set related - conversion rules in [[MediaWiki:Groupconversiontable-xxx/language_code]]. * Superfluous border="0" removed from images * Added new hook 'MessageCacheReplace' into MessageCache.php. For instance to allow extensions to update caches in similar way as MediaWiki invalidates diff --git a/includes/parser/CoreParserFunctions.php b/includes/parser/CoreParserFunctions.php index 308a4e8c44..c855a9224e 100644 --- a/includes/parser/CoreParserFunctions.php +++ b/includes/parser/CoreParserFunctions.php @@ -76,7 +76,6 @@ class CoreParserFunctions { $parser->setFunctionHook( 'revisionuser', array( __CLASS__, 'revisionuser' ), SFH_NO_HASH ); $parser->setFunctionHook( 'tag', array( __CLASS__, 'tagObj' ), SFH_OBJECT_ARGS ); $parser->setFunctionHook( 'formatdate', array( __CLASS__, 'formatDate' ) ); - $parser->setFunctionHook( 'groupconvert', array( __CLASS__, 'groupconvert' ), SFH_NO_HASH ); if ( $wgAllowDisplayTitle ) { $parser->setFunctionHook( 'displaytitle', array( __CLASS__, 'displaytitle' ), SFH_NO_HASH ); @@ -113,7 +112,7 @@ class CoreParserFunctions { $date = $df->reformat( $pref, $date, array('match-whole') ); return $date; } - + static function ns( $parser, $part1 = '' ) { global $wgContLang; if ( intval( $part1 ) || $part1 == "0" ) { @@ -738,12 +737,4 @@ class CoreParserFunctions { ); return $parser->extensionSubstitution( $params, $frame ); } - - /** - * magic word call for a group convert from LanguageConverter. - */ - public static function groupconvert( $parser, $group ) { - global $wgContLang; - return $wgContLang->groupConvert( $group ); - } } diff --git a/languages/Language.php b/languages/Language.php index 418afa7f9a..917898fbb9 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -47,7 +47,6 @@ class FakeConverter { function convertCategoryKey( $key ) {return $key; } function convertLinkToAllVariants($text){ return array( $this->mLang->getCode() => $text); } function armourMath($text){ return $text; } - function groupConvert($group) {return '';} } /** @@ -2358,16 +2357,6 @@ class Language { function markNoConversion( $text, $noParse=false ) { return $this->mConverter->markNoConversion( $text, $noParse ); } - - /** - * Callback function for magicword 'groupconvert' - * - * @param string $group: the group name called for - * @return blank string - */ - function groupConvert( $group ) { - return $this->mConverter->groupConvert( $group ); - } /** * A regular expression to match legal word-trailing characters diff --git a/languages/LanguageConverter.php b/languages/LanguageConverter.php index 69f148fe12..dbdde9c5c8 100644 --- a/languages/LanguageConverter.php +++ b/languages/LanguageConverter.php @@ -34,7 +34,6 @@ class LanguageConverter { var $mFlags; var $mDescCodeSep = ':',$mDescVarSep = ';'; var $mUcfirst = false; - var $mGroups = array(); const CACHE_VERSION_KEY = 'VERSION 6'; @@ -436,7 +435,7 @@ class LanguageConverter { /* don't do anything if this is the conversion table */ if ( $parser->getTitle()->getNamespace() == NS_MEDIAWIKI && - strpos($parser->mTitle->getText(), 'onversiontable') !== false ) + strpos($parser->mTitle->getText(), "Conversiontable") !== false ) { return $text; } @@ -685,7 +684,7 @@ class LanguageConverter { * load conversion tables either from the cache or the disk * @private */ - function loadTables( $fromcache = true ) { + function loadTables($fromcache=true) { global $wgMemc; if( $this->mTablesLoaded ) return; @@ -703,14 +702,9 @@ class LanguageConverter { // we will first load the default tables // then update them using things in MediaWiki:Zhconversiontable/* $this->loadDefaultTables(); - foreach( $this->mVariants as $var ) { - $cached = $this->parseCachedTable( $var ); - // load group convert table, e.g. [[MediaWiki:Groupconversiontable-StarTrek]]. - foreach( $this->mGroups as $group ) { - $cachedgroup = $this->parseCachedTable( $var, '', true, "Groupconversiontable-$group" ); - $cached = array_merge( $cached, $cachedgroup ); - } - $this->mTables[$var]->mergeArray( $cached ); + foreach($this->mVariants as $var) { + $cached = $this->parseCachedTable($var); + $this->mTables[$var]->mergeArray($cached); } $this->postLoadTables(); @@ -758,24 +752,24 @@ class LanguageConverter { * and will be parsed recursively if $recursive=true * */ - function parseCachedTable($code, $subpage='', $recursive=true, $table='Conversiontable') { + function parseCachedTable($code, $subpage='', $recursive=true) { global $wgMessageCache; static $parsed = array(); if(!is_object($wgMessageCache)) return array(); - $key = "$table/".$code; + $key = 'Conversiontable/'.$code; if($subpage) $key .= '/' . $subpage; if(array_key_exists($key, $parsed)) return array(); - + if ( strpos( $code, '/' ) === false ) { - $txt = $wgMessageCache->get( $table, true, $code ); + $txt = $wgMessageCache->get( 'Conversiontable', true, $code ); } else { - $title = Title::makeTitleSafe( NS_MEDIAWIKI, "$table/$code" ); + $title = Title::makeTitleSafe( NS_MEDIAWIKI, "Conversiontable/$code" ); if ( $title && $title->exists() ) { $article = new Article( $title ); $txt = $article->getContents(); @@ -783,9 +777,10 @@ class LanguageConverter { $txt = ''; } } + // get all subpage links of the form // [[MediaWiki:conversiontable/zh-xx/...|...]] - $linkhead = $this->mLangObj->getNsText(NS_MEDIAWIKI) . ":$table"; + $linkhead = $this->mLangObj->getNsText(NS_MEDIAWIKI) . ':Conversiontable'; $subs = explode('[[', $txt); $sublinks = array(); foreach( $subs as $sub ) { @@ -804,6 +799,7 @@ class LanguageConverter { } } + // parse the mappings in this page $blocks = explode($this->mMarkup['begin'], $txt); array_shift($blocks); @@ -897,17 +893,6 @@ class LanguageConverter { $ret = $this->mMarkup['begin'] . 'R|' . $text . $this->mMarkup['end']; return $ret; } - - /** - * Callback function for magicword 'groupconvert' - * - * @param string $group: the group name called for - * @return blank string - */ - function groupConvert( $group ) { - $this->mGroups[] = $group; - return ''; - } } /** diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 2554714a82..3babd201df 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -344,7 +344,6 @@ $magicWords = array( 'staticredirect' => array( 1, '__STATICREDIRECT__' ), 'protectionlevel' => array( 1, 'PROTECTIONLEVEL' ), 'formatdate' => array( 0, 'formatdate', 'dateformat' ), - 'groupconvert' => array( 0, 'GROUPCONVERT:', 'GC:' ), ); /** -- 2.20.1