Merge "logging: Start using LinkTarget & UserIdentity in ManualLogEntry"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 12 Mar 2019 02:14:39 +0000 (02:14 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 12 Mar 2019 02:14:39 +0000 (02:14 +0000)
1  2 
includes/logging/LogEntry.php

@@@ -28,6 -28,8 +28,8 @@@
   * @since 1.19
   */
  
+ use MediaWiki\Linker\LinkTarget;
+ use MediaWiki\User\UserIdentity;
  use Wikimedia\Rdbms\IDatabase;
  
  /**
@@@ -462,8 -464,8 +464,8 @@@ class ManualLogEntry extends LogEntryBa
        /** @var int A rev id associated to the log entry */
        protected $revId = 0;
  
 -      /** @var array Change tags add to the log entry */
 -      protected $tags = null;
 +      /** @var string[] Change tags add to the log entry */
 +      protected $tags = [];
  
        /** @var int Deletion state of the log entry */
        protected $deleted;
         * Set the user that performed the action being logged.
         *
         * @since 1.19
-        * @param User $performer
+        * @param UserIdentity $performer
         */
-       public function setPerformer( User $performer ) {
-               $this->performer = $performer;
+       public function setPerformer( UserIdentity $performer ) {
+               $this->performer = User::newFromIdentity( $performer );
        }
  
        /**
         * Set the title of the object changed.
         *
         * @since 1.19
-        * @param Title $target
+        * @param LinkTarget $target
         */
-       public function setTarget( Title $target ) {
-               $this->target = $target;
+       public function setTarget( LinkTarget $target ) {
+               $this->target = Title::newFromLinkTarget( $target );
        }
  
        /**
        /**
         * Set change tags for the log entry.
         *
 +       * Passing `null` means the same as empty array,
 +       * for compatibility with WikiPage::doUpdateRestrictions().
 +       *
         * @since 1.27
 -       * @param string|string[] $tags
 +       * @param string|string[]|null $tags
         */
        public function setTags( $tags ) {
 -              if ( is_string( $tags ) ) {
 +              if ( $tags === null ) {
 +                      $tags = [];
 +              } elseif ( is_string( $tags ) ) {
                        $tags = [ $tags ];
                }
                $this->tags = $tags;
  
                                        if ( $to === 'rc' || $to === 'rcandudp' ) {
                                                // save RC, passing tags so they are applied there
 -                                              $tags = $this->getTags();
 -                                              if ( is_null( $tags ) ) {
 -                                                      $tags = [];
 -                                              }
 -                                              $rc->addTags( $tags );
 +                                              $rc->addTags( $this->getTags() );
                                                $rc->save( $rc::SEND_NONE );
                                        }
  
  
        /**
         * @since 1.27
 -       * @return array
 +       * @return string[]
         */
        public function getTags() {
                return $this->tags;