function social_private_message_thread_delete_redirect in Open Social 8.8
Same name and namespace in other branches
- 8.9 modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 8 modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 8.2 modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 8.3 modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 8.4 modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 8.5 modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 8.6 modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 8.7 modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 10.3.x modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 10.0.x modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 10.1.x modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
- 10.2.x modules/social_features/social_private_message/social_private_message.module \social_private_message_thread_delete_redirect()
Redirects the form to the inbox.
Parameters
array $form: The form.
\Drupal\Core\Form\FormStateInterface $form_state: The form_state.
1 string reference to 'social_private_message_thread_delete_redirect'
- social_private_message_form_private_message_thread_delete_form_alter in modules/
social_features/ social_private_message/ social_private_message.module - Implements hook_form_FORMID_alter().
File
- modules/
social_features/ social_private_message/ social_private_message.module, line 147 - The Social Privagte Message module.
Code
function social_private_message_thread_delete_redirect(array $form, FormStateInterface $form_state) {
// Set a nice message.
\Drupal::messenger()
->addStatus(t('Your message has been deleted.'));
// Force redirect to the inbox.
$url = Url::fromRoute('social_private_message.inbox');
$form_state
->setRedirectUrl($url);
// Unset cache tags for user profiles.
$build_info = $form_state
->getBuildInfo();
if (isset($build_info['callback_object'])) {
/** @var \Drupal\private_message\Form\PrivateMessageThreadDeleteForm $pm_thread_form */
$pm_thread_form = $build_info['callback_object'];
$pm_thread = $pm_thread_form
->getEntity();
/** @var \Drupal\private_message\Entity\PrivateMessageThread $pm_thread */
if ($pm_thread) {
$members = $pm_thread
->getMembers();
$cache_tags = [];
foreach ($members as $member) {
/** @var \Drupal\user\Entity\User $member */
if ($member) {
foreach ($member
->getCacheTagsToInvalidate() as $cache_tag) {
$cache_tags[] = $cache_tag;
}
}
}
\Drupal::service('cache_tags.invalidator')
->invalidateTags($cache_tags);
}
}
}