/**
  * Getter for $aNavigationSites array
  * @param boolean $bForceReload
  * @return array
  */
 public static function getNavigationSites($bForceReload = false)
 {
     if (!$bForceReload && !is_null(self::$aNavigationSites)) {
         return self::$aNavigationSites;
     }
     self::$aNavigationSites = array();
     $oTopBarMenuTitle = Title::makeTitle(NS_MEDIAWIKI, 'TopBarMenu');
     if (is_null($oTopBarMenuTitle) || !$oTopBarMenuTitle->exists()) {
         return self::$aNavigationSites;
     }
     $sContent = BsPageContentProvider::getInstance()->getContentFromTitle($oTopBarMenuTitle);
     $aLines = explode("\n", trim($sContent));
     $iMaxMainEntries = BsConfig::get('MW::TopMenuBarCustomizer::NumberOfMainEntries');
     $iMaxSubEntries = BsConfig::get('MW::TopMenuBarCustomizer::NumberOfSubEntries');
     $iAllowedLevels = BsConfig::get('MW::TopMenuBarCustomizer::NuberOfLevels');
     self::$aNavigationSites = self::parseArticleContentLines($aLines, $iAllowedLevels, $iMaxMainEntries, $iMaxSubEntries);
     return self::$aNavigationSites;
 }
 /**
  * Hook-Handle for MW hook EditFormPreloadText
  * @param string $sText
  * @param Title $oTitle
  * @return boolean - always true
  */
 public function onEditFormPreloadText(&$sText, $oTitle)
 {
     $oTopBarMenuTitle = Title::makeTitle(NS_MEDIAWIKI, 'TopBarMenu');
     if (!$oTopBarMenuTitle || !$oTitle->equals($oTopBarMenuTitle)) {
         return true;
     }
     $aNavigationSites = self::getNavigationSites();
     if (empty($aNavigationSites)) {
         return true;
     }
     $sText = TopMenuBarCustomizerParser::toWikiText($aNavigationSites, $sText);
     return true;
 }