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:
parent
ab187d369a
commit
f5a0c2327e
1 changed files with 30 additions and 22 deletions
|
|
@ -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;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in a new issue