Merge "Title: Title::getSubpage should not lose the interwiki prefix"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Sat, 13 Jul 2019 18:02:27 +0000 (18:02 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Sat, 13 Jul 2019 18:02:27 +0000 (18:02 +0000)
1  2 
includes/Title.php

diff --combined includes/Title.php
@@@ -1887,7 -1887,12 +1887,12 @@@ class Title implements LinkTarget, IDBA
         * @since 1.20
         */
        public function getSubpage( $text ) {
-               return self::makeTitleSafe( $this->mNamespace, $this->getText() . '/' . $text );
+               return self::makeTitleSafe(
+                       $this->mNamespace,
+                       $this->getText() . '/' . $text,
+                       '',
+                       $this->mInterwiki
+               );
        }
  
        /**
                        ->getPermissionErrors( $action, $user, $this, $rigor, $ignoreErrors );
        }
  
 -      /**
 -       * Add the resulting error code to the errors array
 -       *
 -       * @param array $errors List of current errors
 -       * @param array|string|MessageSpecifier|false $result Result of errors
 -       *
 -       * @return array List of errors
 -       */
 -      private function resultToError( $errors, $result ) {
 -              if ( is_array( $result ) && count( $result ) && !is_array( $result[0] ) ) {
 -                      // A single array representing an error
 -                      $errors[] = $result;
 -              } elseif ( is_array( $result ) && is_array( $result[0] ) ) {
 -                      // A nested array representing multiple errors
 -                      $errors = array_merge( $errors, $result );
 -              } elseif ( $result !== '' && is_string( $result ) ) {
 -                      // A string representing a message-id
 -                      $errors[] = [ $result ];
 -              } elseif ( $result instanceof MessageSpecifier ) {
 -                      // A message specifier representing an error
 -                      $errors[] = [ $result ];
 -              } elseif ( $result === false ) {
 -                      // a generic "We don't want them to do that"
 -                      $errors[] = [ 'badaccess-group0' ];
 -              }
 -              return $errors;
 -      }
 -
        /**
         * Get a filtered list of all restriction types supported by this wiki.
         * @param bool $exists True to get all restriction types that apply to
                        $this->mHasSubpages = false;
                        $subpages = $this->getSubpages( 1 );
                        if ( $subpages instanceof TitleArray ) {
 -                              $this->mHasSubpages = (bool)$subpages->count();
 +                              $this->mHasSubpages = (bool)$subpages->current();
                        }
                }
  
         * Get the timestamp when this page was updated since the user last saw it.
         *
         * @param User|null $user
 -       * @return string|null
 +       * @return string|bool|null String timestamp, false if not watched, null if nothing is unseen
         */
        public function getNotificationTimestamp( $user = null ) {
                global $wgUser;