From e7e4e4fbf5a54170684a3c3587a2198c4a3ed45b Mon Sep 17 00:00:00 2001 From: Alexandre Emsenhuber Date: Fri, 6 Jan 2012 12:06:13 +0000 Subject: [PATCH] * Don't allow to import a page in the Media: namespace, this didn't work just because WikiPage::factory() throws an exception when a Title in NS_MEDIA is passed * Added localised message when trying to import a page with an interwiki prefix --- includes/Import.php | 7 +++++-- languages/messages/MessagesEn.php | 2 ++ maintenance/language/messages.inc | 2 ++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/includes/Import.php b/includes/Import.php index bc02669429..c79b963273 100644 --- a/includes/Import.php +++ b/includes/Import.php @@ -782,8 +782,11 @@ class WikiImporter { # Invalid page title? Ignore the page $this->notice( "Skipping invalid page title '$workTitle'" ); return false; - } elseif( $title->getInterwiki() != '' ) { - $this->notice( "Skipping interwiki page title '$workTitle'" ); + } elseif( $title->isExternal() ) { + $this->notice( wfMessage( 'import-error-interwiki', $title->getText() )->text() ); + return false; + } elseif( !$title->canExist() ) { + $this->notice( wfMessage( 'import-error-special', $title->getText() )->text() ); return false; } elseif( !$title->userCan( 'edit' ) && !$wgCommandLineMode ) { # Do not import if the importing wiki user cannot edit this page diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index 2fe09faa85..b9963b60ff 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -3398,6 +3398,8 @@ Please try again.', 'import-invalid-interwiki' => 'Cannot import from the specified wiki.', 'import-error-edit' => 'Page "$1" is not imported because you are not allowed to edit it.', 'import-error-create' => 'Page "$1" is not imported because you are not allowed to create it.', +'import-error-interwiki' => 'Page "$1" is not imported because its name is reserved for external linking (interwiki).', +'import-error-special' => 'Page "$1" is not imported because it belongs to a special namespace that does not allow pages.', # Import log 'importlogpage' => 'Import log', diff --git a/maintenance/language/messages.inc b/maintenance/language/messages.inc index 3ee01b6be2..3d1f403d40 100644 --- a/maintenance/language/messages.inc +++ b/maintenance/language/messages.inc @@ -2353,6 +2353,8 @@ $wgMessageStructure = array( 'import-invalid-interwiki', 'import-error-edit', 'import-error-create', + 'import-error-interwiki', + 'import-error-special', ), 'importlog' => array( 'importlogpage', -- 2.20.1