loginUrl = SkinComponentUtils::makeSpecialUrl( 'Userlogin', $returnto ); $this->createAccountUrl = SkinComponentUtils::makeSpecialUrl( 'CreateAccount', $returnto ); $this->localizer = $localizer; $this->isTempUser = $user->isTemp(); $this->username = $user->getName(); // getUser $this->userpageUrl = $user->getUserPage()->getFullURL(); } private function createLoginLink() { return Html::element( 'a', [ 'href' => $this->loginUrl, 'id' => 'pt-login', 'title' => $this->localizer->msg( 'tooltip-pt-login' )->text(), 'class' => 'cdx-button cdx-button--fake-button cdx-button--fake-button--enabled' ], $this->localizer->msg( 'pt-login' )->text() ); } private function createAccountLink() { return Html::element( 'a', [ 'href' => $this->createAccountUrl, 'id' => 'pt-createaccount', 'title' => $this->localizer->msg( 'tooltip-pt-createaccount' )->text(), 'class' => 'cdx-button cdx-button--fake-button cdx-button--fake-button--enabled' ], $this->localizer->msg( 'pt-createaccount' )->text() ); } private function renderBannerHTML() { return Html::rawElement( 'div', [ 'class' => 'mw-temp-user-banner' ], Html::rawElement( 'p', [], $this->localizer->msg( 'temp-user-banner-description' )->escaped() . $this->localizer->msg( 'colon-separator' )->escaped() . Html::element( 'span', [ 'class' => 'mw-temp-user-banner-username' ], $this->username ) ) . HTML::rawElement( 'div', [ 'class' => 'mw-temp-user-banner-tooltip' ], HTML::rawElement( 'button', [ 'id' => 'mw-temp-user-banner-tooltip-button', 'class' => 'mw-temp-user-banner-tooltip-summary cdx-button ' . 'cdx-button--icon-only cdx-button--weight-quiet', 'aria-label' => $this->localizer->msg( 'temp-user-banner-tooltip-label' ) ], HTML::element( 'span', [ 'class' => 'mw-temp-user-banner-tooltip-icon ' ] ) ) ) . HTML::rawElement( 'div', [ 'class' => 'mw-temp-user-banner-buttons' ], $this->createLoginLink() . $this->createAccountLink() ) ); } /** * @inheritDoc */ public function getTemplateData(): array { return [ 'html' => ( $this->isTempUser ) ? $this->renderBannerHTML() : '' ]; } }