Advertisement
Guest User

Untitled

a guest
Jul 21st, 2017
47
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 KB | None | 0 0
  1. <?php
  2. /**
  3. * Implements hook_mail().
  4. */
  5. function <module_name>_mail($key, &$message, $params) {
  6. $options = array(
  7. 'langcode' => $message['langcode'],
  8. );
  9. switch ($key) {
  10. case 'create_article':
  11. $message['from'] = Drupal::config('system.site')->get('mail');
  12. $message['subject'] = t('Article created: @title', array('@title' => $params['node_title']), $options);
  13. $message['body'][] = $params['message'];
  14. break;
  15. }
  16. }
  17. /**
  18. * Implements hook_entity_insert().
  19. */
  20. function <module_name>_entity_insert(DrupalCoreEntityEntityInterface $entity) {
  21. if ($entity->getEntityTypeId() !== 'node' || ($entity->getEntityTypeId() === 'node' && $entity->bundle() !== 'article')) {
  22. return;
  23. }
  24. $mailManager = Drupal::service('plugin.manager.mail');
  25. $module = ‘<module_name>’;
  26. $key = 'create_article';
  27. $to = Drupal::currentUser()->getEmail();
  28. $params['message'] = $entity->get('body')->value;
  29. $params['node_title'] = $entity->label();
  30. $langcode = Drupal::currentUser()->getPreferredLangcode();
  31. $send = true;
  32. $result = $mailManager->mail($module, $key, $to, $langcode, $params, NULL, $send);
  33. if ($result['result'] !== true) {
  34. drupal_set_message(t('There was a problem sending your message and it was not sent.'), 'error');
  35. }
  36. else {
  37. drupal_set_message(t('Your message has been sent.'));
  38. }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement