From: Brion Vibber Date: Wed, 18 Jul 2007 20:05:58 +0000 (+0000) Subject: Revert r24237, r24239, r24245 for the moment. We expect transwiki system to change... X-Git-Tag: 1.31.0-rc.0~52025 X-Git-Url: http://git.cyclocoop.org/%28?a=commitdiff_plain;h=c3cd375df245937890e88b75d271763288f2cf78;p=lhc%2Fweb%2Fwiklou.git Revert r24237, r24239, r24245 for the moment. We expect transwiki system to change to allow multiple pages in a batch in future, and the implementation for renaming here seems a bit precarious. --- diff --git a/RELEASE-NOTES b/RELEASE-NOTES index 8358681571..7dfaefe3c2 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -152,8 +152,6 @@ it from source control: http://www.mediawiki.org/wiki/Download_from_SVN inline, as in most browsers * Pass the user as an argument to 'isValidPassword' hook callbacks; see docs/hooks.txt for more information -* (bug 6808) Allow import to different page name -* (bug 6436) Localization of Special:Import XML parser Error message(s). == Bugfixes since 1.10 == diff --git a/includes/SpecialImport.php b/includes/SpecialImport.php index c694e2bf56..8dee732d44 100644 --- a/includes/SpecialImport.php +++ b/includes/SpecialImport.php @@ -30,14 +30,12 @@ function wfSpecialImport( $page = '' ) { global $wgImportTargetNamespace; $interwiki = false; - $articleName = ''; $namespace = $wgImportTargetNamespace; $frompage = ''; $history = true; if( $wgRequest->wasPosted() && $wgRequest->getVal( 'action' ) == 'submit') { $isUpload = false; - $articleName = $wgRequest->getText( 'articlename' ); $namespace = $wgRequest->getIntOrNull( 'namespace' ); switch( $wgRequest->getVal( "source" ) ) { @@ -63,7 +61,7 @@ function wfSpecialImport( $page = '' ) { } if( WikiError::isError( $source ) ) { - $wgOut->addWikiText( '

' . wfMsg( "importfailed", wfEscapeWikiText( $source->getMessage() ) ) . '

' ); + $wgOut->addWikiText( wfEscapeWikiText( $source->getMessage() ) ); } else { $wgOut->addWikiText( wfMsg( "importstart" ) ); @@ -71,26 +69,19 @@ function wfSpecialImport( $page = '' ) { if( !is_null( $namespace ) ) { $importer->setTargetNamespace( $namespace ); } - if( $articleName !== '' ) { - $importer->setTargetArticleName( $articleName ); - } - $reporter = new ImportReporter( $importer, $isUpload, $interwiki, $frompage ); + $reporter = new ImportReporter( $importer, $isUpload, $interwiki ); $reporter->open(); $result = $importer->doImport(); - $resultCount = $reporter->close(); + $reporter->close(); if( WikiError::isError( $result ) ) { - # No source or XML parse error - $wgOut->addWikiText( '

' . wfMsg( "importfailed", wfEscapeWikiText( $result->getMessage() ) ) . '

' ); - } elseif( WikiError::isError( $resultCount ) ) { - # Zero revisions - $wgOut->addWikiText( '

' . wfMsg( "importfailed", wfEscapeWikiText( $resultCount->getMessage() ) ) . '

