Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. User.php

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\Entity

Code

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});
        }
    }
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal