flashpoint_message-8.x-1.x-dev/modules/flashpoint_comm_content_message/flashpoint_comm_content_message.module
modules/flashpoint_comm_content_message/flashpoint_comm_content_message.module
<?php /** * @file * Holds hook implementation for the Flashpoint Message module. */ use Drupal\Core\Entity\ContentEntityBase; use Drupal\flashpoint_community_content\Entity\FlashpointCommunityContent; use Drupal\comment\Entity\Comment; use Drupal\group\Entity\GroupContent; use Drupal\message\Entity\Message; /** * Implements hook_group_content_insert(). */ function flashpoint_comm_content_message_group_content_insert(GroupContent $group_content) { $group = $group_content->getGroup(); if($group->bundle() === 'flashpoint_community') { $flashpoint_community_content = $group_content->getEntity(); if ($flashpoint_community_content->getEntityTypeId() === 'flashpoint_community_content') { $message = Message::create([ 'template' => 'flashpoint_comm_content_activity', 'field_flashpoint_comm_c_user' => $flashpoint_community_content->getOwner(), 'field_flashpoint_comm_c_action' => t('posted'), 'field_flashpoint_m_arg_group' => $group, 'field_flashpoint_comm_c_content' => $flashpoint_community_content]); $message->save(); } } } /** * Implements hook_flashpoint_community_content_update(). */ function flashpoint_comm_content_message_flashpoint_community_content_update(FlashpointCommunityContent $flashpoint_community_content) { if (empty($flashpoint_community_content->original)) { return; } else { $gc = GroupContent::loadByEntity($flashpoint_community_content); $group = array_shift($gc)->getGroup(); $message = Message::create([ 'template' => 'flashpoint_comm_content_activity', 'field_flashpoint_comm_c_user' => $flashpoint_community_content->getOwner(), 'field_flashpoint_comm_c_action' => t('updated'), 'field_flashpoint_m_arg_group' => $group, 'field_flashpoint_comm_c_content' => $flashpoint_community_content]); $message->save(); } } /** * Implements hook_comment_insert(). */ function flashpoint_comm_content_message_comment_insert(Comment $comment) { $type = $comment->bundle(); if (in_array($type, ['community_comments', 'flashpoint_community_comments'])) { $fcc_id = $comment->getCommentedEntityId(); $flashpoint_community_content = FlashpointCommunityContent::load($fcc_id); $gc = GroupContent::loadByEntity($flashpoint_community_content); $group = array_shift($gc)->getGroup(); $message = Message::create([ 'template' => 'flashpoint_comm_content_activity', 'field_flashpoint_comm_c_user' => $flashpoint_community_content->getOwner(), 'field_flashpoint_comm_c_action' => t('commented on'), 'field_flashpoint_m_arg_group' => $group, 'field_flashpoint_comm_c_content' => $flashpoint_community_content]); $message->save(); } }