From: Gergő Tisza Date: Tue, 8 May 2018 14:31:03 +0000 (+0200) Subject: Add equals() to UserIdentity X-Git-Tag: 1.34.0-rc.0~5481^2 X-Git-Url: http://git.cyclocoop.org/%22%20.%20generer_url_aide%28?a=commitdiff_plain;h=df1c24fde82ae8408054b5864a8ec037d9cc0512;p=lhc%2Fweb%2Fwiklou.git Add equals() to UserIdentity Change-Id: Ia2f33d551e96bd6f58ba9414049449282575a63b --- diff --git a/includes/user/User.php b/includes/user/User.php index 5a5139d66c..e235c18928 100644 --- a/includes/user/User.php +++ b/includes/user/User.php @@ -5663,11 +5663,12 @@ class User implements IDBAccessObject, UserIdentity { /** * Checks if two user objects point to the same user. * - * @since 1.25 - * @param User $user + * @since 1.25 ; takes a UserIdentity instead of a User since 1.32 + * @param UserIdentity $user * @return bool */ - public function equals( User $user ) { + public function equals( UserIdentity $user ) { + // XXX it's not clear whether central ID providers are supposed to obey this return $this->getName() === $user->getName(); } } diff --git a/includes/user/UserIdentity.php b/includes/user/UserIdentity.php index d02a67888c..ac9bbec3f1 100644 --- a/includes/user/UserIdentity.php +++ b/includes/user/UserIdentity.php @@ -54,4 +54,12 @@ interface UserIdentity { // TODO: we may want to (optionally?) provide a global ID, see CentralIdLookup. + /** + * @since 1.32 + * + * @param UserIdentity $user + * @return bool + */ + public function equals( UserIdentity $user ); + } diff --git a/includes/user/UserIdentityValue.php b/includes/user/UserIdentityValue.php index 120f31f24d..d1fd19de52 100644 --- a/includes/user/UserIdentityValue.php +++ b/includes/user/UserIdentityValue.php @@ -82,4 +82,15 @@ class UserIdentityValue implements UserIdentity { return $this->actor; } + /** + * @since 1.32 + * + * @param UserIdentity $user + * @return bool + */ + public function equals( UserIdentity $user ) { + // XXX it's not clear whether central ID providers are supposed to obey this + return $this->getName() === $user->getName(); + } + }