function ExampleDevelGenerate::generateElements

Same name in other branches
  1. 4.x devel_generate/tests/modules/devel_generate_example/src/Plugin/DevelGenerate/ExampleDevelGenerate.php \Drupal\devel_generate_example\Plugin\DevelGenerate\ExampleDevelGenerate::generateElements()

Overrides DevelGenerateBase::generateElements

File

devel_generate/tests/modules/devel_generate_example/src/Plugin/DevelGenerate/ExampleDevelGenerate.php, line 67

Class

ExampleDevelGenerate
Provides a ExampleDevelGenerate plugin.

Namespace

Drupal\devel_generate_example\Plugin\DevelGenerate

Code

protected function generateElements(array $values) : void {
    $num = $values['num'];
    $kill = $values['kill'];
    if ($kill) {
        $this->setMessage($this->t('Old examples have been deleted.'));
    }
    // Creating user in order to demonstrate
    // how to override default business login generation.
    $edit = [
        'uid' => NULL,
        'name' => 'example_devel_generate',
        'pass' => '',
        'mail' => 'example_devel_generate@example.com',
        'status' => 1,
        'created' => $this->time
            ->getRequestTime(),
        'roles' => '',
        // A flag to let hook_user_* know that this is a generated user.
'devel_generate' => TRUE,
    ];
    $account = user_load_by_name('example_devel_generate');
    if (!$account) {
        $account = $this->entityTypeManager
            ->getStorage('user')
            ->create($edit);
    }
    // Populate all fields with sample values.
    $this->populateFields($account);
    $account->save();
    $this->setMessage($this->t('@num_examples created.', [
        '@num_examples' => $this->formatPlural($num, '1 example', '@count examples'),
    ]));
}