showMobileOptions = $showMobileOptions; $this->showDonateLink = $showDonateLink; $this->definitions = $definitions; } /** * @inheritDoc */ public function getPersonalToolsGroup( array $personalTools ): Group { return BuilderUtil::getConfigurationTools( $this->definitions, $this->showMobileOptions ); } /** * @inheritDoc */ public function getDiscoveryGroup( array $navigationTools ): Group { return BuilderUtil::getDiscoveryTools( $this->definitions, $navigationTools ); } /** * @inheritDoc */ public function getDonateGroup(): Group { return BuilderUtil::getDonateGroup( $this->definitions, $this->showDonateLink ); } /** * @inheritDoc * @throws FatalError * @throws MWException */ public function getSiteLinks(): Group { return BuilderUtil::getSiteLinks( $this->definitions ); } /** * Prepares a list of links that have the purpose of discovery in the main navigation menu * @return Group * @throws FatalError * @throws MWException */ public function getInteractionToolsGroup(): Group { $group = new Group( 'p-interaction' ); $this->definitions->insertRecentChanges( $group ); $this->definitions->insertSpecialPages( $group ); $this->definitions->insertCommunityPortal( $group ); // Allow other extensions to add or override tools Hooks::run( 'MobileMenu', [ 'sitetools', &$group ], '1.38' ); return $group; } }