function social_private_message_form_private_message_add_form_alter in Open Social 8
Same name and namespace in other branches
- 8.9 modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 8.2 modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 8.3 modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 8.4 modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 8.5 modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 8.6 modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 8.7 modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 8.8 modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 10.3.x modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 10.0.x modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 10.1.x modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
- 10.2.x modules/social_features/social_private_message/social_private_message.module \social_private_message_form_private_message_add_form_alter()
Implements hook_form_FORMID_alter().
File
- modules/
social_features/ social_private_message/ social_private_message.module, line 57 - The Social Privagte Message module.
Code
function social_private_message_form_private_message_add_form_alter(&$form, FormStateInterface $form_state, $form_id) {
// Add CTRL/CMD + Enter is submit.
$form['#attached']['library'][] = 'social_post/keycode-submit';
$form['#attached']['library'][] = 'social_private_message/validator';
$form['#attached']['drupalSettings']['social_private_message']['validator'] = t('Please select an item in the list.');
// There's an alternative submit. We need to change its value.
foreach ($form['actions'] as $key => &$actions) {
// Must be pretty sure it's a submit button.
if (is_array($actions) && isset($actions['#submit']) && is_array($actions['#submit'])) {
// Key must have submit in it.
if (strpos($key, 'submit-') !== FALSE) {
$actions['#value'] = t('Send');
$actions['#submit'][] = 'social_private_message_redirect';
unset($actions['#ajax']);
}
}
}
// Alter the users widget.
$form['members']['widget']['#required'] = TRUE;
$form['members']['widget']['#description'] = '';
// Add the required tag.
$form['members']['widget']['#attributes']['required'] = 'required';
// Unset the empty and anonymous option.
unset($form['members']['widget']['#options']['0']);
unset($form['members']['widget']['#options']['_none']);
// Unset current user.
unset($form['members']['widget']['#options'][Drupal::currentUser()
->id()]);
// Alter the message widget.
// Add the required tag.
$form['message']['widget']['#attributes']['required'] = 'required';
// Normal submit button shoud say 'Next'.
$form['actions']['submit']['#value'] = t('Send');
$form['actions']['submit']['#submit'][] = 'social_private_message_redirect';
// Determine if the form is an PMT edit form.
$form_is_edit_form = !is_null($form_state
->get('thread_members'));
// Add form class based on form type (create/edit).
$form_class = 'message__thread_edit';
if ($form_is_edit_form) {
$form_class = 'message__thread_create';
}
$form['#attributes']['class'][] = $form_class;
if ($form_is_edit_form) {
// In edit mode, remove the label from the message field.
$form['message']['widget'][0]['#title'] = '';
}
}