public function MessagesForm::buildForm in Swift Mailer 8
Same name and namespace in other branches
- 8.2 src/Form/MessagesForm.php \Drupal\swiftmailer\Form\MessagesForm::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
- src/
Form/ MessagesForm.php, line 34
Class
- MessagesForm
- Configuration form for SwiftMailer message settings.
Namespace
Drupal\swiftmailer\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$form = parent::buildForm($form, $form_state);
$config = $this
->config('swiftmailer.message');
$form['#tree'] = TRUE;
$form['description'] = [
'#markup' => '<p>' . $this
->t('This page allows you to configure settings which determines how e-mail messages are created.') . '</p>',
];
$form['format'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Message format'),
'#description' => $this
->t('You can set the default message format which should be applied to e-mail
messages.'),
];
$form['format']['type'] = [
'#type' => 'radios',
'#options' => [
SWIFTMAILER_FORMAT_PLAIN => $this
->t('Plain Text'),
SWIFTMAILER_FORMAT_HTML => $this
->t('HTML'),
],
'#default_value' => $config
->get('format'),
];
$form['format']['respect'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Respect provided e-mail format.'),
'#default_value' => $config
->get('respect_format'),
'#description' => $this
->t('The header "Content-Type", if available, will be respected if you enable this setting.
Settings such as e-mail format ("text/plain" or "text/html") and character set may be provided through this
header. Unless your site somehow alters e-mails, enabling this setting will result in all e-mails to be sent
as plain text as this is the content type Drupal by default will apply to all e-mails.'),
];
$form['convert'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Plain Text Version'),
'#description' => $this
->t('An alternative plain text version can be generated based on the HTML version if no plain text version
has been explicitly set. The plain text version will be used by e-mail clients not capable of displaying HTML content.'),
'#states' => [
'visible' => [
'input[type=radio][name=format[type]]' => [
'value' => SWIFTMAILER_FORMAT_HTML,
],
],
],
];
$form['convert']['mode'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Generate alternative plain text version.'),
'#default_value' => $config
->get('convert_mode'),
'#description' => $this
->t('Please refer to @link for more details about how the alternative plain text version will be generated.', [
'@link' => Link::fromTextAndUrl('html2text', Url::fromUri('http://www.chuggnutt.com/html2text'))
->toString(),
]),
];
$form['character_set'] = [
'#type' => 'fieldset',
'#title' => $this
->t('Character Set'),
'#description' => '<p>' . $this
->t('E-mails need to carry details about the character set which the
receiving client should use to understand the content of the e-mail.
The default character set is UTF-8.') . '</p>',
];
$form['character_set']['type'] = [
'#type' => 'select',
'#options' => swiftmailer_get_character_set_options(),
'#default_value' => $config
->get('character_set'),
];
return $form;
}