function User::preSave
Overrides ContentEntityBase::preSave
File
-
core/
modules/ user/ src/ Entity/ User.php, line 106
Class
- User
- Defines the user entity class.
Namespace
Drupal\user\EntityCode
public function preSave(EntityStorageInterface $storage) {
parent::preSave($storage);
// Make sure that the authenticated/anonymous roles are not persisted.
foreach ($this->get('roles') as $index => $item) {
if (in_array($item->target_id, [
RoleInterface::ANONYMOUS_ID,
RoleInterface::AUTHENTICATED_ID,
])) {
$this->get('roles')
->offsetUnset($index);
}
}
// Store account cancellation information.
foreach ([
'user_cancel_method',
'user_cancel_notify',
] as $key) {
if (isset($this->{$key})) {
\Drupal::service('user.data')->set('user', $this->id(), substr($key, 5), $this->{$key});
}
}
}