class ContactEmail in Contact Emails 8
Defines the Contact Email entity.
Plugin annotation
@ContentEntityType(
id = "contact_email",
label = @Translation("Contact email"),
admin_permission = "manage contact form emails",
base_table = "contact_email",
data_table = "contact_email_field_data",
translatable = TRUE,
handlers = {
"storage" = "Drupal\contact_emails\ContactEmailStorage",
"list_builder" = "Drupal\contact_emails\ContactEmailListBuilder",
"form" = {
"default" = "Drupal\contact_emails\Form\ContactEmailForm",
"add" = "Drupal\contact_emails\Form\ContactEmailForm",
"edit" = "Drupal\contact_emails\Form\ContactEmailForm",
"delete" = "Drupal\Core\Entity\ContentEntityDeleteForm"
},
},
entity_keys = {
"id" = "email_id",
"label" = "subject",
"langcode" = "langcode",
"uuid" = "uuid",
"status" = "status"
},
links = {
"canonical" = "/admin/structure/contact/emails/{contact_email}",
"edit-form" = "/admin/structure/contact/emails/{contact_email}/edit",
"delete-form" = "/admin/structure/contact/emails/{contact_email}/delete"
}
)
Hierarchy
- class \Drupal\Core\Entity\EntityBase implements EntityInterface uses RefinableCacheableDependencyTrait, DependencySerializationTrait
- class \Drupal\Core\Entity\ContentEntityBase implements \Drupal\Core\Entity\IteratorAggregate, ContentEntityInterface, TranslationStatusInterface uses EntityChangesDetectionTrait, SynchronizableEntityTrait
- class \Drupal\contact_emails\Entity\ContactEmail implements ContactEmailInterface uses EntityChangedTrait
- class \Drupal\Core\Entity\ContentEntityBase implements \Drupal\Core\Entity\IteratorAggregate, ContentEntityInterface, TranslationStatusInterface uses EntityChangesDetectionTrait, SynchronizableEntityTrait
Expanded class hierarchy of ContactEmail
1 file declares its use of ContactEmail
- contact_emails.install in ./
contact_emails.install - Contact emails database table.
File
- src/
Entity/ ContactEmail.php, line 50
Namespace
Drupal\contact_emails\EntityView source
class ContactEmail extends ContentEntityBase implements ContactEmailInterface {
use EntityChangedTrait;
/**
* {@inheritdoc}
*
* When a new entity instance is added, set the user_id entity reference to
* the current user as the creator of the instance.
*/
public static function preCreate(EntityStorageInterface $storage_controller, array &$values) {
parent::preCreate($storage_controller, $values);
$values += [
'user_id' => \Drupal::currentUser()
->id(),
];
}
/**
* {@inheritdoc}
*/
public function getCreatedTime() {
return $this
->get('created')->value;
}
/**
* {@inheritdoc}
*/
public static function baseFieldDefinitions(EntityTypeInterface $entity_type) {
$fields = parent::baseFieldDefinitions($entity_type);
// Contact form.
$fields['contact_form'] = BaseFieldDefinition::create('entity_reference')
->setLabel(t('Contact form'))
->setDescription(t('The associated contact form entity.'))
->setRequired(TRUE)
->setTranslatable(TRUE)
->setSettings([
'target_type' => 'contact_form',
'handler' => 'default',
'default_value' => NULL,
])
->setDisplayOptions('form', [
'weight' => -15,
]);
$fields['subject'] = BaseFieldDefinition::create('string')
->setLabel(t('Subject'))
->setDescription(t('Subject of the email.'))
->setRequired(TRUE)
->setTranslatable(TRUE)
->setDefaultValue('')
->setSettings([
'max_length' => 255,
'text_processing' => 0,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => -10,
'settings' => [
'size' => 64,
],
]);
$fields['message'] = BaseFieldDefinition::create('text_long')
->setLabel(t('Message'))
->setDescription(t('The email message body.'))
->setDefaultValue('')
->setTranslatable(TRUE)
->setSettings([
'max_length' => 9999,
'text_processing' => 0,
])
->setDisplayOptions('form', [
'type' => 'text_textarea',
'weight' => -5,
'settings' => [
'rows' => 4,
],
]);
$fields['append_message'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Append message'))
->setDescription(t('Append the entire message below the body of the email.'))
->setTranslatable(TRUE)
->setDefaultValue(TRUE)
->setDisplayOptions('form', [
'type' => 'boolean_checkbox',
'weight' => 0,
'settings' => [
'display_label' => TRUE,
],
]);
$fields['recipient_type'] = BaseFieldDefinition::create('string')
->setLabel(t('Recipient type'))
->setDescription(t('How to determine the submitter of the form.'))
->setDefaultValue('manual')
->setTranslatable(TRUE)
->setSettings([
'max_length' => 20,
'text_processing' => 0,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 0,
]);
$fields['recipients'] = BaseFieldDefinition::create('string_long')
->setLabel(t('Recipients'))
->setDescription(t('Recipients of the email.'))
->setDefaultValue('')
->setTranslatable(TRUE)
->setSettings([
'max_length' => 9999,
'text_processing' => 0,
])
->setDisplayOptions('form', [
'type' => 'textarea',
'weight' => 0,
'settings' => [
'display_label' => TRUE,
],
]);
$fields['recipient_field'] = BaseFieldDefinition::create('string')
->setLabel(t('Recipient field'))
->setDescription(t('The field to send to if recipient type is field.'))
->setDefaultValue('')
->setTranslatable(TRUE)
->setSettings([
'max_length' => 255,
'text_processing' => 0,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 0,
]);
$fields['recipient_reference'] = BaseFieldDefinition::create('string')
->setLabel(t('Recipient reference'))
->setDescription(t('The field to send to if recipient type is reference.'))
->setDefaultValue('')
->setTranslatable(TRUE)
->setSettings([
'max_length' => 255,
'text_processing' => 0,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 0,
]);
$fields['reply_to_type'] = BaseFieldDefinition::create('string')
->setLabel(t('Reply-to type'))
->setDescription(t('The type of reply-to.'))
->setDefaultValue('default')
->setTranslatable(TRUE)
->setSettings([
'max_length' => 10,
'text_processing' => 0,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 0,
]);
$fields['reply_to_email'] = BaseFieldDefinition::create('string')
->setLabel(t('Reply-to email'))
->setDescription(t('The field to set the reply-to as if reply-to type is email.'))
->setDefaultValue('')
->setTranslatable(TRUE)
->setSettings([
'max_length' => 255,
'text_processing' => 0,
])
->setDisplayOptions('form', [
'type' => 'string_email',
'weight' => 0,
]);
$fields['reply_to_field'] = BaseFieldDefinition::create('string')
->setLabel(t('Reply-to field'))
->setDescription(t('The field to set the reply-to as if reply-to type is field.'))
->setDefaultValue('')
->setTranslatable(TRUE)
->setSettings([
'max_length' => 255,
'text_processing' => 0,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 0,
]);
$fields['reply_to_reference'] = BaseFieldDefinition::create('string')
->setLabel(t('Reply-to reference'))
->setDescription(t('The field to use if recipient type is reference.'))
->setDefaultValue('')
->setTranslatable(TRUE)
->setSettings([
'max_length' => 255,
'text_processing' => 0,
])
->setDisplayOptions('form', [
'type' => 'string_textfield',
'weight' => 0,
]);
$fields['status'] = BaseFieldDefinition::create('boolean')
->setLabel(t('Enabled'))
->setDescription(t('Whether or not this email is enabled.'))
->setTranslatable(TRUE)
->setDefaultValue(TRUE)
->setDisplayOptions('form', [
'type' => 'boolean_checkbox',
'weight' => 10,
'settings' => [
'display_label' => TRUE,
],
]);
$fields['created'] = BaseFieldDefinition::create('created')
->setLabel(t('Created'))
->setTranslatable(TRUE)
->setDescription(t('The time that the entity was created.'));
$fields['changed'] = BaseFieldDefinition::create('changed')
->setLabel(t('Changed'))
->setTranslatable(TRUE)
->setDescription(t('The time that the entity was last edited.'));
return $fields;
}
/**
* {@inheritdoc}
*/
public function getSubject(MessageInterface $message) {
$subject = $this
->tokenizeString($this
->get('subject')->value, $message);
// Convert any html to plain text.
$subject = MailFormatHelper::htmlToText($subject);
// Remove any line breaks as the above method assumes new lines allowed.
$subject = str_replace("\n", '', $subject);
return $subject;
}
/**
* {@inheritdoc}
*/
public function getBody(MessageInterface $message) {
$body = $this
->get('message');
$format = $this
->getFormat($message);
// Prepare render array based on text format.
if ($format == 'text/plain; charset=UTF-8; format=flowed; delsp=yes') {
$build = [
'#plain_text' => $this
->tokenizeString($body->value, $message),
];
}
else {
$build['text'] = [
'#type' => 'processed_text',
'#format' => $body->format,
'#text' => $this
->tokenizeString($body->value, $message),
];
}
// Maybe append the entire message.
if ($this
->get('append_message')->value) {
// Render the contact message using the mail view mode.
$render_controller = \Drupal::entityTypeManager()
->getViewBuilder($message
->getEntityTypeId());
$message_build = $render_controller
->view($message, 'mail');
// Either add to the html text or plan text.
if (isset($build['text']['#text'])) {
$build['message'] = $message_build;
$build['message']['#prefix'] = '<br /><br />';
}
else {
$message_markup = \Drupal::service('renderer')
->renderPlain($message_build);
$build['#plain_text'] .= "\n\n" . $message_markup;
}
}
// Render the body.
return \Drupal::service('renderer')
->renderPlain($build);
}
/**
* {@inheritdoc}
*/
public function getFormat(MessageInterface $message) {
$body = $this
->get('message');
// If body is empty, there is nothing to check.
if ($body
->isEmpty()) {
return 'text/plain; charset=UTF-8; format=flowed; delsp=yes';
}
// Default to html.
$format = 'text/html';
// Get selected format.
if (!empty($body->format) && ($filter_format = FilterFormat::load($body->format))) {
// If the selected format does not allow html, set the email as plain
// text.
$restrictions = $filter_format
->getHtmlRestrictions();
if ($restrictions && !$restrictions['allowed']) {
$format = 'text/plain; charset=UTF-8; format=flowed; delsp=yes';
}
}
return $format;
}
/**
* Apply tokens to body value.
*
* @param string $string
* The string value such as the subject or body.
* @param \Drupal\contact\MessageInterface $message
* The contact message.
*
* @return string
* The tokenized value.
*/
protected function tokenizeString($string, MessageInterface $message) {
$data = [
'contact_message' => $message,
];
$options = [
'clear' => TRUE,
];
return \Drupal::token()
->replace($string, $data, $options);
}
/**
* {@inheritdoc}
*/
public function getRecipients(MessageInterface $message) {
$recipients = [];
$type = $this
->get('recipient_type')->value;
switch ($type) {
case 'submitter':
$recipients = $this
->getEmailFromSenderMail($message);
break;
case 'field':
$field = $this
->get('recipient_field')->value;
$recipients = $this
->getEmailFromField($message, $field);
break;
case 'reference':
$field = $this
->get('recipient_reference')->value;
$recipients = $this
->getEmailFromReferencedField($message, $field);
break;
case 'default':
$recipients[] = \Drupal::config('system.site')
->get('mail');
break;
case 'manual':
default:
$recipients = $this
->get('recipients')->value;
$recipients = preg_replace("/\r|\n/", ",", $recipients);
$recipients = str_replace(';', ',', $recipients);
$recipients = explode(',', $recipients);
$recipients = array_map('trim', $recipients);
break;
}
$recipients = is_string($recipients) ? [
$recipients,
] : $recipients;
array_filter($recipients);
return $recipients;
}
/**
* {@inheritdoc}
*/
public function getReplyTo(MessageInterface $message) {
$reply_to = NULL;
$type = $this
->get('reply_to_type')->value;
switch ($type) {
case 'submitter':
$reply_to = $this
->getEmailFromSenderMail($message);
break;
case 'field':
$field = $this
->get('reply_to_field')->value;
$reply_to = $this
->getEmailFromField($message, $field);
break;
case 'reference':
$field = $this
->get('reply_to_reference')->value;
$reply_to = $this
->getEmailFromReferencedField($message, $field);
break;
case 'manual':
// Send to the value of an email field.
if (!$this
->get('reply_to_email')
->isEmpty()) {
$reply_to = $this
->get('reply_to_email')->value;
}
break;
case 'default':
default:
$reply_to = \Drupal::config('system.site')
->get('mail');
break;
}
// We may have an array as a referenced field may be repeating. In that
// case we take the first email.
if (is_array($reply_to)) {
array_filter($reply_to);
return reset($reply_to);
}
else {
return $reply_to;
}
}
/**
* Get email address from the sender of the contact message.
*
* @param \Drupal\contact\MessageInterface $message
* The contact message.
*
* @return string
* An email address.
*/
protected function getEmailFromSenderMail(MessageInterface $message) {
return $message
->getSenderMail();
}
/**
* Get email address from a field.
*
* @param \Drupal\contact\MessageInterface $message
* The contact message.
* @param object $field
* The target field on the message.
*
* @return array
* An array of emails.
*/
protected function getEmailFromField(MessageInterface $message, $field) {
$results = [];
// Send to the value of an email field.
if ($message
->hasField($field)) {
// Email could potentially be a repeating field.
$emails = $message
->get($field)
->getValue();
if ($emails) {
foreach ($emails as $email) {
if ($email['value']) {
$results[] = $email['value'];
}
}
}
}
return $results;
}
/**
* Get email address from a field.
*
* @param \Drupal\contact\MessageInterface $message
* The contact message.
* @param object $field
* The target field on the message.
*
* @return array
* An array of emails.
*
* @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
* @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
*/
protected function getEmailFromReferencedField(MessageInterface $message, $field) {
$results = [];
// Get the reference path, it consists of:
// [0] contact_message reference field name.
// [1] handler.
// [2] bundle.
// [3] referenced bundle email field name.
$reference_path = explode('.', $field);
if (count($reference_path) != 4) {
// Something is wrong.
return $results;
}
$reference_field_name = $reference_path[0];
$entity_type = $reference_path[1];
$email_field_name = $reference_path[3];
if ($message
->hasField($reference_field_name)) {
// Reference could potentially be a repeating field.
$referenced_entity_id = $message
->get($reference_field_name)->target_id;
if ($referenced_entity_id > 0) {
$storage = \Drupal::entityTypeManager()
->getStorage($entity_type);
/** @var \Drupal\Core\Entity\FieldableEntityInterface $entity */
$entity = $storage
->load($referenced_entity_id);
if ($emails = $entity
->get($email_field_name)
->getValue()) {
foreach ($emails as $email) {
if ($email['value']) {
$results[] = $email['value'];
}
}
}
}
}
return $results;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
CacheableDependencyTrait:: |
protected | property | Cache contexts. | |
CacheableDependencyTrait:: |
protected | property | Cache max-age. | |
CacheableDependencyTrait:: |
protected | property | Cache tags. | |
CacheableDependencyTrait:: |
protected | function | Sets cacheability; useful for value object constructors. | |
ContactEmail:: |
public static | function |
Provides base field definitions for an entity type. Overrides ContentEntityBase:: |
|
ContactEmail:: |
public | function |
Get the email body. Overrides ContactEmailInterface:: |
|
ContactEmail:: |
public | function | ||
ContactEmail:: |
protected | function | Get email address from a field. | |
ContactEmail:: |
protected | function | Get email address from a field. | |
ContactEmail:: |
protected | function | Get email address from the sender of the contact message. | |
ContactEmail:: |
public | function |
Get the email body format. Overrides ContactEmailInterface:: |
|
ContactEmail:: |
public | function |
Get the email recipient(s). Overrides ContactEmailInterface:: |
|
ContactEmail:: |
public | function |
Get the reply-to email address. Overrides ContactEmailInterface:: |
|
ContactEmail:: |
public | function |
Get the email subject. Overrides ContactEmailInterface:: |
|
ContactEmail:: |
public static | function |
When a new entity instance is added, set the user_id entity reference to
the current user as the creator of the instance. Overrides EntityBase:: |
|
ContactEmail:: |
protected | function | Apply tokens to body value. | |
ContentEntityBase:: |
protected | property | Language code identifying the entity active language. | |
ContentEntityBase:: |
protected | property | Local cache for the default language code. | |
ContentEntityBase:: |
protected | property | The default langcode entity key. | |
ContentEntityBase:: |
protected | property | Whether the revision translation affected flag has been enforced. | |
ContentEntityBase:: |
protected | property | Holds untranslatable entity keys such as the ID, bundle, and revision ID. | |
ContentEntityBase:: |
protected | property | Local cache for field definitions. | |
ContentEntityBase:: |
protected | property | The array of fields, each being an instance of FieldItemListInterface. | |
ContentEntityBase:: |
protected static | property | Local cache for fields to skip from the checking for translation changes. | |
ContentEntityBase:: |
protected | property | Indicates whether this is the default revision. | |
ContentEntityBase:: |
protected | property | The language entity key. | |
ContentEntityBase:: |
protected | property | Local cache for the available language objects. | |
ContentEntityBase:: |
protected | property | The loaded revision ID before the new revision was set. | |
ContentEntityBase:: |
protected | property | Boolean indicating whether a new revision should be created on save. | |
ContentEntityBase:: |
protected | property | The revision translation affected entity key. | |
ContentEntityBase:: |
protected | property | Holds translatable entity keys such as the label. | |
ContentEntityBase:: |
protected | property | A flag indicating whether a translation object is being initialized. | |
ContentEntityBase:: |
protected | property | An array of entity translation metadata. | |
ContentEntityBase:: |
protected | property | Whether entity validation was performed. | |
ContentEntityBase:: |
protected | property | Whether entity validation is required before saving the entity. | |
ContentEntityBase:: |
protected | property | The plain data values of the contained fields. | |
ContentEntityBase:: |
public | function |
Checks data value access. Overrides EntityBase:: |
1 |
ContentEntityBase:: |
public | function |
Adds a new translation to the translatable object. Overrides TranslatableInterface:: |
|
ContentEntityBase:: |
public | function |
Gets the bundle of the entity. Overrides EntityBase:: |
|
ContentEntityBase:: |
public static | function |
Provides field definitions for a specific bundle. Overrides FieldableEntityInterface:: |
4 |
ContentEntityBase:: |
protected | function | Clear entity translation object cache to remove stale references. | |
ContentEntityBase:: |
public | function |
Creates a duplicate of the entity. Overrides EntityBase:: |
1 |
ContentEntityBase:: |
public | function |
Gets a field item list. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
protected | function | Gets the value of the given entity key, if defined. | 1 |
ContentEntityBase:: |
public | function |
Gets the definition of a contained field. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
public | function |
Gets an array of field definitions of all contained fields. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
public | function |
Gets an array of all field item lists. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
protected | function | Returns an array of field names to skip in ::hasTranslationChanges. | 1 |
ContentEntityBase:: |
public | function | ||
ContentEntityBase:: |
protected | function | ||
ContentEntityBase:: |
public | function |
Gets the loaded Revision ID of the entity. Overrides RevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Gets the revision identifier of the entity. Overrides RevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Gets an array of field item lists for translatable fields. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
protected | function | Gets a translated field. | |
ContentEntityBase:: |
public | function |
Gets a translation of the data. Overrides TranslatableInterface:: |
|
ContentEntityBase:: |
public | function |
Returns the languages the data is translated to. Overrides TranslatableInterface:: |
|
ContentEntityBase:: |
public | function |
Returns the translation status. Overrides TranslationStatusInterface:: |
|
ContentEntityBase:: |
public | function |
Returns the translatable object referring to the original language. Overrides TranslatableInterface:: |
|
ContentEntityBase:: |
public | function |
Determines whether the entity has a field with the given name. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
public | function |
Checks there is a translation for the given language code. Overrides TranslatableInterface:: |
|
ContentEntityBase:: |
public | function |
Determines if the current translation of the entity has unsaved changes. Overrides TranslatableInterface:: |
|
ContentEntityBase:: |
public | function |
Gets the identifier. Overrides EntityBase:: |
|
ContentEntityBase:: |
protected | function | Instantiates a translation object for an existing translation. | |
ContentEntityBase:: |
public | function |
Checks if this entity is the default revision. Overrides RevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Checks whether the translation is the default one. Overrides TranslatableInterface:: |
|
ContentEntityBase:: |
public | function |
Checks if untranslatable fields should affect only the default translation. Overrides TranslatableRevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Checks if this entity is the latest revision. Overrides RevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Checks whether this is the latest revision affecting this translation. Overrides TranslatableRevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Determines whether a new revision should be created on save. Overrides RevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Checks whether the translation is new. Overrides TranslatableInterface:: |
|
ContentEntityBase:: |
public | function |
Checks whether the current translation is affected by the current revision. Overrides TranslatableRevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Checks if the revision translation affected flag value has been enforced. Overrides TranslatableRevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Returns the translation support status. Overrides TranslatableInterface:: |
|
ContentEntityBase:: |
public | function |
Checks whether entity validation is required before saving the entity. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
public | function |
Gets the label of the entity. Overrides EntityBase:: |
2 |
ContentEntityBase:: |
public | function |
Gets the language of the entity. Overrides EntityBase:: |
|
ContentEntityBase:: |
public | function |
Reacts to changes to a field. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
public | function |
Acts on a created entity before hooks are invoked. Overrides EntityBase:: |
|
ContentEntityBase:: |
public | function |
Acts on a saved entity before the insert or update hook is invoked. Overrides EntityBase:: |
5 |
ContentEntityBase:: |
public | function |
Acts on an entity before the presave hook is invoked. Overrides EntityBase:: |
5 |
ContentEntityBase:: |
public | function |
Acts on a revision before it gets saved. Overrides RevisionableInterface:: |
2 |
ContentEntityBase:: |
public | function |
Gets a list of entities referenced by this entity. Overrides EntityBase:: |
1 |
ContentEntityBase:: |
public | function |
Removes the translation identified by the given language code. Overrides TranslatableInterface:: |
|
ContentEntityBase:: |
public | function |
Sets a field value. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
protected | function | Populates the local cache for the default language code. | |
ContentEntityBase:: |
public | function |
Enforces an entity to be saved as a new revision. Overrides RevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Marks the current revision translation as affected. Overrides TranslatableRevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Enforces the revision translation affected flag value. Overrides TranslatableRevisionableInterface:: |
|
ContentEntityBase:: |
public | function |
Sets whether entity validation is required before saving the entity. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
public | function |
Gets an array of all property values. Overrides EntityBase:: |
|
ContentEntityBase:: |
protected | function | Updates language for already instantiated fields. | |
ContentEntityBase:: |
public | function |
Updates the loaded Revision ID with the revision ID. Overrides RevisionableInterface:: |
|
ContentEntityBase:: |
public | function | Updates the original values with the interim changes. | |
ContentEntityBase:: |
public | function |
Gets the entity UUID (Universally Unique Identifier). Overrides EntityBase:: |
|
ContentEntityBase:: |
public | function |
Validates the currently set values. Overrides FieldableEntityInterface:: |
|
ContentEntityBase:: |
public | function |
Checks whether the entity object was a default revision when it was saved. Overrides RevisionableInterface:: |
|
ContentEntityBase:: |
public | function | Magic method: Implements a deep clone. | |
ContentEntityBase:: |
public | function |
Constructs an Entity object. Overrides EntityBase:: |
|
ContentEntityBase:: |
public | function | Implements the magic method for getting object properties. | |
ContentEntityBase:: |
public | function | Implements the magic method for isset(). | |
ContentEntityBase:: |
public | function | Implements the magic method for setting object properties. | |
ContentEntityBase:: |
public | function |
Overrides EntityBase:: |
|
ContentEntityBase:: |
public | function | Implements the magic method for unset(). | |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | Aliased as: traitSleep | 1 |
DependencySerializationTrait:: |
public | function | 2 | |
EntityBase:: |
protected | property | Boolean indicating whether the entity should be forced to be new. | |
EntityBase:: |
protected | property | The entity type. | |
EntityBase:: |
protected | property | A typed data object wrapping this entity. | |
EntityBase:: |
public static | function |
Constructs a new entity object, without permanently saving it. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Deletes an entity permanently. Overrides EntityInterface:: |
2 |
EntityBase:: |
public | function |
Enforces an entity to be new. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | Gets the entity manager. | |
EntityBase:: |
protected | function | Gets the entity type bundle info service. | |
EntityBase:: |
protected | function | Gets the entity type manager. | |
EntityBase:: |
public | function |
The cache contexts associated with this object. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
The maximum age for which this object may be cached. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
The cache tags associated with this object. Overrides CacheableDependencyTrait:: |
|
EntityBase:: |
public | function |
Returns the cache tags that should be used to invalidate caches. Overrides EntityInterface:: |
2 |
EntityBase:: |
public | function |
Gets the key that is used to store configuration dependencies. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the configuration dependency name. Overrides EntityInterface:: |
1 |
EntityBase:: |
public | function |
Gets the configuration target identifier for the entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
public | function |
Gets the entity type definition. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the ID of the type of the entity. Overrides EntityInterface:: |
|
EntityBase:: |
protected | function | The list cache tags to invalidate for this entity. | |
EntityBase:: |
public | function |
Gets the original ID. Overrides EntityInterface:: |
1 |
EntityBase:: |
public | function |
Gets a typed data object for this entity object. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Indicates if a link template exists for a given key. Overrides EntityInterface:: |
|
EntityBase:: |
protected static | function | Invalidates an entity's cache tags upon delete. | 1 |
EntityBase:: |
protected | function | Invalidates an entity's cache tags upon save. | 1 |
EntityBase:: |
public | function |
Determines whether the entity is new. Overrides EntityInterface:: |
2 |
EntityBase:: |
protected | function | Gets the language manager. | |
EntityBase:: |
public | function |
Deprecated way of generating a link to the entity. See toLink(). Overrides EntityInterface:: |
1 |
EntityBase:: |
protected | function | Gets an array link templates. | 1 |
EntityBase:: |
public static | function |
Loads an entity. Overrides EntityInterface:: |
|
EntityBase:: |
public static | function |
Loads one or more entities. Overrides EntityInterface:: |
|
EntityBase:: |
public static | function |
Acts on deleted entities before the delete hook is invoked. Overrides EntityInterface:: |
16 |
EntityBase:: |
public static | function |
Acts on loaded entities. Overrides EntityInterface:: |
2 |
EntityBase:: |
public static | function |
Acts on entities before they are deleted and before hooks are invoked. Overrides EntityInterface:: |
4 |
EntityBase:: |
public | function |
Saves an entity permanently. Overrides EntityInterface:: |
3 |
EntityBase:: |
public | function |
Sets the original ID. Overrides EntityInterface:: |
1 |
EntityBase:: |
public | function |
Generates the HTML for a link to this entity. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the URL object for the entity. Overrides EntityInterface:: |
2 |
EntityBase:: |
public | function |
Gets a list of URI relationships supported by this entity. Overrides EntityInterface:: |
|
EntityBase:: |
public | function |
Gets the public URL for this entity. Overrides EntityInterface:: |
2 |
EntityBase:: |
public | function |
Gets the URL object for the entity. Overrides EntityInterface:: |
1 |
EntityBase:: |
protected | function | Gets an array of placeholders for this entity. | 2 |
EntityBase:: |
protected | function | Gets the UUID generator. | |
EntityChangedTrait:: |
public | function | Gets the timestamp of the last entity change for the current translation. | |
EntityChangedTrait:: |
public | function | Returns the timestamp of the last entity change across all translations. | |
EntityChangedTrait:: |
public | function | Sets the timestamp of the last entity change for the current translation. | |
EntityChangesDetectionTrait:: |
protected | function | Returns an array of field names to skip when checking for changes. Aliased as: traitGetFieldsToSkipFromTranslationChangesCheck | |
RefinableCacheableDependencyTrait:: |
public | function | 1 | |
RefinableCacheableDependencyTrait:: |
public | function | ||
RefinableCacheableDependencyTrait:: |
public | function | ||
RefinableCacheableDependencyTrait:: |
public | function | ||
SynchronizableEntityTrait:: |
protected | property | Whether this entity is being created, updated or deleted through a synchronization process. | |
SynchronizableEntityTrait:: |
public | function | ||
SynchronizableEntityTrait:: |
public | function | ||
TranslationStatusInterface:: |
constant | Status code identifying a newly created translation. | ||
TranslationStatusInterface:: |
constant | Status code identifying an existing translation. | ||
TranslationStatusInterface:: |
constant | Status code identifying a removed translation. |