mDescription = "Cache sites as json for file-based lookup."; $this->addOption( 'file', 'File to output the json to', false, true ); } public function execute() { $sitesCacheFileBuilder = new SitesCacheFileBuilder( new DBSiteStore(), $this->getCacheFile() ); $sitesCacheFileBuilder->build(); } /** * @return string */ private function getCacheFile() { if ( $this->hasOption( 'file' ) ) { $jsonFile = $this->getOption( 'file' ); } else { $jsonFile = $this->getConfig()->get( 'SitesCacheFile' ); if ( $jsonFile === false ) { $this->error( 'Error: No file set in configuration for SitesCacheFile.', 1 ); } } return $jsonFile; } } $maintClass = "RebuildSitesCache"; require_once RUN_MAINTENANCE_IF_MAIN;