public function SimpleLdapServerSettingsForm::buildForm in Simple LDAP 8
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
- src/
Form/ SimpleLdapServerSettingsForm.php, line 28
Class
Namespace
Drupal\simple_ldap\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this
->config('simple_ldap.server');
$form['status'] = array(
'#type' => 'fieldset',
'#title' => $this
->t('Connection status'),
);
$form['status']['current'] = array(
'#type' => 'item',
'#markup' => $this
->getBindStatus(),
);
$form['server'] = array(
'#type' => 'fieldset',
'#title' => $this
->t('LDAP Server Connection'),
'#open' => TRUE,
);
$form['server']['host'] = array(
'#type' => 'textfield',
'#title' => $this
->t('Host'),
'#required' => TRUE,
'#default_value' => $config
->get('host'),
);
$form['server']['port'] = array(
'#type' => 'textfield',
'#title' => $this
->t('Port'),
'#required' => TRUE,
'#default_value' => $config
->get('port'),
);
$form['server']['encryption'] = array(
'#type' => 'select',
'#title' => $this
->t('Encryption'),
'#options' => array(
'none' => $this
->t('None'),
'ssl' => $this
->t('SSL'),
'tls' => $this
->t('TLS'),
),
'#default_value' => $config
->get('encryption'),
);
// For now, we only allow readonly servers.
$form['server']['readonly'] = array(
'#type' => 'checkbox',
'#title' => $this
->t('Read-only'),
'#default_value' => TRUE,
'#disabled' => TRUE,
);
$form['directory'] = array(
'#type' => 'fieldset',
'#title' => $this
->t('Directory Information'),
'#open' => TRUE,
);
$form['directory']['binddn'] = array(
'#type' => 'textfield',
'#title' => $this
->t('Bind DN'),
'#default_value' => $config
->get('binddn'),
'#description' => $this
->t('Leave this blank to bind anonymously'),
);
$form['directory']['bindpw'] = array(
'#type' => 'password',
'#title' => $this
->t('Bind password'),
'#attributes' => array(
'value' => array(
$config
->get('bindpw'),
),
),
'#description' => $this
->t('Leave this blank to bind anonymously'),
);
$form['directory']['basedn'] = array(
'#type' => 'textfield',
'#title' => t('Base DN'),
'#default_value' => $config
->get('basedn'),
'#description' => t('Leave this blank to attempt to detect the base DN.'),
);
$form['directory']['pagesize'] = array(
'#type' => 'textfield',
'#title' => t('Search result page size'),
'#default_value' => $config
->get('pagesize'),
'#description' => $this
->t('Leave this blank to disable paged queries.'),
);
// Advanced settings.
$form['advanced'] = array(
'#type' => 'details',
'#title' => $this
->t('Advanced'),
'#open' => FALSE,
);
$form['advanced']['opt_referrals'] = array(
'#type' => 'checkbox',
'#title' => $this
->t('Follow LDAP referrals'),
'#default_value' => $config
->get('opt_referrals'),
);
return parent::buildForm($form, $form_state);
}