From df1c24fde82ae8408054b5864a8ec037d9cc0512 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gerg=C5=91=20Tisza?= Date: Tue, 8 May 2018 16:31:03 +0200 Subject: [PATCH] Add equals() to UserIdentity Change-Id: Ia2f33d551e96bd6f58ba9414049449282575a63b --- includes/user/User.php | 7 ++++--- includes/user/UserIdentity.php | 8 ++++++++ includes/user/UserIdentityValue.php | 11 +++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) 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(); + } + } -- 2.20.1