public static function WebformMessage::setClosed in Webform 8.5
Same name and namespace in other branches
- 6.x src/Element/WebformMessage.php \Drupal\webform\Element\WebformMessage::setClosed()
Set message closed via User Data, State API, or Custom.
Parameters
string $storage: The storage mechanism save message closed.
string $id: The ID of the message.
See also
\Drupal\webform\Controller\WebformElementController::close
1 call to WebformMessage::setClosed()
- WebformElementController::close in src/
Controller/ WebformElementController.php - Returns response for message close using user or state storage.
File
- src/
Element/ WebformMessage.php, line 205
Class
- WebformMessage
- Provides a render element for message.
Namespace
Drupal\webform\ElementCode
public static function setClosed($storage, $id) {
$account = \Drupal::currentUser();
$namespace = 'webform.element.message';
switch ($storage) {
case static::STORAGE_STATE:
/** @var \Drupal\Core\State\StateInterface $state */
$state = \Drupal::service('state');
$values = $state
->get($namespace, []);
$values[$id] = TRUE;
$state
->set($namespace, $values);
break;
case static::STORAGE_USER:
/** @var \Drupal\user\UserDataInterface $user_data */
$user_data = \Drupal::service('user.data');
$values = $user_data
->get('webform', $account
->id(), $namespace) ?: [];
$values[$id] = TRUE;
$user_data
->set('webform', $account
->id(), $namespace, $values);
break;
case static::STORAGE_CUSTOM:
\Drupal::moduleHandler()
->invokeAll('webform_message_custom', [
'close',
$id,
]);
break;
}
}