public function MessageSubscribeAdminSettings::buildForm in Message Subscribe 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/ MessageSubscribeAdminSettings.php, line 45
Class
- MessageSubscribeAdminSettings
- Settings form for Message Subscribe.
Namespace
Drupal\message_subscribe\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
/** @var \Drupal\Core\Plugin\DefaultPluginManager $message_notifiers */
$message_notifiers = \Drupal::service('plugin.message_notify.notifier.manager');
$options = array_map(function ($definition) {
return $definition['title'];
}, $message_notifiers
->getDefinitions());
$config = $this
->config('message_subscribe.settings');
$form['default_notifiers'] = [
'#type' => 'select',
'#title' => t('Default message notifiers'),
'#description' => t('Which message notifiers will be added to every subscription.'),
'#default_value' => $config
->get('default_notifiers'),
'#multiple' => TRUE,
'#options' => $options,
'#required' => FALSE,
];
$form['notify_own_actions'] = [
'#type' => 'checkbox',
'#title' => t('Notify author of their own submissions'),
'#description' => t('Determines if the user that caused the message notification receive a message about their actions. e.g. If I add a comment to a node, should I get an email saying I added a comment to a node?'),
'#default_value' => $config
->get('notify_own_actions'),
];
$form['flag_prefix'] = [
'#type' => 'textfield',
'#title' => t('Flag prefix'),
'#description' => t('The prefix that will be used to identify subscription flags. This can be used if you already have flags defined with another prefix e.g. "follow".'),
'#default_value' => $config
->get('flag_prefix'),
'#required' => FALSE,
];
$form['use_queue'] = [
'#type' => 'checkbox',
'#title' => t('Use queue'),
'#description' => t('Use the queue to process the Messages.'),
'#default_value' => $config
->get('use_queue'),
];
$form['debug_mode'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Enable debugging mode'),
'#description' => $this
->t('Enables verbose logging of subscription activities for debugging purposes. <strong>This should not be enabled in a production environment.</strong>'),
'#default_value' => $config
->get('debug_mode'),
];
return parent::buildForm($form, $form_state);
}