X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=includes%2FSkinTemplate.php;h=77ea307303a7582f5f43a77a098a9d658c46fd0b;hb=908cab463aef7efbf522331acc65f1b621db20a7;hp=44cafe9ebf02875d7a7991ea4b1a4abae9e8c027;hpb=1e95602281251ea539ae76d4217d4db1eec07b95;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/SkinTemplate.php b/includes/SkinTemplate.php index 44cafe9ebf..77ea307303 100644 --- a/includes/SkinTemplate.php +++ b/includes/SkinTemplate.php @@ -159,7 +159,7 @@ class SkinTemplate extends Skin { $language_urls[] = array( 'href' => $languageLinkTitle->getFullURL(), 'text' => $ilLangName, - 'title' => wfMessage( 'tooltip-iwiki', $languageLinkTitle->getText(), $ilLangLocalName )->escaped(), + 'title' => wfMessage( 'interlanguage-link-title', $languageLinkTitle->getText(), $ilLangLocalName )->text(), 'class' => $class, 'lang' => wfBCP47( $ilInterwikiCode ), 'hreflang' => wfBCP47( $ilInterwikiCode ), @@ -217,15 +217,6 @@ class SkinTemplate extends Skin { * @param $out OutputPage */ function outputPage( OutputPage $out = null ) { - global $wgContLang; - global $wgScript, $wgStylePath; - global $wgMimeType, $wgJsMimeType; - global $wgXhtmlNamespaces, $wgHtml5Version; - global $wgDisableCounters, $wgSitename, $wgLogo; - global $wgMaxCredits, $wgShowCreditsIfMax; - global $wgPageShowWatchingUsers; - global $wgArticlePath, $wgScriptPath, $wgServer; - wfProfileIn( __METHOD__ ); Profiler::instance()->setTemplated( true ); @@ -237,14 +228,45 @@ class SkinTemplate extends Skin { } $out = $this->getOutput(); - $request = $this->getRequest(); $user = $this->getUser(); - $title = $this->getTitle(); wfProfileIn( __METHOD__ . '-init' ); $this->initPage( $out ); wfProfileOut( __METHOD__ . '-init' ); + $tpl = $this->prepareQuickTemplate( $out ); + // execute template + wfProfileIn( __METHOD__ . '-execute' ); + $res = $tpl->execute(); + wfProfileOut( __METHOD__ . '-execute' ); + // result may be an error + $this->printOrError( $res ); + + if ( $oldContext ) { + $this->setContext( $oldContext ); + } + + wfProfileOut( __METHOD__ ); + } + + /** + * initialize various variables and generate the template + * + * @since 1.23 + * @param $out OutputPage + * @return QuickTemplate the template to be executed by outputPage + */ + protected function prepareQuickTemplate( OutputPage $out = null ) { + global $wgContLang, $wgScript, $wgStylePath, + $wgMimeType, $wgJsMimeType, $wgXhtmlNamespaces, $wgHtml5Version, + $wgDisableCounters, $wgSitename, $wgLogo, $wgMaxCredits, + $wgShowCreditsIfMax, $wgPageShowWatchingUsers, $wgArticlePath, + $wgScriptPath, $wgServer; + + wfProfileIn( __METHOD__ ); + + $title = $this->getTitle(); + $request = $this->getRequest(); $tpl = $this->setupTemplateForOutput(); wfProfileIn( __METHOD__ . '-stuff-head' ); @@ -523,18 +545,8 @@ class SkinTemplate extends Skin { $tpl->set( 'dataAfterContent', $this->afterContentHook() ); wfProfileOut( __METHOD__ . '-stuff5' ); - // execute template - wfProfileIn( __METHOD__ . '-execute' ); - $res = $tpl->execute(); - wfProfileOut( __METHOD__ . '-execute' ); - - // result may be an error - $this->printOrError( $res ); - - if ( $oldContext ) { - $this->setContext( $oldContext ); - } wfProfileOut( __METHOD__ ); + return $tpl; } /** @@ -1717,6 +1729,10 @@ abstract class BaseTemplate extends QuickTemplate { * on the link) is present it will be used to generate a tooltip and * accesskey for the link. * + * The keys "context" and "primary" are ignored; these keys are used + * internally by skins and are not supposed to be included in the HTML + * output. + * * If you don't want an accesskey, set $item['tooltiponly'] = true; * * @param array $options can be used to affect the output of a link. @@ -1757,7 +1773,7 @@ abstract class BaseTemplate extends QuickTemplate { if ( isset( $item['href'] ) || isset( $options['link-fallback'] ) ) { $attrs = $item; - foreach ( array( 'single-id', 'text', 'msg', 'tooltiponly' ) as $k ) { + foreach ( array( 'single-id', 'text', 'msg', 'tooltiponly', 'context', 'primary' ) as $k ) { unset( $attrs[$k] ); } @@ -1994,9 +2010,10 @@ abstract class BaseTemplate extends QuickTemplate { * body and html tags. */ function printTrail() { ?> +getSkin()->getContext() ); ?> html( 'bottomscripts' ); /* JS call to runBodyOnloadHook */ ?> html( 'reporttime' ) ?> -getSkin()->getContext() ); +