X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=includes%2FTitle.php;h=0687a1558958e85cba569ba4b74bce9937b23247;hb=da4a98830bf715bdc7bac38d61dc5ec401d99285;hp=7b3e3a5b68dba422999f4a5eaa045e37ebd7da69;hpb=fd6e9ef2d481209b01fa6e1bb1c863b8257f0272;p=lhc%2Fweb%2Fwiklou.git diff --git a/includes/Title.php b/includes/Title.php index 7b3e3a5b68..0687a15589 100644 --- a/includes/Title.php +++ b/includes/Title.php @@ -1036,6 +1036,7 @@ class Title implements LinkTarget { * Can this title have a corresponding talk page? * * @see MWNamespace::hasTalkNamespace + * @since 1.30 * * @return bool True if this title either is a talk page or can have a talk page associated. */ @@ -1322,7 +1323,9 @@ class Title implements LinkTarget { * Get a Title object associated with the talk page of this article, * if such a talk page can exist. * - * @return Title The object for the talk page, + * @since 1.30 + * + * @return Title|null The object for the talk page, * or null if no associated talk page can exist, according to canHaveTalkPage(). */ public function getTalkPageIfDefined() { @@ -1894,6 +1897,8 @@ class Title implements LinkTarget { * protocol-relative, the URL will be expanded to http:// * * @see self::getLocalURL for the arguments. + * @param string $query + * @param string|bool $query2 * @return string The URL */ public function getInternalURL( $query = '', $query2 = false ) { @@ -2665,24 +2670,33 @@ class Title implements LinkTarget { if ( $this->mTitleProtection === null ) { $dbr = wfGetDB( DB_REPLICA ); + $commentStore = new CommentStore( 'pt_reason' ); + $commentQuery = $commentStore->getJoin(); $res = $dbr->select( - 'protected_titles', + [ 'protected_titles' ] + $commentQuery['tables'], [ 'user' => 'pt_user', - 'reason' => 'pt_reason', 'expiry' => 'pt_expiry', 'permission' => 'pt_create_perm' - ], + ] + $commentQuery['fields'], [ 'pt_namespace' => $this->getNamespace(), 'pt_title' => $this->getDBkey() ], - __METHOD__ + __METHOD__, + [], + $commentQuery['joins'] ); // fetchRow returns false if there are no rows. $row = $dbr->fetchRow( $res ); if ( $row ) { - $row['expiry'] = $dbr->decodeExpiry( $row['expiry'] ); + $this->mTitleProtection = [ + 'user' => $row['user'], + 'expiry' => $dbr->decodeExpiry( $row['expiry'] ), + 'permission' => $row['permission'], + 'reason' => $commentStore->getComment( $row )->text, + ]; + } else { + $this->mTitleProtection = false; } - $this->mTitleProtection = $row; } return $this->mTitleProtection; } @@ -3691,7 +3705,7 @@ class Title implements LinkTarget { * Returns true if ok, or a getUserPermissionsErrors()-like array otherwise * * @deprecated since 1.25, use MovePage's methods instead - * @param Title $nt The new title + * @param Title &$nt The new title * @param bool $auth Whether to check user permissions (uses $wgUser) * @param string $reason Is the log summary of the move, used for spam checking * @return array|bool True on success, getUserPermissionsErrors()-like array on failure @@ -3743,7 +3757,7 @@ class Title implements LinkTarget { * Move a title to a new location * * @deprecated since 1.25, use the MovePage class instead - * @param Title $nt The new title + * @param Title &$nt The new title * @param bool $auth Indicates whether $wgUser's permissions * should be checked * @param string $reason The reason for the move