' ); + $wgOut->addWikiText( wfMsg( "importfailed", + wfEscapeWikiText( $result->getMessage() ) ) ); } else { # Success! $wgOut->addWikiText( wfMsg( "importsuccess" ) ); } - $wgOut->addWikiText( '
' ); } } @@ -98,17 +89,18 @@ function wfSpecialImport( $page = '' ) { if( $wgUser->isAllowed( 'importupload' ) ) { $wgOut->addWikiText( wfMsg( "importtext" ) ); - $wgOut->addHTML( - Xml::openElement( 'fieldset' ). - Xml::element( 'legend', null, wfMsg( 'upload' ) ) . - Xml::openElement( 'form', array( 'enctype' => 'multipart/form-data', 'method' => 'post', 'action' => $action ) ) . - Xml::hidden( 'action', 'submit' ) . - Xml::hidden( 'source', 'upload' ) . - Xml::hidden( 'MAX_FILE_SIZE', '2000000' ) . - "" . // No Xml function for type=file? Todo? - Xml::submitButton( wfMsg( 'uploadbtn' ) ) . - Xml::closeElement( 'form' ) . - Xml::closeElement( 'fieldset' ) ); + $wgOut->addHTML( " +
+ " . wfMsgHtml('upload') . " +
+ + + + + +
+
+" ); } else { if( empty( $wgImportSources ) ) { $wgOut->addWikiText( wfMsg( 'importnosources' ) ); @@ -116,57 +108,53 @@ function wfSpecialImport( $page = '' ) { } if( !empty( $wgImportSources ) ) { - $wgOut->addHTML( - Xml::openElement( 'fieldset' ) . - Xml::element( 'legend', null, wfMsg( 'importinterwiki' ) ) . - Xml::openElement( 'form', array( 'method' => 'post', 'action' => $action ) ) . - wfMsgExt( 'import-interwiki-text', array( 'parse' ) ) . - Xml::hidden( 'action', 'submit' ) . - Xml::hidden( 'source', 'interwiki' ) . - Xml::openElement( 'table' ) . - " - " . - Xml::openElement( 'select', array( 'name' => 'interwiki' ) ) ); + $wgOut->addHTML( " +
+ " . wfMsgHtml('importinterwiki') . " +
" . + $wgOut->parse( wfMsg( 'import-interwiki-text' ) ) . " + + + + + + $wgOut->addHTML( " + + - + - - - - " . - Xml::closeElement( 'table' ). - Xml::closeElement( 'form' ) . - Xml::closeElement( 'fieldset' ) ); +
+ " . - Xml::input( 'frompage', 50, $frompage ) . + wfInput( 'frompage', 50, $frompage ) . "
" . - Xml::checkLabel( wfMsg( 'import-interwiki-history' ), 'interwikiHistory', 'interwikiHistory', $history ) . + wfCheckLabel( wfMsg( 'import-interwiki-history' ), + 'interwikiHistory', 'interwikiHistory', $history ) . "
" . - Xml::inputLabel( wfMsg( 'import-articlename' ), 'articlename', 'articlename', 50, $articleName ) . - " + " . wfMsgHtml( 'import-interwiki-namespace' ) . " " . + HTMLnamespaceselector( $namespace, '' ) . " +
" . - Xml::label( wfMsg( 'import-interwiki-namespace' ), 'namespace' ) . - Xml::namespaceSelector( $namespace, '' ) . + wfSubmitButton( wfMsg( 'import-interwiki-submit' ) ) . "
" . - Xml::submitButton( wfMsg( 'import-interwiki-submit' ) ) . - "
+
+
+" ); } } @@ -175,12 +163,11 @@ function wfSpecialImport( $page = '' ) { * @addtogroup SpecialPage */ class ImportReporter { - function __construct( $importer, $upload, $interwiki, $frompage ) { + function __construct( $importer, $upload, $interwiki ) { $importer->setPageOutCallback( array( $this, 'reportPage' ) ); $this->mPageCount = 0; $this->mIsUpload = $upload; $this->mInterwiki = $interwiki; - $this->mFrompage = $frompage; } function open() { @@ -198,23 +185,20 @@ class ImportReporter { $localCount = $wgLang->formatNum( $successCount ); $contentCount = $wgContLang->formatNum( $successCount ); - if( $successCount > 0 ) { - $wgOut->addHtml( "
  • " . $skin->makeKnownLinkObj( $title ) . - " " . - wfMsgExt( 'import-revision-count', array( 'parsemag', 'escape' ), $localCount ) . - "
  • \n" ); + $wgOut->addHtml( "
  • " . $skin->makeKnownLinkObj( $title ) . + " " . + wfMsgExt( 'import-revision-count', array( 'parsemag', 'escape' ), $localCount ) . + "
  • \n" ); + if( $successCount > 0 ) { $log = new LogPage( 'import' ); if( $this->mIsUpload ) { $detail = wfMsgForContent( 'import-logentry-upload-detail', $contentCount ); $log->addEntry( 'upload', $title, $detail ); } else { - // Show the source article name in log - $origin = $this->mFrompage != $origTitle->getPrefixedText() - ? $this->mFrompage - : $origTitle->getPrefixedText(); - $interwiki = '[[:' . $this->mInterwiki . ':' . $origin . ']]'; + $interwiki = '[[:' . $this->mInterwiki . ':' . + $origTitle->getPrefixedText() . ']]'; $detail = wfMsgForContent( 'import-logentry-interwiki-detail', $contentCount, $interwiki ); $log->addEntry( 'interwiki', $title, $detail ); @@ -225,21 +209,15 @@ class ImportReporter { $nullRevision = Revision::newNullRevision( $dbw, $title->getArticleId(), $comment, true ); $nullRevision->insertOn( $dbw ); - } else { - $wgOut->addHtml( '
  • ' . wfMsgExt( 'import-nonewrevisions', array( 'parse', ) ) . '
  • ' ); } - } function close() { global $wgOut; if( $this->mPageCount == 0 ) { - $wgOut->addHtml( "\n" ); - return new WikiErrorMsg( "importnopages" ); + $wgOut->addHtml( "
  • " . wfMsgHtml( 'importnopages' ) . "
  • \n" ); } $wgOut->addHtml( "\n" ); - - return $this->mPageCount; } } @@ -415,7 +393,6 @@ class WikiImporter { var $mPageOutCallback = null; var $mRevisionCallback = null; var $mTargetNamespace = null; - var $mTargetArticleName = null; var $lastfield; function WikiImporter( $source ) { @@ -448,7 +425,7 @@ class WikiImporter { $chunk = $this->mSource->readChunk(); if( !xml_parse( $parser, $chunk, $this->mSource->atEnd() ) ) { wfDebug( "WikiImporter::doImport encountered XML parsing error\n" ); - return new WikiXmlError( $parser, wfMsgHtml( 'import-parse-failure' ), $chunk, $offset ); + return new WikiXmlError( $parser, 'XML import parse failure', $chunk, $offset ); } $offset += strlen( $chunk ); } while( $chunk !== false && !$this->mSource->atEnd() ); @@ -523,13 +500,6 @@ class WikiImporter { } } - /** - * Set a target articlename to override the defaults - */ - function setTargetArticleName( $articleName ) { - $this->mTargetArticleName = $articleName; - } - /** * Default per-revision callback, performs the import. * @param WikiRevision $revision @@ -707,11 +677,6 @@ class WikiImporter { switch( $this->appendfield ) { case "title": $this->workTitle = $this->appenddata; - - if( $this->mTargetArticleName != '' ) { - // Import article with a different target article name - $this->workTitle = $this->mTargetArticleName; - } $this->origTitle = Title::newFromText( $this->workTitle ); if( !is_null( $this->mTargetNamespace ) && !is_null( $this->origTitle ) ) { $this->pageTitle = Title::makeTitle( $this->mTargetNamespace, @@ -911,9 +876,6 @@ class ImportStreamSource { } public static function newFromInterwiki( $interwiki, $page, $history=false ) { - if( $page == '' ) { - return new WikiErrorMsg( 'import-noarticle' ); - } $link = Title::newFromText( "$interwiki:Special:Export/$page" ); if( is_null( $link ) || $link->getInterwiki() == '' ) { return new WikiErrorMsg( 'importbadinterwiki' ); diff --git a/includes/WikiError.php b/includes/WikiError.php index d334066f54..efb645bbd6 100644 --- a/includes/WikiError.php +++ b/includes/WikiError.php @@ -101,7 +101,7 @@ class WikiXmlError extends WikiError { /** @return string */ function getMessage() { - return sprintf( wfMsgHtml( 'xml-error-string', '%s', '%d', '%d', '%d%s', '%s' ), + return sprintf( '%s at line %d, col %d (byte %d%s): %s', $this->mMessage, $this->mLine, $this->mColumn, diff --git a/languages/messages/MessagesDe.php b/languages/messages/MessagesDe.php index 043e5faf05..a24f309975 100644 --- a/languages/messages/MessagesDe.php +++ b/languages/messages/MessagesDe.php @@ -1726,24 +1726,19 @@ Alle Transwiki Import-Aktionen werden im [[Special:Log/import|Import-Logbuch]] p 'import-interwiki-submit' => 'Import', 'import-interwiki-namespace' => 'Importiere die Seite in den Namensraum:', 'importtext' => 'Auf dieser Spezialseite können über [[{{ns:special}}:Export]] exportierte Seiten in dieses Wiki importiert werden.', -'importstart' => 'Importiere Seite …', +'importstart' => 'Importiere Seiten …', 'import-revision-count' => '– {{PLURAL:$1|1 Version|$1 Versionen}}', -'importnopages' => 'Keine Seite zum Importieren vorhanden.', +'importnopages' => 'Keine Seiten zum Importieren vorhanden.', 'importfailed' => 'Import fehlgeschlagen: $1', 'importunknownsource' => 'Unbekannte Importquelle', 'importcantopen' => 'Importdatei konnte nicht geöffnet werden', 'importbadinterwiki' => 'Falscher Interwiki-Link', 'importnotext' => 'Leer oder kein Text', -'importsuccess' => 'Import abgeschlossen!', +'importsuccess' => 'Import erfolgreich!', 'importhistoryconflict' => 'Es existieren bereits ältere Versionen, welche mit diesen kollidieren. Möglicherweise wurde die Seite bereits vorher importiert.', 'importnosources' => 'Für den Transwiki-Import sind keine Quellen definiert. Das direkte Hochladen von Versionen ist gesperrt.', 'importnofile' => 'Es ist keine Importdatei ausgewählt worden!', 'importuploaderror' => 'Das Hochladen der Importdatei ist fehlgeschlagen. Vielleicht ist die Datei größer als erlaubt.', -'import-parse-failure' => 'Fehler beim XML-Import:', -'import-articlename' => 'Neuer Artikelname:', -'import-noarticle' => 'Es wurde kein zu importierender Artikel angegeben!', -'import-nonewrevisions' => 'Es sind keine neuen Versionen zum Import vorhanden, alle Versionen wurden bereits früher importiert.', -'xml-error-string' => '$1 Zeile $2, Spalte $3, (Byte $4): $5' , # Import log 'importlogpage' => 'Import-Logbuch', diff --git a/languages/messages/MessagesEn.php b/languages/messages/MessagesEn.php index d94aadff88..a741eca4a1 100644 --- a/languages/messages/MessagesEn.php +++ b/languages/messages/MessagesEn.php @@ -2158,16 +2158,11 @@ All transwiki import actions are logged at the [[Special:Log/import|import log]] 'importcantopen' => "Couldn't open import file", 'importbadinterwiki' => 'Bad interwiki link', 'importnotext' => 'Empty or no text', -'importsuccess' => 'Import finished!', +'importsuccess' => 'Import succeeded!', 'importhistoryconflict' => 'Conflicting history revision exists (may have imported this page before)', 'importnosources' => 'No transwiki import sources have been defined and direct history uploads are disabled.', 'importnofile' => 'No import file was uploaded.', 'importuploaderror' => 'Upload of import file failed; perhaps the file is bigger than the allowed upload size.', -'import-parse-failure' => 'XML import parse failure', -'import-articlename' => 'New article name:', -'import-noarticle' => 'No article to import!', -'import-nonewrevisions' => 'All revisions were previously imported.', -'xml-error-string' => '$1 at line $2, col $3 (byte $4): $5', # Import log 'importlogpage' => 'Import log', diff --git a/maintenance/language/messages.inc b/maintenance/language/messages.inc index cd6a3ee99c..fa0cfb8ed9 100644 --- a/maintenance/language/messages.inc +++ b/maintenance/language/messages.inc @@ -1441,11 +1441,6 @@ $wgMessageStructure = array( 'importnosources', 'importnofile', 'importuploaderror', - 'import-parse-failure', - 'import-articlename', - 'import-noarticle', - 'import-nonewrevisions', - 'xml-error-string', ), 'importlog' => array( 'importlogpage',