Deprecfate WikiRevision::getText
[lhc/web/wiklou.git] / includes / import / WikiRevision.php
index d2cf7f6..1e866f3 100644 (file)
@@ -319,7 +319,7 @@ class WikiRevision {
         * @deprecated Since 1.21, use getContent() instead.
         */
        function getText() {
-               ContentHandler::deprecated( __METHOD__, '1.21' );
+               wfDeprecated( __METHOD__, '1.21' );
 
                return $this->text;
        }
@@ -488,10 +488,10 @@ class WikiRevision {
                        $created = false;
 
                        $prior = $dbw->selectField( 'revision', '1',
-                               array( 'rev_page' => $pageId,
+                               [ 'rev_page' => $pageId,
                                        'rev_timestamp' => $dbw->timestamp( $this->timestamp ),
                                        'rev_user_text' => $userText,
-                                       'rev_comment' => $this->getComment() ),
+                                       'rev_comment' => $this->getComment() ],
                                __METHOD__
                        );
                        if ( $prior ) {
@@ -514,21 +514,21 @@ class WikiRevision {
                // @todo This assumes that multiple revisions of the same page are imported
                // in order from oldest to newest.
                $prevId = $dbw->selectField( 'revision', 'rev_id',
-                       array(
+                       [
                                'rev_page' => $pageId,
                                'rev_timestamp <= ' . $dbw->addQuotes( $dbw->timestamp( $this->timestamp ) ),
-                       ),
+                       ],
                        __METHOD__,
-                       array( 'ORDER BY' => array(
+                       [ 'ORDER BY' => [
                                        'rev_timestamp DESC',
                                        'rev_id DESC', // timestamp is not unique per page
-                               )
-                       )
+                               ]
+                       ]
                );
 
                # @todo FIXME: Use original rev_id optionally (better for backups)
                # Insert the row
-               $revision = new Revision( array(
+               $revision = new Revision( [
                        'title' => $this->title,
                        'page' => $pageId,
                        'content_model' => $this->getModel(),
@@ -541,7 +541,7 @@ class WikiRevision {
                        'timestamp' => $this->timestamp,
                        'minor_edit' => $this->minor,
                        'parent_id' => $prevId,
-                       ) );
+                       ] );
                $revision->insertOn( $dbw );
                $changed = $page->updateIfNewerOn( $dbw, $revision );
 
@@ -551,7 +551,7 @@ class WikiRevision {
                        $page->doEditUpdates(
                                $revision,
                                $user,
-                               array( 'created' => $created, 'oldcountable' => 'no-change' )
+                               [ 'created' => $created, 'oldcountable' => 'no-change' ]
                        );
                }
 
@@ -574,19 +574,19 @@ class WikiRevision {
                if ( !$this->getTitle() ) {
                        wfDebug( __METHOD__ . ": skipping invalid {$this->type}/{$this->action} log time, timestamp " .
                                $this->timestamp . "\n" );
-                       return;
+                       return false;
                }
                # Check if it exists already
                // @todo FIXME: Use original log ID (better for backups)
                $prior = $dbw->selectField( 'logging', '1',
-                       array( 'log_type' => $this->getType(),
+                       [ 'log_type' => $this->getType(),
                                'log_action' => $this->getAction(),
                                'log_timestamp' => $dbw->timestamp( $this->timestamp ),
                                'log_namespace' => $this->getTitle()->getNamespace(),
                                'log_title' => $this->getTitle()->getDBkey(),
                                'log_comment' => $this->getComment(),
                                # 'log_user_text' => $this->user_text,
-                               'log_params' => $this->params ),
+                               'log_params' => $this->params ],
                        __METHOD__
                );
                // @todo FIXME: This could fail slightly for multiple matches :P
@@ -594,10 +594,10 @@ class WikiRevision {
                        wfDebug( __METHOD__
                                . ": skipping existing item for Log:{$this->type}/{$this->action}, timestamp "
                                . $this->timestamp . "\n" );
-                       return;
+                       return false;
                }
                $log_id = $dbw->nextSequenceValue( 'logging_log_id_seq' );
-               $data = array(
+               $data = [
                        'log_id' => $log_id,
                        'log_type' => $this->type,
                        'log_action' => $this->action,
@@ -608,8 +608,10 @@ class WikiRevision {
                        'log_title' => $this->getTitle()->getDBkey(),
                        'log_comment' => $this->getComment(),
                        'log_params' => $this->params
-               );
+               ];
                $dbw->insert( 'logging', $data, __METHOD__ );
+
+               return true;
        }
 
        /**
@@ -640,22 +642,24 @@ class WikiRevision {
 
                # Get the file source or download if necessary
                $source = $this->getFileSrc();
-               $flags = $this->isTempSrc() ? File::DELETE_SOURCE : 0;
-               if ( !$source ) {
+               $autoDeleteSource = $this->isTempSrc();
+               if ( !strlen( $source ) ) {
                        $source = $this->downloadSource();
-                       $flags |= File::DELETE_SOURCE;
+                       $autoDeleteSource = true;
                }
-               if ( !$source ) {
+               if ( !strlen( $source ) ) {
                        wfDebug( __METHOD__ . ": Could not fetch remote file.\n" );
                        return false;
                }
+
+               $tmpFile = new TempFSFile( $source );
+               if ( $autoDeleteSource ) {
+                       $tmpFile->autocollect();
+               }
+
                $sha1File = ltrim( sha1_file( $source ), '0' );
                $sha1 = $this->getSha1();
                if ( $sha1 && ( $sha1 !== $sha1File ) ) {
-                       if ( $flags & File::DELETE_SOURCE ) {
-                               # Broken file; delete it if it is a temporary file
-                               unlink( $source );
-                       }
                        wfDebug( __METHOD__ . ": Corrupt file $source.\n" );
                        return false;
                }
@@ -665,8 +669,9 @@ class WikiRevision {
                # Do the actual upload
                if ( $archiveName ) {
                        $status = $file->uploadOld( $source, $archiveName,
-                               $this->getTimestamp(), $this->getComment(), $user, $flags );
+                               $this->getTimestamp(), $this->getComment(), $user );
                } else {
+                       $flags = 0;
                        $status = $file->upload( $source, $this->getComment(), $this->getComment(),
                                $flags, false, $this->getTimestamp(), $user );
                }
@@ -697,7 +702,7 @@ class WikiRevision {
 
                // @todo FIXME!
                $src = $this->getSrc();
-               $data = Http::get( $src, array(), __METHOD__ );
+               $data = Http::get( $src, [], __METHOD__ );
                if ( !$data ) {
                        wfDebug( "IMPORT: couldn't fetch source $src\n" );
                        fclose( $f );