public function SCNSettingsForm::buildForm in Simple Comment Notify 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/ SCNSettingsForm.php, line 32
Class
- SCNSettingsForm
- Defines a form that configures forms module settings.
Namespace
Drupal\scn\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$config = $this
->config('scn.settings');
$roles = $config
->get('scn_roles');
$form = [];
$form['fieldset'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Send mail to'),
];
$form['fieldset']['scn_admin'] = [
'#type' => 'checkbox',
'#title' => $this
->t('admin'),
'#default_value' => $config
->get('scn_admin'),
'#description' => $this
->t('Send mail to user with uid=1'),
];
$form['fieldset']['scn_roles'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Roles'),
'#default_value' => !empty($roles) ? $roles : [],
'#options' => array_map('\\Drupal\\Component\\Utility\\Html::escape', user_role_names(TRUE)),
'#description' => $this
->t('Send mail to users with selected roles'),
];
$form['fieldset']['scn_maillist'] = [
'#type' => 'textarea',
'#title' => $this
->t('Custom mail list'),
'#default_value' => $config
->get('scn_maillist'),
'#description' => $this
->t('Send mail to non-registered users. Delimiter: comma'),
];
$form['fieldset']['scn_telegram'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Send message to Telegram users'),
'#default_value' => $config
->get('scn_telegram'),
];
$form['fieldset']['scn_telegram_fieldset'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Telegram Settings'),
'#states' => [
'visible' => [
'#edit-scn-telegram' => [
'checked' => TRUE,
],
],
],
];
$form['fieldset']['scn_telegram_fieldset']['scn_telegram_bottoken'] = [
'#type' => 'textfield',
'#title' => $this
->t('Bot token'),
'#default_value' => $config
->get('scn_telegram_bottoken'),
];
$form['fieldset']['scn_telegram_fieldset']['scn_telegram_chatids'] = [
'#type' => 'textarea',
'#title' => $this
->t('Chat IDs'),
'#default_value' => $config
->get('scn_telegram_chatids'),
'#description' => $this
->t('Delimiter: comma'),
];
$form['fieldset']['scn_telegram_fieldset']['scn_telegram_proxy'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Use proxy'),
'#default_value' => $config
->get('scn_telegram_proxy'),
];
$form['fieldset']['scn_telegram_fieldset']['scn_telegram_proxy_fieldset'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Proxy Settings (SOCKS 5)'),
'#states' => [
'visible' => [
'#edit-scn-telegram-proxy' => [
'checked' => TRUE,
],
],
],
];
$form['fieldset']['scn_telegram_fieldset']['scn_telegram_proxy_fieldset']['scn_telegram_proxy_server'] = [
'#type' => 'textfield',
'#title' => $this
->t('Server name or IP address'),
'#default_value' => $config
->get('scn_telegram_proxy_server'),
'#description' => $this
->t('For example: 127.0.0.1:1234'),
];
$form['fieldset']['scn_telegram_fieldset']['scn_telegram_proxy_fieldset']['scn_telegram_proxy_login'] = [
'#type' => 'textfield',
'#title' => $this
->t('Server login'),
'#default_value' => $config
->get('scn_telegram_proxy_login'),
];
$form['fieldset']['scn_telegram_fieldset']['scn_telegram_proxy_fieldset']['scn_telegram_proxy_password'] = [
'#type' => 'textfield',
'#title' => $this
->t('Server password'),
'#default_value' => $config
->get('scn_telegram_proxy_password'),
];
return parent::buildForm($form, $form_state);
}