Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Session/AccountInterface.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 1fec387a4317 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/lib/Drupal/Core/Session/AccountInterface.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,174 @@ +<?php + +namespace Drupal\Core\Session; + +/** + * Defines an account interface which represents the current user. + * + * Defines an object that has a user id, roles and can have session data. The + * interface is implemented both by the global session and the user entity. + * + * @ingroup user_api + */ +interface AccountInterface { + + /** + * Role ID for anonymous users. + */ + const ANONYMOUS_ROLE = 'anonymous'; + + /** + * Role ID for authenticated users. + */ + const AUTHENTICATED_ROLE = 'authenticated'; + + /** + * Returns the user ID or 0 for anonymous. + * + * @return int + * The user ID. + */ + public function id(); + + /** + * Returns a list of roles. + * + * @param bool $exclude_locked_roles + * (optional) If TRUE, locked roles (anonymous/authenticated) are not returned. + * + * @return array + * List of role IDs. + */ + public function getRoles($exclude_locked_roles = FALSE); + + /** + * Checks whether a user has a certain permission. + * + * @param string $permission + * The permission string to check. + * + * @return bool + * TRUE if the user has the permission, FALSE otherwise. + */ + public function hasPermission($permission); + + /** + * Returns TRUE if the account is authenticated. + * + * @return bool + * TRUE if the account is authenticated. + */ + public function isAuthenticated(); + + /** + * Returns TRUE if the account is anonymous. + * + * @return bool + * TRUE if the account is anonymous. + */ + public function isAnonymous(); + + /** + * Returns the preferred language code of the account. + * + * @param bool $fallback_to_default + * (optional) Whether the return value will fall back to the site default + * language if the user has no language preference. + * + * @return string + * The language code that is preferred by the account. If the preferred + * language is not set or is a language not configured anymore on the site, + * the site default is returned or an empty string is returned (if + * $fallback_to_default is FALSE). + */ + public function getPreferredLangcode($fallback_to_default = TRUE); + + /** + * Returns the preferred administrative language code of the account. + * + * Defines which language is used on administrative pages. + * + * @param bool $fallback_to_default + * (optional) Whether the return value will fall back to the site default + * language if the user has no administration language preference. + * + * @return string + * The language code that is preferred by the account for administration + * pages. If the preferred language is not set or is a language not + * configured anymore on the site, the site default is returned or an empty + * string is returned (if $fallback_to_default is FALSE). + */ + public function getPreferredAdminLangcode($fallback_to_default = TRUE); + + /** + * Returns the unaltered login name of this account. + * + * @return string + * An unsanitized plain-text string with the name of this account that is + * used to log in. Only display this name to admins and to the user who owns + * this account, and only in the context of the name used to log in. For + * any other display purposes, use + * \Drupal\Core\Session\AccountInterface::getDisplayName() instead. + * + * @deprecated in Drupal 8.0.0, will be removed before Drupal 9.0.0. + * Use \Drupal\Core\Session\AccountInterface::getAccountName() or + * \Drupal\user\UserInterface::getDisplayName() instead. + */ + public function getUsername(); + + /** + * Returns the unaltered login name of this account. + * + * @return string + * An unsanitized plain-text string with the name of this account that is + * used to log in. Only display this name to admins and to the user who owns + * this account, and only in the context of the name used to login. For + * any other display purposes, use + * \Drupal\Core\Session\AccountInterface::getDisplayName() instead. + */ + public function getAccountName(); + + /** + * Returns the display name of this account. + * + * By default, the passed-in object's 'name' property is used if it exists, or + * else, the site-defined value for the 'anonymous' variable. However, a + * module may override this by implementing + * hook_user_format_name_alter(&$name, $account). + * + * @see hook_user_format_name_alter() + * + * @return string|\Drupal\Component\Render\MarkupInterface + * Either a string that will be auto-escaped on output or a + * MarkupInterface object that is already HTML escaped. Either is safe + * to be printed within HTML fragments. + */ + public function getDisplayName(); + + /** + * Returns the email address of this account. + * + * @return string + * The email address. + */ + public function getEmail(); + + /** + * Returns the timezone of this account. + * + * @return string + * Name of the timezone. + */ + public function getTimeZone(); + + /** + * The timestamp when the account last accessed the site. + * + * A value of 0 means the user has never accessed the site. + * + * @return int + * Timestamp of the last access. + */ + public function getLastAccessedTime(); + +}