123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224 |
- <?php
- namespace Drupal\user;
- use Drupal\Core\Entity\EntityChangedInterface;
- use Drupal\Core\Entity\ContentEntityInterface;
- use Drupal\Core\Session\AccountInterface;
- /**
- * Provides an interface defining a user entity.
- *
- * @ingroup user_api
- */
- interface UserInterface extends ContentEntityInterface, EntityChangedInterface, AccountInterface {
- /**
- * Maximum length of username text field.
- *
- * Keep this under 191 characters so we can use a unique constraint in MySQL.
- */
- const USERNAME_MAX_LENGTH = 60;
- /**
- * Only administrators can create user accounts.
- */
- const REGISTER_ADMINISTRATORS_ONLY = 'admin_only';
- /**
- * Visitors can create their own accounts.
- */
- const REGISTER_VISITORS = 'visitors';
- /**
- * Visitors can create accounts that only become active with admin approval.
- */
- const REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL = 'visitors_admin_approval';
- /**
- * New users will be set to the default time zone at registration.
- */
- const TIMEZONE_DEFAULT = 0;
- /**
- * New users will get an empty time zone at registration.
- */
- const TIMEZONE_EMPTY = 1;
- /**
- * New users will select their own timezone at registration.
- */
- const TIMEZONE_SELECT = 2;
- /**
- * Whether a user has a certain role.
- *
- * @param string $rid
- * The role ID to check.
- *
- * @return bool
- * Returns TRUE if the user has the role, otherwise FALSE.
- */
- public function hasRole($rid);
- /**
- * Add a role to a user.
- *
- * @param string $rid
- * The role ID to add.
- */
- public function addRole($rid);
- /**
- * Remove a role from a user.
- *
- * @param string $rid
- * The role ID to remove.
- */
- public function removeRole($rid);
- /**
- * Sets the username of this account.
- *
- * @param string $username
- * The new user name.
- *
- * @return $this
- * The called user entity.
- */
- public function setUsername($username);
- /**
- * Returns the hashed password.
- *
- * @return string
- * The hashed password.
- */
- public function getPassword();
- /**
- * Sets the user password.
- *
- * @param string $password
- * The new unhashed password.
- *
- * @return $this
- * The called user entity.
- */
- public function setPassword($password);
- /**
- * Sets the email address of the user.
- *
- * @param string $mail
- * The new email address of the user.
- *
- * @return $this
- * The called user entity.
- */
- public function setEmail($mail);
- /**
- * Returns the creation time of the user as a UNIX timestamp.
- *
- * @return int
- * Timestamp of the creation date.
- */
- public function getCreatedTime();
- /**
- * Sets the UNIX timestamp when the user last accessed the site..
- *
- * @param int $timestamp
- * Timestamp of the last access.
- *
- * @return $this
- * The called user entity.
- */
- public function setLastAccessTime($timestamp);
- /**
- * Returns the UNIX timestamp when the user last logged in.
- *
- * @return int
- * Timestamp of the last login time.
- */
- public function getLastLoginTime();
- /**
- * Sets the UNIX timestamp when the user last logged in.
- *
- * @param int $timestamp
- * Timestamp of the last login time.
- *
- * @return $this
- * The called user entity.
- */
- public function setLastLoginTime($timestamp);
- /**
- * Returns TRUE if the user is active.
- *
- * @return bool
- * TRUE if the user is active, false otherwise.
- */
- public function isActive();
- /**
- * Returns TRUE if the user is blocked.
- *
- * @return bool
- * TRUE if the user is blocked, false otherwise.
- */
- public function isBlocked();
- /**
- * Activates the user.
- *
- * @return $this
- * The called user entity.
- */
- public function activate();
- /**
- * Blocks the user.
- *
- * @return $this
- * The called user entity.
- */
- public function block();
- /**
- * Returns the email that was used when the user was registered.
- *
- * @return string
- * Initial email address of the user.
- */
- public function getInitialEmail();
- /**
- * Sets the existing plain text password.
- *
- * Required for validation when changing the password, name or email fields.
- *
- * @param string $password
- * The existing plain text password of the user.
- *
- * @return $this
- */
- public function setExistingPassword($password);
- /**
- * Checks the existing password if set.
- *
- * @param \Drupal\user\UserInterface $account_unchanged
- * The unchanged user entity to compare against.
- *
- * @return bool
- * TRUE if the correct existing password was provided.
- *
- * @see UserInterface::setExistingPassword()
- */
- public function checkExistingPassword(UserInterface $account_unchanged);
- }
|