3fefc62c82afd684dc9710c0416f74e95d19b59d
[yaffs-website] / vendor / drush / drush / tests / resources / user_fields-D8.php
1 <?php
2
3 use Drupal\field\Entity\FieldStorageConfig;
4 use Drupal\field\Entity\FieldConfig;
5 use Drupal\user\Entity\User;
6
7 // @see https://api.drupal.org/api/drupal/core%21lib%21Drupal%21Core%21Field%21Annotation%21FieldType.php/class/annotations/FieldType/8.2.x
8 create_field('field_user_email', 'email', 'user','user');
9 create_field('field_user_string', 'string', 'user','user');
10 create_field('field_user_string_long', 'string_long', 'user','user');
11 create_field('field_user_telephone', 'telephone', 'user','user');
12 create_field('field_user_text', 'text', 'user','user');
13 create_field('field_user_text_long', 'text_long', 'user','user');
14 create_field('field_user_text_with_summary', 'text_with_summary', 'user','user');
15
16 // @todo Find a Symfony-ish way to get arguments.
17 $args = drush_get_arguments();
18
19 // Create a user.
20 $values = [
21   'field_user_email' => 'joe.user.alt@myhome.com',
22   'field_user_string' => 'Private info',
23   'field_user_string_long' => 'Really private info',
24   'field_user_telephone' => '4104442222',
25   'field_user_text' => 'Super private info',
26   'field_user_text_long' => 'Super duper private info',
27   'field_user_text_with_summary' => 'Private',
28 ];
29
30 $user = User::create([
31   'name' => $args[2],
32   'mail' => $args[3],
33   'pass' => 'password',
34 ]);
35
36 foreach ($values as $field_name => $value) {
37   $user->set($field_name, $value);
38 }
39
40 $return = $user->save();
41
42 /**
43  * Create a field on an entity.
44  *
45  * @param string $field_name
46  *   The name of the field.
47  * @param string $field_type
48  *   The field type.
49  * @param string $entity_type
50  *   The entity type. E.g., user.
51  * @param $bundle
52  *   The entity bundle. E.g., article.
53  */
54 function create_field($field_name, $field_type, $entity_type, $bundle) {
55   $field_storage = FieldStorageConfig::create(array(
56     'field_name' => $field_name,
57     'entity_type' => $entity_type,
58     'type' => $field_type,
59   ));
60   $field_storage->save();
61   FieldConfig::create([
62     'field_storage' => $field_storage,
63     'bundle' => $bundle,
64     'label' => $field_name,
65     'settings' => [],
66   ])->save();
67 }