class WebformEncryptSubmissionStorage in Webform Encrypt 8
Alter webform submission storage definitions.
Hierarchy
- class \Drupal\Core\Entity\EntityHandlerBase uses DependencySerializationTrait, StringTranslationTrait
- class \Drupal\Core\Entity\EntityStorageBase implements EntityHandlerInterface, EntityStorageInterface
- class \Drupal\Core\Entity\ContentEntityStorageBase implements ContentEntityStorageInterface, DynamicallyFieldableEntityStorageInterface uses DeprecatedServicePropertyTrait
- class \Drupal\Core\Entity\Sql\SqlContentEntityStorage implements EntityBundleListenerInterface, DynamicallyFieldableEntityStorageSchemaInterface, SqlEntityStorageInterface
- class \Drupal\webform\WebformSubmissionStorage implements WebformSubmissionStorageInterface
- class \Drupal\webform_encrypt\WebformEncryptSubmissionStorage
- class \Drupal\webform\WebformSubmissionStorage implements WebformSubmissionStorageInterface
- class \Drupal\Core\Entity\Sql\SqlContentEntityStorage implements EntityBundleListenerInterface, DynamicallyFieldableEntityStorageSchemaInterface, SqlEntityStorageInterface
- class \Drupal\Core\Entity\ContentEntityStorageBase implements ContentEntityStorageInterface, DynamicallyFieldableEntityStorageInterface uses DeprecatedServicePropertyTrait
- class \Drupal\Core\Entity\EntityStorageBase implements EntityHandlerInterface, EntityStorageInterface
Expanded class hierarchy of WebformEncryptSubmissionStorage
File
- src/
WebformEncryptSubmissionStorage.php, line 24
Namespace
Drupal\webform_encryptView source
class WebformEncryptSubmissionStorage extends WebformSubmissionStorage {
/**
* The encryption Service.
*
* @var \Drupal\encrypt\EncryptServiceInterface
*/
protected $encryptionService;
/**
* WebformEncryptSubmissionStorage constructor.
*
* @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
* The entity type definition.
* @param \Drupal\Core\Database\Connection $database
* The database connection to be used.
* @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
* The entity type manager.
* @param \Drupal\Core\Cache\CacheBackendInterface $cache
* The cache backend to be used.
* @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
* The language manager.
* @param \Drupal\Core\Session\AccountProxyInterface $current_user
* Proxied implementation of AccountInterface, to access current user data.
* @param \Drupal\webform\WebformAccessRulesManagerInterface $access_rules_manager
* The webform access rules manager.
* @param \Drupal\encrypt\EncryptServiceInterface $encryptService
* The encryption Service.
*/
public function __construct(EntityTypeInterface $entity_type, Connection $database, EntityTypeManagerInterface $entity_type_manager, CacheBackendInterface $cache, LanguageManagerInterface $language_manager, AccountProxyInterface $current_user, WebformAccessRulesManagerInterface $access_rules_manager, EncryptServiceInterface $encryptService) {
parent::__construct($entity_type, $database, $entity_type_manager, $cache, $language_manager, $current_user, $access_rules_manager);
$this->encryptionService = $encryptService;
}
/**
* {@inheritdoc}
*/
public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) {
return new static($entity_type, $container
->get('database'), $container
->get('entity.manager'), $container
->get('cache.entity'), $container
->get('language_manager'), $container
->get('current_user'), $container
->get('webform.access_rules_manager'), $container
->get('encryption'));
}
/**
* Helper function to recursively encrypt fields.
*
* @param array $data
* The current form data array.
* @param \Drupal\webform\WebformInterface $webform
* The webform we are encrypting.
*
* @return array
* Array of form data with the value encrypted for those elements setup
* for being processed by an encryption profile.
*
* @throws \Drupal\encrypt\Exception\EncryptException
*/
public function encryptElements(array $data, WebformInterface $webform) {
// Load the configuration.
$config = $webform
->getThirdPartySetting('webform_encrypt', 'element');
foreach ($data as $element_name => $value) {
$encryption_profile = isset($config[$element_name]) ? EncryptionProfile::load($config[$element_name]['encrypt_profile']) : FALSE;
// If the value is an array and we have a encryption profile.
if ($encryption_profile) {
if (is_array($value)) {
$this
->encryptChildren($data[$element_name], $encryption_profile);
}
else {
$encrypted_value = $this
->encrypt($value, $encryption_profile);
// Save the encrypted data value.
$data[$element_name] = $encrypted_value;
}
}
}
return $data;
}
/**
* Helper function to recursively encrypt children of fields.
*
* @param array $data
* Element data by reference.
* @param \Drupal\encrypt\EncryptionProfileInterface $encryption_profile
* The encryption profile to be used on this element.
*
* @throws \Drupal\encrypt\Exception\EncryptException
*/
public function encryptChildren(array &$data, EncryptionProfileInterface $encryption_profile) {
foreach ($data as $key => $value) {
if (is_array($value)) {
$this
->encryptChildren($data[$key], $encryption_profile);
}
else {
$encrypted_value = $this
->encrypt($value, $encryption_profile);
$data[$key] = $encrypted_value;
}
}
}
/**
* Encrypts a string.
*
* @param string $string
* The string to be decrypted.
* @param \Drupal\encrypt\EncryptionProfileInterface $encryption_profile
* The encryption profile to be used to encrypt the string.
*
* @return string
* The serialized encrypted value.
*
* @throws \Drupal\encrypt\Exception\EncryptException
*/
protected function encrypt($string, EncryptionProfileInterface $encryption_profile) {
// Serialize the data to include the encryption profile.
// This is used later to check for changes in the profile.
$encrypted_data = [
'data' => $this->encryptionService
->encrypt($string, $encryption_profile),
'encrypt_profile' => $encryption_profile
->id(),
];
return serialize($encrypted_data);
}
/**
* Decrypts a string.
*
* @param string $data
* The serialized submission data to be decrypted.
* @param bool $check_permissions
* Flag that controls permissions check.
*
* @return string
* The decrypted value.
*
* @throws \Drupal\encrypt\Exception\EncryptException
*/
protected function decrypt($data, $check_permissions = TRUE) {
if ($check_permissions && !$this->currentUser
->hasPermission('view encrypted values')) {
return '[Value Encrypted]';
}
$unserialized = unserialize($data);
if (isset($unserialized['data']) && isset($unserialized['encrypt_profile'])) {
$encryption_profile = EncryptionProfile::load($unserialized['encrypt_profile']);
return $this->encryptionService
->decrypt($unserialized['data'], $encryption_profile);
}
return $data;
}
/**
* Helper function to recursively decrypt fields.
*
* @param \Drupal\webform\WebformSubmissionInterface $webform_submission
* The webform submission to work on.
* @param bool $check_permissions
* Flag that controls permissions check.
*
* @return array
* Array of form data with the value now decrypted for those elements setup
* for being processed by an encryption profile.
*
* @throws \Drupal\encrypt\Exception\EncryptException
*/
public function decryptElements(WebformSubmissionInterface $webform_submission, $check_permissions = TRUE) {
// Load webform.
$webform = $webform_submission
->getWebform();
// Load submission data.
$data = $webform_submission
->getData();
// Load the configuration.
$config = $webform
->getThirdPartySetting('webform_encrypt', 'element');
foreach ($data as $element_name => $value) {
if (isset($config[$element_name]) && $config[$element_name]['encrypt']) {
if (is_array($value)) {
$this
->decryptChildren($data[$element_name], $check_permissions);
}
else {
$decrypted_value = $this
->decrypt($value, $check_permissions);
// Save the decrypted data value.
$data[$element_name] = $decrypted_value;
}
}
}
return $data;
}
/**
* Helper function to recursively decrypt children of fields.
*
* @param array $data
* Element data by reference.
* @param bool $check_permissions
* Flag that controls permissions check.
*
* @throws \Drupal\encrypt\Exception\EncryptException
*/
public function decryptChildren(array &$data, $check_permissions = TRUE) {
foreach ($data as $key => $value) {
if (is_array($value)) {
$this
->decryptChildren($data[$key], $check_permissions);
}
else {
$decrypted_value = $this
->decrypt($value, $check_permissions);
$data[$key] = $decrypted_value;
}
}
}
/**
* {@inheritdoc}
*/
protected function doPreSave(EntityInterface $entity) {
/** @var \Drupal\webform\WebformSubmissionInterface $entity */
$id = parent::doPreSave($entity);
$data_original = $entity
->getData();
$webform = $entity
->getWebform();
$encrypted_data = $this
->encryptElements($data_original, $webform);
$entity
->setData($encrypted_data);
return $id;
}
/**
* {@inheritdoc}
*/
protected function doPostSave(EntityInterface $entity, $update) {
/** @var \Drupal\webform\WebformSubmissionInterface $entity */
// Decrypt and set data post save so it remains readable for multistep
// webforms and/or any other process that may take place after saving.
$data = $this
->decryptElements($entity, FALSE);
$entity
->setData($data);
parent::doPostSave($entity, $update);
}
/**
* {@inheritdoc}
*/
protected function loadData(array &$webform_submissions) {
parent::loadData($webform_submissions);
foreach ($webform_submissions as &$webform_submission) {
$data = $this
->decryptElements($webform_submission);
$webform_submission
->setData($data);
$webform_submission
->setOriginalData($data);
}
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ContentEntityStorageBase:: |
protected | property | The entity bundle key. | |
ContentEntityStorageBase:: |
protected | property | Cache backend. | |
ContentEntityStorageBase:: |
protected | property | ||
ContentEntityStorageBase:: |
protected | property | The entity field manager service. | |
ContentEntityStorageBase:: |
protected | property | The entity bundle info. | |
ContentEntityStorageBase:: |
protected | property | Stores the latest revision IDs for entities. | |
ContentEntityStorageBase:: |
protected | function | Ensures integer entity key values are valid. | |
ContentEntityStorageBase:: |
public | function |
Creates a new revision starting off from the specified entity object. Overrides TranslatableRevisionableStorageInterface:: |
|
ContentEntityStorageBase:: |
public | function |
Constructs a new entity translation object, without permanently saving it. Overrides TranslatableStorageInterface:: |
|
ContentEntityStorageBase:: |
public | function |
Creates an entity with sample field values. Overrides ContentEntityStorageInterface:: |
1 |
ContentEntityStorageBase:: |
public | function |
Delete a specific entity revision. Overrides EntityStorageInterface:: |
1 |
ContentEntityStorageBase:: |
protected | function |
Performs storage-specific entity deletion. Overrides EntityStorageBase:: |
1 |
ContentEntityStorageBase:: |
protected | function | Gets entities from the persistent cache backend. | |
ContentEntityStorageBase:: |
public | function |
Returns the latest revision identifier for an entity. Overrides RevisionableStorageInterface:: |
|
ContentEntityStorageBase:: |
public | function |
Returns the latest revision affecting the specified translation. Overrides TranslatableRevisionableStorageInterface:: |
|
ContentEntityStorageBase:: |
protected | function | Returns an array of field names to skip when merging revision translations. | |
ContentEntityStorageBase:: |
protected | function | Checks whether the field values changed compared to the original entity. | |
ContentEntityStorageBase:: |
protected | function | Initializes field values. | |
ContentEntityStorageBase:: |
protected | function | Invokes a method on the Field objects within an entity. | |
ContentEntityStorageBase:: |
protected | function | Invokes the post save method on the Field objects within an entity. | |
ContentEntityStorageBase:: |
protected | function |
Invokes a hook on behalf of the entity. Overrides EntityStorageBase:: |
1 |
ContentEntityStorageBase:: |
protected | function | Invokes hook_entity_storage_load(). | |
ContentEntityStorageBase:: |
protected | function | Checks translation statuses and invoke the related hooks if needed. | |
ContentEntityStorageBase:: |
protected | function | Checks whether any entity revision is translated. | |
ContentEntityStorageBase:: |
protected | function | Checks whether any stored entity revision is translated. | |
ContentEntityStorageBase:: |
public | function |
Loads multiple entity revisions. Overrides RevisionableStorageInterface:: |
1 |
ContentEntityStorageBase:: |
public | function |
Load a specific entity revision. Overrides EntityStorageInterface:: |
1 |
ContentEntityStorageBase:: |
public | function |
Loads an unchanged entity from the database. Overrides EntityStorageBase:: |
|
ContentEntityStorageBase:: |
public | function |
Reacts to the creation of a field. Overrides FieldDefinitionListenerInterface:: |
|
ContentEntityStorageBase:: |
public | function |
Reacts to the update of a field. Overrides FieldDefinitionListenerInterface:: |
|
ContentEntityStorageBase:: |
protected | function | Populates the affected flag for all the revision translations. | |
ContentEntityStorageBase:: |
protected | function |
Gathers entities from a 'preload' step. Overrides EntityStorageBase:: |
|
ContentEntityStorageBase:: |
public | function |
Purges a batch of field data. Overrides FieldableEntityStorageInterface:: |
|
ContentEntityStorageBase:: |
public | function |
Resets the internal, static entity cache. Overrides EntityStorageBase:: |
1 |
ContentEntityStorageBase:: |
protected | function | Stores entities in the persistent cache backend. | |
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 | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
DeprecatedServicePropertyTrait:: |
public | function | Allows to access deprecated/removed properties. | |
EntityHandlerBase:: |
protected | property | The module handler to invoke hooks on. | 2 |
EntityHandlerBase:: |
protected | function | Gets the module handler. | 2 |
EntityHandlerBase:: |
public | function | Sets the module handler for this handler. | |
EntityStorageBase:: |
protected | property | Name of the entity class. | |
EntityStorageBase:: |
protected | property | Information about the entity type. | |
EntityStorageBase:: |
protected | property | Entity type ID for this storage. | |
EntityStorageBase:: |
protected | property | Name of the entity's ID field in the entity database table. | |
EntityStorageBase:: |
protected | property | The memory cache. | |
EntityStorageBase:: |
protected | property | The memory cache cache tag. | |
EntityStorageBase:: |
protected | property | Name of entity's UUID database table field, if it supports UUIDs. | 1 |
EntityStorageBase:: |
protected | property | The UUID service. | 1 |
EntityStorageBase:: |
protected | function | Builds the cache ID for the passed in entity ID. | 1 |
EntityStorageBase:: |
public | function |
Gets an aggregated query instance. Overrides EntityStorageInterface:: |
|
EntityStorageBase:: |
public | function |
Gets the entity type definition. Overrides EntityStorageInterface:: |
|
EntityStorageBase:: |
public | function |
Gets the entity type ID. Overrides EntityStorageInterface:: |
|
EntityStorageBase:: |
protected | function | Gets entities from the static cache. | |
EntityStorageBase:: |
public | function |
Gets an entity query instance. Overrides EntityStorageInterface:: |
|
EntityStorageBase:: |
public | function |
Determines if the storage contains any data. Overrides EntityStorageInterface:: |
3 |
EntityStorageBase:: |
public | function |
Loads one entity. Overrides EntityStorageInterface:: |
2 |
EntityStorageBase:: |
public | function |
Load entities by their property values. Overrides EntityStorageInterface:: |
3 |
EntityStorageBase:: |
public | function |
Loads one or more entities. Overrides EntityStorageInterface:: |
1 |
EntityStorageBase:: |
protected | function | Stores entities in the static entity cache. | |
EntityStorageInterface:: |
constant | Load the most recent version of an entity's field data. | ||
EntityStorageInterface:: |
constant | Load the version of an entity's field data specified in the entity. | ||
SqlContentEntityStorage:: |
protected | property | The base table of the entity. | |
SqlContentEntityStorage:: |
protected | property | Active database connection. | |
SqlContentEntityStorage:: |
protected | property | The table that stores properties, if the entity has multilingual support. | |
SqlContentEntityStorage:: |
protected | property | The default language entity key. | |
SqlContentEntityStorage:: |
protected | property | The entity type manager. | |
SqlContentEntityStorage:: |
protected | property | The entity type's field storage definitions. | |
SqlContentEntityStorage:: |
protected | property |
The entity langcode key. Overrides EntityStorageBase:: |
|
SqlContentEntityStorage:: |
protected | property | The language manager. | |
SqlContentEntityStorage:: |
protected | property | The table that stores revision field data if the entity supports revisions. | |
SqlContentEntityStorage:: |
protected | property | Name of entity's revision database table field, if it supports revisions. | |
SqlContentEntityStorage:: |
protected | property | The table that stores revisions, if the entity supports revisions. | |
SqlContentEntityStorage:: |
protected | property | The entity type's storage schema object. | |
SqlContentEntityStorage:: |
protected | property | The mapping of field columns to SQL tables. | |
SqlContentEntityStorage:: |
protected | property | Whether this storage should use the temporary table mapping. | |
SqlContentEntityStorage:: |
protected | function | Builds the query to load the entity. | |
SqlContentEntityStorage:: |
public | function |
Determines the number of entities with values for a given field. Overrides FieldableEntityStorageInterface:: |
|
SqlContentEntityStorage:: |
protected | function | Deletes values of fields in dedicated tables for all revisions. | |
SqlContentEntityStorage:: |
protected | function | Deletes values of fields in dedicated tables for all revisions. | |
SqlContentEntityStorage:: |
protected | function |
Deletes entity field values from the storage. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
protected | function |
Deletes field values of an entity revision from the storage. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
protected | function |
Actually loads revision field item values from the storage. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
protected | function |
Actually loads revision field item values from the storage. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
protected | function |
Writes entity field values to the storage. Overrides ContentEntityStorageBase:: |
1 |
SqlContentEntityStorage:: |
public | function |
Performs final cleanup after all data of a field has been purged. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
public | function | Gets the base table name. | |
SqlContentEntityStorage:: |
public | function | Gets a table mapping for the specified entity type and storage definitions. | |
SqlContentEntityStorage:: |
public | function | Gets the data table name. | |
SqlContentEntityStorage:: |
public | function | Gets the base field definitions for a content entity type. | |
SqlContentEntityStorage:: |
protected | function | Gets entities from the storage. | |
SqlContentEntityStorage:: |
protected | function |
Gets the name of the service for the query for this entity storage. Overrides EntityStorageBase:: |
|
SqlContentEntityStorage:: |
public | function | Gets the revision data table name. | |
SqlContentEntityStorage:: |
public | function | Gets the revision table name. | |
SqlContentEntityStorage:: |
protected | function | Gets the entity type's storage schema object. | |
SqlContentEntityStorage:: |
public | function |
Gets a table mapping for the entity's SQL tables. Overrides SqlEntityStorageInterface:: |
|
SqlContentEntityStorage:: |
protected | function |
Determines if this entity already exists in storage. Overrides EntityStorageBase:: |
|
SqlContentEntityStorage:: |
protected | function | Initializes table name variables. | |
SqlContentEntityStorage:: |
protected | function | Checks whether a field column should be treated as serial. | 1 |
SqlContentEntityStorage:: |
protected | function | Loads values of fields stored in dedicated tables for a group of entities. | |
SqlContentEntityStorage:: |
protected | function | Loads values for fields stored in the shared data tables. | |
SqlContentEntityStorage:: |
protected | function |
Maps from storage records to entity objects, and attaches fields. Overrides EntityStorageBase:: |
|
SqlContentEntityStorage:: |
protected | function | Maps from an entity object to the storage record of the field data. | |
SqlContentEntityStorage:: |
protected | function | Maps from an entity object to the storage record. | |
SqlContentEntityStorage:: |
public | function |
Reacts to a bundle being created. Overrides EntityBundleListenerInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Reacts to a bundle being deleted. Overrides EntityBundleListenerInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Reacts to the creation of the entity type. Overrides EntityTypeListenerInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Reacts to the deletion of the entity type. Overrides EntityTypeListenerInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Reacts to the update of the entity type. Overrides EntityTypeListenerInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Reacts to the creation of the fieldable entity type. Overrides EntityTypeListenerInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Reacts to the update of a fieldable entity type. Overrides EntityTypeListenerInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Reacts to the deletion of a field. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
public | function |
Reacts to the creation of a field storage definition. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
public | function |
Reacts to the deletion of a field storage definition. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
public | function |
Reacts to the update of a field storage definition. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
protected | function |
Removes field items from storage per entity during purge. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
protected | function |
Reads values to be purged for a single field. Overrides ContentEntityStorageBase:: |
|
SqlContentEntityStorage:: |
public | function |
Checks if existing data would be lost if the schema changes were applied. Overrides EntityStorageSchemaInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Checks if the changes to the entity type requires storage schema changes. Overrides EntityStorageSchemaInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Checks if existing data would be lost if the schema changes were applied. Overrides DynamicallyFieldableEntityStorageSchemaInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Checks if the changes to the storage definition requires schema changes. Overrides DynamicallyFieldableEntityStorageSchemaInterface:: |
|
SqlContentEntityStorage:: |
public | function |
Restores a previously saved entity. Overrides EntityStorageBase:: |
|
SqlContentEntityStorage:: |
protected | function | Saves an entity revision. | |
SqlContentEntityStorage:: |
protected | function | Saves values of fields that use dedicated tables. | 1 |
SqlContentEntityStorage:: |
protected | function | Saves fields that use the shared tables. | |
SqlContentEntityStorage:: |
public | function | Updates the wrapped entity type definition. | |
SqlContentEntityStorage:: |
public | function | Updates the internal list of field storage definitions. | |
SqlContentEntityStorage:: |
public | function | Sets the wrapped table mapping definition. | |
SqlContentEntityStorage:: |
public | function | Changes the temporary state of the storage. | |
SqlContentEntityStorage:: |
protected | function | Determines whether the passed field has been already deleted. | |
SqlContentEntityStorage:: |
protected | function | Wraps a database schema exception into an entity storage exception. | |
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
WebformEncryptSubmissionStorage:: |
protected | property | The encryption Service. | |
WebformEncryptSubmissionStorage:: |
public static | function |
Instantiates a new instance of this entity handler. Overrides WebformSubmissionStorage:: |
|
WebformEncryptSubmissionStorage:: |
protected | function | Decrypts a string. | |
WebformEncryptSubmissionStorage:: |
public | function | Helper function to recursively decrypt children of fields. | |
WebformEncryptSubmissionStorage:: |
public | function | Helper function to recursively decrypt fields. | |
WebformEncryptSubmissionStorage:: |
protected | function |
Performs post save entity processing. Overrides WebformSubmissionStorage:: |
|
WebformEncryptSubmissionStorage:: |
protected | function |
Performs presave entity processing. Overrides WebformSubmissionStorage:: |
|
WebformEncryptSubmissionStorage:: |
protected | function | Encrypts a string. | |
WebformEncryptSubmissionStorage:: |
public | function | Helper function to recursively encrypt children of fields. | |
WebformEncryptSubmissionStorage:: |
public | function | Helper function to recursively encrypt fields. | |
WebformEncryptSubmissionStorage:: |
protected | function |
Save webform submission data from the 'webform_submission_data' table. Overrides WebformSubmissionStorage:: |
|
WebformEncryptSubmissionStorage:: |
public | function |
WebformEncryptSubmissionStorage constructor. Overrides WebformSubmissionStorage:: |
|
WebformSubmissionStorage:: |
protected | property | The webform access rules manager service. | |
WebformSubmissionStorage:: |
protected | property | The current user. | |
WebformSubmissionStorage:: |
protected | property | Array used to element data schema. | |
WebformSubmissionStorage:: |
protected | property | The file system service. | |
WebformSubmissionStorage:: |
protected | property | The replica kill switch. | |
WebformSubmissionStorage:: |
protected | property | The time service. | |
WebformSubmissionStorage:: |
public | function |
Add condition to submission query. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
protected | function |
Builds an entity query. Overrides SqlContentEntityStorage:: |
|
WebformSubmissionStorage:: |
public | function |
Check field definition access. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Constructs a new entity object, without permanently saving it. Overrides EntityStorageBase:: |
|
WebformSubmissionStorage:: |
public | function |
Deletes permanently saved entities. Overrides SqlContentEntityStorage:: |
|
WebformSubmissionStorage:: |
public | function |
Delete all webform submissions. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
protected | function | Delete webform submission data from the 'webform_submission_data' table. | |
WebformSubmissionStorage:: |
protected | function |
Performs storage-specific creation of entities. Overrides ContentEntityStorageBase:: |
|
WebformSubmissionStorage:: |
protected | function |
Performs storage-specific loading of entities. Overrides SqlContentEntityStorage:: |
|
WebformSubmissionStorage:: |
protected | function |
Performs storage-specific saving of the entity. Overrides ContentEntityStorageBase:: |
|
WebformSubmissionStorage:: |
protected | function | Get specified columns in specified order. | |
WebformSubmissionStorage:: |
public | function |
Get anonymous user's submission ids. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get submission columns used to display results table. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get customized submission columns used to display custom table. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get customize setting. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get default submission columns used to display results. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get default submission columns used to display results. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get webform submission entity field definitions. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get a webform's first submission. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get a webform's last submission. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get the maximum sid. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get a webform submission's next sibling. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get a webform submission's previous sibling. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
protected | function | Get a webform submission's sibling. | |
WebformSubmissionStorage:: |
public | function |
Get source entities associated for a specified webform. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get source entities as options for a specified webform. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get total number of source entities. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get webform submission source entities as options. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get webform submission source entity types. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get submissions columns. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
protected | function | Get a webform submission's terminus (aka first or last). | |
WebformSubmissionStorage:: |
public | function |
Get the total number of submissions. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get user submission columns used to display results. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get user default submission columns used to display results. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get user submissions columns. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
protected | function | Check if anonymous users submission are tracked using $_SESSION. | |
WebformSubmissionStorage:: |
public | function |
Determine if a webform element has submission values. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Invoke a webform submission's webform's elements method. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Invoke a webform submission's webform's handlers method. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Load webform submissions by their related entity references. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Get webform submission draft. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Load submission using webform (secure) token. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Write an event to the webform submission log. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
protected | function |
Attaches data to entities upon loading. Overrides EntityStorageBase:: |
|
WebformSubmissionStorage:: |
public | function |
Purge webform submissions. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Resaves the entity without triggering any hooks or handlers. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
public | function |
Saves the entity permanently. Overrides SqlContentEntityStorage:: |
|
WebformSubmissionStorage:: |
public | function |
Save webform submission data to the 'webform_submission_data' table. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
protected | function | Track anonymous submissions. | |
WebformSubmissionStorage:: |
public | function |
React to an event when a user logs in. Overrides WebformSubmissionStorageInterface:: |
|
WebformSubmissionStorage:: |
private | function | Add condition to submission query. | |
WebformSubmissionStorageInterface:: |
constant | Denote to purge automatically all submissions. | ||
WebformSubmissionStorageInterface:: |
constant | Denote to purge automatically only completed submissions. | ||
WebformSubmissionStorageInterface:: |
constant | Denote to purge automatically only drafts. | ||
WebformSubmissionStorageInterface:: |
constant | Denote not to purge automatically anything at all. | ||
WebformSubmissionStorageInterface:: |
constant | Return status for saving of webform submission when saving results is disabled. |