function select_registration_roles_form_alter in Select registration roles 8
Implements hook_form_alter().
File
- ./
select_registration_roles.module, line 20
Code
function select_registration_roles_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
if ($form_id == "user_register_form") {
$roles = array();
$config = \Drupal::configFactory()
->getEditable('select_registration_roles.settings');
$display_roles = $config
->get('select_registration_roles_setby_admin');
if (empty($display_roles)) {
$form['select_roles'] = array(
'#type' => 'checkboxes',
'#title' => t('You must configure <a href = "!configure">role field on the registration form.</a>', array(
'!configure' => \Drupal::url('select_registration_roles.roles_set_by_admin'),
)),
'#options' => $roles,
);
}
else {
$approval_roles = $config
->get('select_registration_roles_admin_approval');
$display_roles = $config
->get('select_registration_roles_setby_admin');
foreach ($display_roles as $role_id => $role_name) {
if ($role_name !== 0) {
if ($approval_roles[$role_id] === $display_roles[$role_id]) {
$role_name .= t("<i>*needs administration approval</i>");
}
$roles[$role_id] = $role_name;
$form['select_roles'] = array(
'#type' => 'radios',
'#title' => t('Choose a role'),
'#options' => $roles,
'#cache' => array(
'max-age' => -1,
),
);
}
}
}
$form['actions']['submit']['#submit'][] = 'select_registration_roles_form_submit';
}
}