Create prepareQuickTemplate function

Skins should be able to easily add to templates their own
variables. This helps with this.

This helps drastically reduce to the code in the mobile
skin and ensure it benefits from changes in core

See: I43fc26bf334753b189e20921f142bade7658ac31

Change-Id: I0a9a7f10ea6a2e9c90c2a83e7c5f7fa56fa0fb93
This commit is contained in:
jrobson 2013-11-07 13:23:47 -08:00 committed by Jdlrobson
parent ab187d369a
commit f5a0c2327e

View file

@ -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,41 @@ 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 );
}
}
/**
* 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;
$title = $this->getTitle();
$request = $this->getRequest();
$tpl = $this->setupTemplateForOutput();
wfProfileIn( __METHOD__ . '-stuff-head' );
@ -523,18 +541,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;
}
/**