100, we look for a local namespace with * a matching namespace name. If that can't be found, we dump the page in the * main namespace as a last resort. */ class NaiveImportTitleFactory implements ImportTitleFactory { /** * Determines which local title best corresponds to the given foreign title. * If such a title can't be found or would be locally invalid, null is * returned. * * @param ForeignTitle $foreignTitle The ForeignTitle to convert * @return Title|null */ public function createTitleFromForeignTitle( ForeignTitle $foreignTitle ) { global $wgContLang; if ( $foreignTitle->isNamespaceIdKnown() ) { $foreignNs = $foreignTitle->getNamespaceId(); // For built-in namespaces (0 <= ID < 100), we try to find a local NS with // the same namespace ID if ( $foreignNs < 100 && MWNamespace::exists( $foreignNs ) ) { return Title::makeTitleSafe( $foreignNs, $foreignTitle->getText() ); } } // Do we have a local namespace by the same name as the foreign // namespace? $targetNs = $wgContLang->getNsIndex( $foreignTitle->getNamespaceName() ); if ( $targetNs !== false ) { return Title::makeTitleSafe( $targetNs, $foreignTitle->getText() ); } // Otherwise, just fall back to main namespace return Title::makeTitleSafe( 0, $foreignTitle->getFullText() ); } }