+
+ private function expandSymbolicNamespaceFilters( array $namespaces ) {
+ $nsInfo = MediaWikiServices::getInstance()->getNamespaceInfo();
+ $symbolicFilters = [
+ 'all-contents' => $nsInfo->getSubjectNamespaces(),
+ 'all-discussions' => $nsInfo->getTalkNamespaces(),
+ ];
+ $additionalNamespaces = [];
+ foreach ( $symbolicFilters as $name => $values ) {
+ if ( in_array( $name, $namespaces ) ) {
+ $additionalNamespaces = array_merge( $additionalNamespaces, $values );
+ }
+ }
+ $namespaces = array_diff( $namespaces, array_keys( $symbolicFilters ) );
+ $namespaces = array_merge( $namespaces, $additionalNamespaces );
+ return array_unique( $namespaces );
+ }