Merge "Provide backwards compatibility for RevisionInsertComplete hook."
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Wed, 13 Jun 2018 20:07:02 +0000 (20:07 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Wed, 13 Jun 2018 20:07:02 +0000 (20:07 +0000)
1  2 
includes/Revision.php
includes/Storage/RevisionStore.php

diff --combined includes/Revision.php
@@@ -581,11 -581,11 +581,11 @@@ class Revision implements IDBAccessObje
                                return $row['title'];
                        }
  
 -                      $pageId = isset( $row['page'] ) ? $row['page'] : 0;
 -                      $revId = isset( $row['id'] ) ? $row['id'] : 0;
 +                      $pageId = $row['page'] ?? 0;
 +                      $revId = $row['id'] ?? 0;
                } else {
 -                      $pageId = isset( $row->rev_page ) ? $row->rev_page : 0;
 -                      $revId = isset( $row->rev_id ) ? $row->rev_id : 0;
 +                      $pageId = $row->rev_page ?? 0;
 +                      $revId = $row->rev_id ?? 0;
                }
  
                try {
  
                // Avoid PHP 7.1 warning of passing $this by reference
                $revision = $this;
-               // TODO: hard-deprecate in 1.32 (or even 1.31?)
-               Hooks::run( 'RevisionInsertComplete', [ &$revision, null, null ] );
  
                return $rec->getId();
        }
@@@ -47,6 -47,7 +47,7 @@@ use Psr\Log\LoggerAwareInterface
  use Psr\Log\LoggerInterface;
  use Psr\Log\NullLogger;
  use RecentChange;
+ use Revision;
  use stdClass;
  use Title;
  use User;
@@@ -489,6 -490,10 +490,10 @@@ class RevisionStor
  
                Hooks::run( 'RevisionRecordInserted', [ $rev ] );
  
+               // TODO: deprecate in 1.32!
+               $legacyRevision = new Revision( $rev );
+               Hooks::run( 'RevisionInsertComplete', [ &$legacyRevision, null, null ] );
                return $rev;
        }
  
  
                try {
                        $user = User::newFromAnyId(
 -                              isset( $row->ar_user ) ? $row->ar_user : null,
 -                              isset( $row->ar_user_text ) ? $row->ar_user_text : null,
 -                              isset( $row->ar_actor ) ? $row->ar_actor : null
 +                              $row->ar_user ?? null,
 +                              $row->ar_user_text ?? null,
 +                              $row->ar_actor ?? null
                        );
                } catch ( InvalidArgumentException $ex ) {
                        wfWarn( __METHOD__ . ': ' . $ex->getMessage() );
                Assert::parameterType( 'object', $row, '$row' );
  
                if ( !$title ) {
 -                      $pageId = isset( $row->rev_page ) ? $row->rev_page : 0; // XXX: also check page_id?
 -                      $revId = isset( $row->rev_id ) ? $row->rev_id : 0;
 +                      $pageId = $row->rev_page ?? 0; // XXX: also check page_id?
 +                      $revId = $row->rev_id ?? 0;
  
                        $title = $this->getTitle( $pageId, $revId, $queryFlags );
                }
  
                try {
                        $user = User::newFromAnyId(
 -                              isset( $row->rev_user ) ? $row->rev_user : null,
 -                              isset( $row->rev_user_text ) ? $row->rev_user_text : null,
 -                              isset( $row->rev_actor ) ? $row->rev_actor : null
 +                              $row->rev_user ?? null,
 +                              $row->rev_user_text ?? null,
 +                              $row->rev_actor ?? null
                        );
                } catch ( InvalidArgumentException $ex ) {
                        wfWarn( __METHOD__ . ': ' . $ex->getMessage() );
                }
  
                if ( !$title ) {
 -                      $pageId = isset( $fields['page'] ) ? $fields['page'] : 0;
 -                      $revId = isset( $fields['id'] ) ? $fields['id'] : 0;
 +                      $pageId = $fields['page'] ?? 0;
 +                      $revId = $fields['id'] ?? 0;
  
                        $title = $this->getTitle( $pageId, $revId, $queryFlags );
                }
                        isset( $fields['comment'] )
                        && !( $fields['comment'] instanceof CommentStoreComment )
                ) {
 -                      $commentData = isset( $fields['comment_data'] ) ? $fields['comment_data'] : null;
 +                      $commentData = $fields['comment_data'] ?? null;
  
                        if ( $fields['comment'] instanceof Message ) {
                                $fields['comment'] = CommentStoreComment::newUnsavedComment(
                } else {
                        try {
                                $user = User::newFromAnyId(
 -                                      isset( $fields['user'] ) ? $fields['user'] : null,
 -                                      isset( $fields['user_text'] ) ? $fields['user_text'] : null,
 -                                      isset( $fields['actor'] ) ? $fields['actor'] : null
 +                                      $fields['user'] ?? null,
 +                                      $fields['user_text'] ?? null,
 +                                      $fields['actor'] ?? null
                                );
                        } catch ( InvalidArgumentException $ex ) {
                                $user = null;