function invite_by_email_form_alter in Invite 8
Same name and namespace in other branches
- 7.4 modules/invite_by_email/invite_by_email.module \invite_by_email_form_alter()
Implements hook_form_alter().
File
- modules/
invite_by_email/ invite_by_email.module, line 14 - Contains invite_by_email.module.
Code
function invite_by_email_form_alter(&$form, FormStateInterface $form_state, $form_id) {
if ($form_id == 'invite_type_add_form' || $form_id == 'invite_type_edit_form') {
$invite_type = $form_state
->getFormObject()
->getEntity();
$data = unserialize($invite_type
->getData());
$invite_by_email_settings = !empty($data) ? $data : [
'use_default' => TRUE,
'subject_editable' => '',
'html_email' => '',
'mail_subject' => '',
'mail_template' => '',
];
$form['invite_by_email'] = [
'#type' => 'fieldset',
'#title' => t('Invite by e-mail message settings'),
'#tree' => TRUE,
'#attributes' => [
'class' => [
'invite-by-email-wrapper',
],
],
'#states' => [
'invisible' => [
':input[name="send_method[invite_by_email]"]' => [
'checked' => FALSE,
],
],
],
];
$form['invite_by_email']['use_default'] = [
'#type' => 'checkbox',
'#title' => t('Use default settings'),
'#default_value' => $invite_by_email_settings['use_default'],
'#states' => [
'invisible' => [
':input[name="invite_by_email"]' => [
'!value' => 'invite_by_email',
],
],
],
];
$form['invite_by_email']['subject_editable'] = [
'#type' => 'checkbox',
'#title' => t('Editable subject'),
'#description' => t('Choose whether users should be able to customize the subject.'),
'#default_value' => $invite_by_email_settings['subject_editable'],
'#states' => [
'invisible' => [
':input[name="invite_by_email[use_default]"]' => [
'checked' => TRUE,
],
],
],
];
$form['invite_by_email']['html_email'] = [
'#type' => 'checkbox',
'#title' => t('HTML email'),
'#description' => t('Send HTML emails. WARNING: This option has security implications! Give to trusted users only.'),
'#default_value' => $invite_by_email_settings['html_email'],
'#states' => [
'invisible' => [
':input[name="invite_by_email[use_default]"]' => [
'checked' => TRUE,
],
],
],
];
$form['invite_by_email']['help'] = [
'#type' => 'container',
'help' => [
'#markup' => t('You may update the default subject and body for all invites on the <a href="@fields_path">fields edit page</a>.', [
'@fields_path' => '/admin/structure/invite/settings/fields',
]),
],
'#states' => [
'invisible' => [
':input[name="invite_by_email[use_default]"]' => [
'checked' => TRUE,
],
],
],
];
// Put our submit in top of list to ensure, that values will be added to
// 'data'.
array_unshift($form['actions']['submit']['#submit'], 'invite_by_email_form_invite_type_form_submit');
}
}