24 private $templateParser =
null;
34 if ( $this->templateParser ===
null ) {
35 $this->templateParser =
new TemplateParser( $this->options[
'templateDirectory'] );
37 $this->templateParser->enableRecursivePartials(
true );
39 return $this->templateParser;
48 private function createTempUserBannerHTML() {
49 $isSupportedSkin = $this->
getOptions()[
'tempUserBanner'];
50 $isTempUser = $this->
getUser()->isTemp();
52 if ( !$isSupportedSkin || !$isTempUser ) {
56 $returntoParam = SkinComponentUtils::getReturnToParam(
62 $tempUserBanner =
new SkinComponentTempUserBanner(
67 return $tempUserBanner->getTemplateData()[
'html'];
80 $template = $this->options[
'template'] ??
'skin';
82 $html = $this->createTempUserBannerHTML();
83 $html .= $tp->processTemplate(
$template, $data );
93 return parent::doEditSectionLinksHTML( $links, $lang );
96 'class' =>
'mw-editsection',
97 'array-links' => $links
107 $printSource = Html::rawElement(
110 'class' =>
'printfooter',
111 'data-nosnippet' =>
''
115 $bodyContent = $out->getHTML() .
"\n" . $printSource;
119 $data = parent::getTemplateData() + [
124 'html-user-message' => $newTalksHtml ?
125 Html::rawElement(
'div', [
'class' =>
'usermessage' ], $newTalksHtml ) :
null,
127 'html-body-content' => $this->
wrapHTML( $out->getTitle(), $bodyContent ),
134 'link-mainpage' => Title::newMainPage()->getLocalURL(),
137 foreach ( $this->options[
'messages'] ?? [] as $message ) {
138 $data[
"msg-{$message}"] = $this->
msg( $message )->text();
145class_alias( SkinMustache::class,
'SkinMustache' );
msg( $key,... $params)
Get a Message object with context set Parameters are the same as wfMessage()
getContext()
Get the base IContextSource object.