interface PrivateMessageThreadInterface in Private Message 8
Same name and namespace in other branches
- 8.2 src/Entity/PrivateMessageThreadInterface.php \Drupal\private_message\Entity\PrivateMessageThreadInterface
Provides an interface defining a Private Message thread entity.
Hierarchy
- interface \Drupal\Core\Entity\FieldableEntityInterface; interface \Drupal\Core\Entity\TranslatableRevisionableInterface; interface \Drupal\Core\Entity\SynchronizableInterface
- interface \Drupal\Core\Entity\ContentEntityInterface extends \Drupal\Core\Entity\Traversable
- interface \Drupal\private_message\Entity\PrivateMessageThreadInterface
- interface \Drupal\Core\Entity\ContentEntityInterface extends \Drupal\Core\Entity\Traversable
Expanded class hierarchy of PrivateMessageThreadInterface
All classes that implement PrivateMessageThreadInterface
5 files declare their use of PrivateMessageThreadInterface
- PrivateMessageForm.php in src/
Form/ PrivateMessageForm.php - PrivateMessageMailer.php in src/
Service/ PrivateMessageMailer.php - PrivateMessageMailerInterface.php in src/
Service/ PrivateMessageMailerInterface.php - PrivateMessageThreadManager.php in src/
Service/ PrivateMessageThreadManager.php - PrivateMessageThreadManagerInterface.php in src/
Service/ PrivateMessageThreadManagerInterface.php
File
- src/
Entity/ PrivateMessageThreadInterface.php, line 13
Namespace
Drupal\private_message\EntityView source
interface PrivateMessageThreadInterface extends ContentEntityInterface {
/**
* Add a member to the private message thread.
*
* @param \Drupal\user\AccountInterface $account
* The account to be set as a member of the private message thread.
*
* @return \Drupal\private_message\Entity\PrivateMessageInterface
* Returns the class itself to allow for chaining.
*/
public function addMember(AccountInterface $account);
/**
* Add a member to the private message thread.
*
* @param int $id
* The ID of the account to be set as a member of the private message
* thread.
*
* @return \Drupal\private_message\Entity\PrivateMessageInterface
* Returns the class itself to allow for chaining.
*/
public function addMemberById($id);
/**
* Retrieve the members of the private message thread.
*/
public function getMembers();
/**
* Check if the user with the given ID is a member of the thread.
*
* @param int $id
* The User ID of the user to check.
*
* @return bool
* - TRUE if the user is a member of the thread
* - FALSE if they are not
*/
public function isMember($id);
/**
* Add a private message to the list of messages in this thread.
*
* @param Drupal\private_message\Entity\PrivateMessageInterface $privateMessage
* The private message to be added to the thread.
*
* @return Drupal\private_message\Entity\PrivateMessageThread
* The private message thread.
*/
public function addMessage(PrivateMessageInterface $privateMessage);
/**
* Add a private message by ID to the list of the messages in this thread.
*
* @param int $id
* The ID of the private message to be added to the thread.
*/
public function addMessageById($id);
/**
* Retrieve all private messages attached to this thread.
*
* @return \Drupal\Core\Field\EntityReferenceFieldItemListInterface
* A list of private messages attached to this thread
*/
public function getMessages();
/**
* Filter the list down to only the newest messages.
*
* Note that other messages will be loadable through AJAX.
*/
public function filterNewestMessages();
/**
* Get the created timestamp of the newest private message in the thread.
*
* @return int
* The Unix timestamp of the newest message in the thread
*/
public function getNewestMessageCreationTimestamp();
/**
* Add an an access time to the current thread for the given user.
*
* @param \Drupal\Core\Session\AccountInterface $account
* The user whose access time should be updated.
*/
public function addLastAccessTime(AccountInterface $account);
/**
* Get the last access time object for the given user.
*
* @param \Drupal\Core\Session\AccountInterface $account
* The user whose last access time should be retrieved.
*
* @return Drupal\private_message\Entity\PrivateMessageThreadAccessTimeInterface
* The PrivateMessagegThreadAccessTime object for the user's last access of
* the thread.
*/
public function getLastAccessTime(AccountInterface $account);
/**
* Get the PrivateMessageThreadAccessTime entites referenced by this thread.
*
* @return \Drupal\private_message\Entity\PrivateMessageThreadAccessTime[]
* An array of PrivateMessageThreadAccessTime entities
*/
public function getLastAccessTimes();
/**
* Get the last access timestamp for the given user.
*
* @param \Drupal\Core\Session\AccountInterface $account
* The user whose last access time should be retrieved.
*
* @return int
* The timestamp at which the user last accessed the thread
*/
public function getLastAccessTimestamp(AccountInterface $account);
/**
* Update the last access time for the given user.
*
* @param \Drupal\Core\Session\AccountInterface $account
* The user whose last access time should be updated.
*/
public function updateLastAccessTime(AccountInterface $account);
/**
* Add an a delete time to the current thread for the given user.
*
* @param \Drupal\Core\Session\AccountInterface $account
* The user whose last delete time should be added.
*/
public function addLastDeleteTime(AccountInterface $account);
/**
* Get the last delete time object for the given user.
*
* @param \Drupal\Core\Session\AccountInterface $account
* The user whose last delete time should be retrieved.
*
* @return bool|\Drupal\private_message\Entity\PrivateMessageThreadDeleteTimeInterface
* - If the user has not deleted the thread, FALSE
* - If the user has deleted the thread, a
* PrivateMessageThreadAccessTimeInterface object
*/
public function getLastDeleteTime(AccountInterface $account);
/**
* Get the last delete timestamp for the given user.
*
* @param \Drupal\Core\Session\AccountInterface $account
* The user whose last delete time should be retrieved.
*
* @return int
* A UNIX timestamp indicating the last time the user marked the thread as
* deleted.
*/
public function getLastDeleteTimestamp(AccountInterface $account);
/**
* Retrieve the last delete timestamps for all members of the thread.
*
* @return Drupal\private_message\Entity\PrivateMessageThreadAccessTime[]
* An array of PrivateMessageLastDeleteTime entities
*/
public function getLastDeleteTimes();
/**
* Update the last delete time for the given user.
*
* @param \Drupal\Core\Session\AccountInterface $account
* The user whose last delete time should be updated.
*/
public function updateLastDeleteTime(AccountInterface $account);
/**
* Perform a delete action on the private message thread.
*
* When this method is called, the following process happens:
* - If no user has been provided, the thread is deleted
* outright. Otherwise the following steps are taken.
* - The delete timestamp for the given user is updated
* - The created timestamp for the newest message in the
* thread is retrieved
* - The delete timestamps for all members of the thread
* are compared to the timestamp of the newest private message.
* - If no messages have been created after every member has deleted
* the thread, the entire thread is deleted from the system.
*/
public function delete();
/**
* Filter messages in the thread deleted by the given account.
*
* Only messages created after the last time the user deleted the thread will
* be shown. If they have never deleted the thread, all messages are returned.
*
* @param \Drupal\Core\Session\AccountInterface $account
* The user for whom private messages should be returned.
*
* @return Drupal\private_message\Entity\PrivateMessage[]
* An array of private messages
*/
public function filterUserDeletedMessages(AccountInterface $account);
/**
* Clear cache tags related to private message thread entities.
*/
public function clearCacheTags();
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
AccessibleInterface:: |
public | function | Checks data value access. | 9 |
CacheableDependencyInterface:: |
public | function | The cache contexts associated with this object. | 34 |
CacheableDependencyInterface:: |
public | function | The maximum age for which this object may be cached. | 34 |
CacheableDependencyInterface:: |
public | function | The cache tags associated with this object. | 27 |
EntityInterface:: |
public | function | Gets the bundle of the entity. | 2 |
EntityInterface:: |
public static | function | Constructs a new entity object, without permanently saving it. | 2 |
EntityInterface:: |
public | function | Creates a duplicate of the entity. | 2 |
EntityInterface:: |
public | function | Enforces an entity to be new. | 2 |
EntityInterface:: |
public | function | Returns the cache tags that should be used to invalidate caches. | 2 |
EntityInterface:: |
public | function | Gets the key that is used to store configuration dependencies. | 2 |
EntityInterface:: |
public | function | Gets the configuration dependency name. | 2 |
EntityInterface:: |
public | function | Gets the configuration target identifier for the entity. | 2 |
EntityInterface:: |
public | function | Gets the entity type definition. | 2 |
EntityInterface:: |
public | function | Gets the ID of the type of the entity. | 2 |
EntityInterface:: |
public | function | Gets the original ID. | 2 |
EntityInterface:: |
public | function | Gets a typed data object for this entity object. | 2 |
EntityInterface:: |
public | function | Indicates if a link template exists for a given key. | 2 |
EntityInterface:: |
public | function | Gets the identifier. | 2 |
EntityInterface:: |
public | function | Determines whether the entity is new. | 2 |
EntityInterface:: |
public | function | Gets the label of the entity. | 2 |
EntityInterface:: |
public | function | Gets the language of the entity. | 2 |
EntityInterface:: |
public | function | Deprecated way of generating a link to the entity. See toLink(). | 2 |
EntityInterface:: |
public static | function | Loads an entity. | 2 |
EntityInterface:: |
public static | function | Loads one or more entities. | 2 |
EntityInterface:: |
public | function | Acts on a created entity before hooks are invoked. | 2 |
EntityInterface:: |
public static | function | Acts on deleted entities before the delete hook is invoked. | 2 |
EntityInterface:: |
public static | function | Acts on loaded entities. | 3 |
EntityInterface:: |
public | function | Acts on a saved entity before the insert or update hook is invoked. | 2 |
EntityInterface:: |
public static | function | Changes the values of an entity before it is created. | 2 |
EntityInterface:: |
public static | function | Acts on entities before they are deleted and before hooks are invoked. | 2 |
EntityInterface:: |
public | function | Acts on an entity before the presave hook is invoked. | 2 |
EntityInterface:: |
public | function | Gets a list of entities referenced by this entity. | 2 |
EntityInterface:: |
public | function | Saves an entity permanently. | 2 |
EntityInterface:: |
public | function | Sets the original ID. | 2 |
EntityInterface:: |
public | function | Generates the HTML for a link to this entity. | 2 |
EntityInterface:: |
public | function | Gets the URL object for the entity. | 2 |
EntityInterface:: |
public | function | Gets a list of URI relationships supported by this entity. | 2 |
EntityInterface:: |
public | function | Gets the public URL for this entity. | 2 |
EntityInterface:: |
public | function | Gets the URL object for the entity. | 2 |
EntityInterface:: |
public | function | Gets the entity UUID (Universally Unique Identifier). | 2 |
FieldableEntityInterface:: |
public static | function | Provides base field definitions for an entity type. | 2 |
FieldableEntityInterface:: |
public static | function | Provides field definitions for a specific bundle. | 2 |
FieldableEntityInterface:: |
public | function | Gets a field item list. | 1 |
FieldableEntityInterface:: |
public | function | Gets the definition of a contained field. | 1 |
FieldableEntityInterface:: |
public | function | Gets an array of field definitions of all contained fields. | 1 |
FieldableEntityInterface:: |
public | function | Gets an array of all field item lists. | 1 |
FieldableEntityInterface:: |
public | function | Gets an array of field item lists for translatable fields. | 1 |
FieldableEntityInterface:: |
public | function | Determines whether the entity has a field with the given name. | 1 |
FieldableEntityInterface:: |
public | function | Checks whether entity validation is required before saving the entity. | 1 |
FieldableEntityInterface:: |
public | function | Reacts to changes to a field. | 1 |
FieldableEntityInterface:: |
public | function | Sets a field value. | 1 |
FieldableEntityInterface:: |
public | function | Sets whether entity validation is required before saving the entity. | 1 |
FieldableEntityInterface:: |
public | function |
Gets an array of all field values. Overrides EntityInterface:: |
|
FieldableEntityInterface:: |
public | function | Validates the currently set values. | 1 |
PrivateMessageThreadInterface:: |
public | function | Add an an access time to the current thread for the given user. | 1 |
PrivateMessageThreadInterface:: |
public | function | Add an a delete time to the current thread for the given user. | 1 |
PrivateMessageThreadInterface:: |
public | function | Add a member to the private message thread. | 1 |
PrivateMessageThreadInterface:: |
public | function | Add a member to the private message thread. | 1 |
PrivateMessageThreadInterface:: |
public | function | Add a private message to the list of messages in this thread. | 1 |
PrivateMessageThreadInterface:: |
public | function | Add a private message by ID to the list of the messages in this thread. | 1 |
PrivateMessageThreadInterface:: |
public | function | Clear cache tags related to private message thread entities. | 1 |
PrivateMessageThreadInterface:: |
public | function |
Perform a delete action on the private message thread. Overrides EntityInterface:: |
|
PrivateMessageThreadInterface:: |
public | function | Filter the list down to only the newest messages. | 1 |
PrivateMessageThreadInterface:: |
public | function | Filter messages in the thread deleted by the given account. | 1 |
PrivateMessageThreadInterface:: |
public | function | Get the last access time object for the given user. | 1 |
PrivateMessageThreadInterface:: |
public | function | Get the PrivateMessageThreadAccessTime entites referenced by this thread. | 1 |
PrivateMessageThreadInterface:: |
public | function | Get the last access timestamp for the given user. | 1 |
PrivateMessageThreadInterface:: |
public | function | Get the last delete time object for the given user. | 1 |
PrivateMessageThreadInterface:: |
public | function | Retrieve the last delete timestamps for all members of the thread. | 1 |
PrivateMessageThreadInterface:: |
public | function | Get the last delete timestamp for the given user. | 1 |
PrivateMessageThreadInterface:: |
public | function | Retrieve the members of the private message thread. | 1 |
PrivateMessageThreadInterface:: |
public | function | Retrieve all private messages attached to this thread. | 1 |
PrivateMessageThreadInterface:: |
public | function | Get the created timestamp of the newest private message in the thread. | 1 |
PrivateMessageThreadInterface:: |
public | function | Check if the user with the given ID is a member of the thread. | 1 |
PrivateMessageThreadInterface:: |
public | function | Update the last access time for the given user. | 1 |
PrivateMessageThreadInterface:: |
public | function | Update the last delete time for the given user. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Adds a dependency on an object: merges its cacheability metadata. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Adds cache contexts. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Adds cache tags. | 1 |
RefinableCacheableDependencyInterface:: |
public | function | Merges the maximum age (in seconds) with the existing maximum age. | 1 |
RevisionableInterface:: |
public | function | Gets the loaded Revision ID of the entity. | 1 |
RevisionableInterface:: |
public | function | Gets the revision identifier of the entity. | 1 |
RevisionableInterface:: |
public | function | Checks if this entity is the default revision. | 1 |
RevisionableInterface:: |
public | function | Checks if this entity is the latest revision. | 1 |
RevisionableInterface:: |
public | function | Determines whether a new revision should be created on save. | 1 |
RevisionableInterface:: |
public | function | Acts on a revision before it gets saved. | 1 |
RevisionableInterface:: |
public | function | Enforces an entity to be saved as a new revision. | 1 |
RevisionableInterface:: |
public | function | Updates the loaded Revision ID with the revision ID. | 1 |
RevisionableInterface:: |
public | function | Checks whether the entity object was a default revision when it was saved. | 1 |
SynchronizableInterface:: |
public | function | Returns whether this entity is being changed as part of a synchronization. | 1 |
SynchronizableInterface:: |
public | function | Sets the status of the synchronization flag. | 1 |
TranslatableInterface:: |
public | function | Adds a new translation to the translatable object. | 1 |
TranslatableInterface:: |
public | function | Gets a translation of the data. | 1 |
TranslatableInterface:: |
public | function | Returns the languages the data is translated to. | 1 |
TranslatableInterface:: |
public | function | Returns the translatable object referring to the original language. | 1 |
TranslatableInterface:: |
public | function | Checks there is a translation for the given language code. | 1 |
TranslatableInterface:: |
public | function | Determines if the current translation of the entity has unsaved changes. | 1 |
TranslatableInterface:: |
public | function | Checks whether the translation is the default one. | 1 |
TranslatableInterface:: |
public | function | Checks whether the translation is new. | 1 |
TranslatableInterface:: |
public | function | Returns the translation support status. | 1 |
TranslatableInterface:: |
public | function | Removes the translation identified by the given language code. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks if untranslatable fields should affect only the default translation. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks whether this is the latest revision affecting this translation. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks whether the current translation is affected by the current revision. | 1 |
TranslatableRevisionableInterface:: |
public | function | Checks if the revision translation affected flag value has been enforced. | 1 |
TranslatableRevisionableInterface:: |
public | function | Marks the current revision translation as affected. | 1 |
TranslatableRevisionableInterface:: |
public | function | Enforces the revision translation affected flag value. | 1 |