Index: maintenance/generateSitemap.php =================================================================== --- maintenance/generateSitemap.php (revision 30843) +++ maintenance/generateSitemap.php (working copy) @@ -162,6 +162,16 @@ * Generate a one-dimensional array of existing namespaces */ function generateNamespaces() { + /* + Use a subset of namespaces if it's defined + */ + global $wgSiteMapNamespaces, $wgSiteMapExcludeNamespaces; + if (is_array($wgSiteMapNamespaces)) + { + $this->namespaces = $wgSiteMapNamespaces; + return; + } + $fname = 'GenerateSitemap::generateNamespaces'; $res = $this->dbr->select( 'page', @@ -175,7 +185,14 @@ ); while ( $row = $this->dbr->fetchObject( $res ) ) + { + if (is_array($wgSiteMapExcludeNamespaces) + && array_key_exists($row->page_namespace, $wgSiteMapExcludeNamespaces)) + { + continue; + } $this->namespaces[] = $row->page_namespace; + } } /** @@ -367,9 +384,10 @@ * @return string */ function indexEntry( $filename ) { + global $wgServer; return "\t\n" . - "\t\t$filename\n" . + "\t\t" . $wgServer . "/$filename\n" . "\t\t{$this->timestamp}\n" . "\t\n"; }