I wasn't able to port some places that rely on isAllowed, getOption, or related methods. This adds isRegistered() to UserIdentity, which works like User::isLoggedIn() but with a better name. I also cleaned up User mocks in WatchedItemQueryServiceUnitTest in the course of debugging test failures when switching them to UserIdentityValue instead of mock Users where possible. They now specify explicitly which methods are allowed to be called on their User objects, which I believe is good practice for mocks (and unfortunately PHPUnit makes it awkward). Bug: T207972 Depends-On: I883d506197a011fe4c102b72df4d9deb58ab5ca2 Change-Id: Iadbf7bc31a496899dbef44e49065ff89f37aea89
73 lines
2 KiB
PHP
73 lines
2 KiB
PHP
<?php
|
|
/**
|
|
* Interface for objects representing user identity.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 2 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License along
|
|
* with this program; if not, write to the Free Software Foundation, Inc.,
|
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
* http://www.gnu.org/copyleft/gpl.html
|
|
*
|
|
* @file
|
|
*/
|
|
|
|
namespace MediaWiki\User;
|
|
|
|
/**
|
|
* Interface for objects representing user identity.
|
|
*
|
|
* This represents the identity of a user in the context of page revisions and log entries.
|
|
*
|
|
* @since 1.31
|
|
*/
|
|
interface UserIdentity {
|
|
|
|
/**
|
|
* @since 1.31
|
|
*
|
|
* @return int The user ID. May be 0 for anonymous users or for users with no local account.
|
|
*/
|
|
public function getId();
|
|
|
|
/**
|
|
* @since 1.31
|
|
*
|
|
* @return string The user's logical name. May be an IPv4 or IPv6 address for anonymous users.
|
|
*/
|
|
public function getName();
|
|
|
|
/**
|
|
* @since 1.31
|
|
*
|
|
* @return int The user's actor ID. May be 0 if no actor ID is set.
|
|
*/
|
|
public function getActorId();
|
|
|
|
// 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 );
|
|
|
|
/**
|
|
* @since 1.34
|
|
*
|
|
* @return bool True if user is registered on this wiki, i.e., has a user ID. False if user is
|
|
* anonymous or has no local account (which can happen when importing). This must be
|
|
* equivalent to getId() != 0 and is provided for code readability.
|
|
*/
|
|
public function isRegistered();
|
|
}
|