public function SettingsForm::buildForm in Lightning Core 8.3
Same name and namespace in other branches
- 8.5 modules/lightning_roles/src/Form/SettingsForm.php \Drupal\lightning_roles\Form\SettingsForm::buildForm()
- 8 modules/lightning_roles/src/Form/SettingsForm.php \Drupal\lightning_roles\Form\SettingsForm::buildForm()
- 8.2 modules/lightning_roles/src/Form/SettingsForm.php \Drupal\lightning_roles\Form\SettingsForm::buildForm()
- 8.4 modules/lightning_roles/src/Form/SettingsForm.php \Drupal\lightning_roles\Form\SettingsForm::buildForm()
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides ConfigFormBase::buildForm
File
- modules/
lightning_roles/ src/ Form/ SettingsForm.php, line 56
Class
- SettingsForm
- The settings form for controlling Lightning Roles' behavior.
Namespace
Drupal\lightning_roles\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this
->config('lightning_roles.settings')
->get('content_roles');
$permission_map = function ($permission) {
return str_replace('?', NULL, $permission);
};
foreach ($config as $key => $role) {
$role['permissions'] = array_map($permission_map, $role['permissions']);
$form['content_roles'][$key] = [
'#type' => 'checkbox',
'#title' => $this
->t('Provide @label role for new content types', [
'@label' => $permission_map($role['label']),
]),
'#default_value' => $role['enabled'],
'#description' => $this
->t('Gives permission to @permissions', [
'@permissions' => implode(', ', $role['permissions']),
]),
];
}
$form['content_roles']['#tree'] = TRUE;
return parent::buildForm($form, $form_state);
}