* (bug 28417) Fix PHP notice when importing revision without a listed id
authorBrion Vibber <brion@users.mediawiki.org>
Mon, 4 Apr 2011 19:06:01 +0000 (19:06 +0000)
committerBrion Vibber <brion@users.mediawiki.org>
Mon, 4 Apr 2011 19:06:01 +0000 (19:06 +0000)
RELEASE-NOTES
includes/Import.php

index a1036fb..237f954 100644 (file)
@@ -216,6 +216,7 @@ PHP if you have not done so prior to upgrading MediaWiki.
   submitted the form.
 * (bug 27893) Edit-on-doubleclick now applies only on view and purge actions;
   no longer triggers unexpectedly on delete, history etc.
+* (bug 28417) Fix PHP notice when importing revision without a listed id
 
 === API changes in 1.18 ===
 * (bug 26339) Throw warning when truncating an overlarge API result
index 6d9c95c..f027f1a 100644 (file)
@@ -546,18 +546,27 @@ class WikiImporter {
        private function processRevision( $pageInfo, $revisionInfo ) {
                $revision = new WikiRevision;
 
-               $revision->setID( $revisionInfo['id'] );
-               $revision->setText( $revisionInfo['text'] );
+               if( isset( $revisionInfo['id'] ) ) {
+                       $revision->setID( $revisionInfo['id'] );
+               }
+               if ( isset( $revisionInfo['text'] ) ) {
+                       $revision->setText( $revisionInfo['text'] );
+               }
                $revision->setTitle( $pageInfo['_title'] );
-               $revision->setTimestamp( $revisionInfo['timestamp'] );
+
+               if ( isset( $revisionInfo['timestamp'] ) ) {
+                       $revision->setTimestamp( $revisionInfo['timestamp'] );
+               } else {
+                       $revision->setTimestamp( wfTimestampNow() );
+               }
 
                if ( isset( $revisionInfo['comment'] ) ) {
                        $revision->setComment( $revisionInfo['comment'] );
                }
 
-               if ( isset( $revisionInfo['minor'] ) )
+               if ( isset( $revisionInfo['minor'] ) ) {
                        $revision->setMinor( true );
-
+               }
                if ( isset( $revisionInfo['contributor']['ip'] ) ) {
                        $revision->setUserIP( $revisionInfo['contributor']['ip'] );
                }