revisionStore = $revisionStore; $this->commentFormatter = $commentFormatter; $this->linkBatchFactory = $linkBatchFactory; $this->tempUserConfig = $tempUserConfig; } /** * @inheritDoc */ protected function getPager( $target ) { if ( $this->pager === null ) { $this->pager = new DeletedContribsPager( $this->getHookContainer(), $this->getLinkRenderer(), $this->dbProvider, $this->revisionStore, $this->namespaceInfo, $this->commentFormatter, $this->linkBatchFactory, $this->userFactory, $this->getContext(), $this->opts, $target ); } return $this->pager; } /** @inheritDoc */ public function isIncludable() { return false; } /** * @inheritDoc */ protected function getUserLinks( SpecialPage $sp, User $target ) { $tools = parent::getUserLinks( $sp, $target ); $linkRenderer = $sp->getLinkRenderer(); $contributionsLink = $linkRenderer->makeKnownLink( SpecialPage::getTitleFor( 'Contributions', $target->getName() ), $this->msg( 'sp-deletedcontributions-contribs' )->text() ); if ( isset( $tools['deletedcontribs'] ) ) { // Swap out the deletedcontribs link for our contribs one $tools = wfArrayInsertAfter( $tools, [ 'contribs' => $contributionsLink ], 'deletedcontribs' ); unset( $tools['deletedcontribs'] ); } else { $tools['contribs'] = $contributionsLink; } return $tools; } /** @inheritDoc */ protected function getResultsPageTitleMessageKey( UserIdentity $target ) { // The following messages are generated here: // * deletedcontributions-title // * deletedcontributions-title-for-ip-when-temporary-accounts-enabled $messageKey = 'deletedcontributions-title'; if ( $this->tempUserConfig->isEnabled() && IPUtils::isIPAddress( $target->getName() ) ) { $messageKey .= '-for-ip-when-temporary-accounts-enabled'; } return $messageKey; } } /** @deprecated class alias since 1.41 */ class_alias( SpecialDeletedContributions::class, 'SpecialDeletedContributions' );