function _activity_creator_activity_for_entity_updater in Open Social 10.1.x
Same name and namespace in other branches
- 8.9 modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
- 8.2 modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
- 8.3 modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
- 8.4 modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
- 8.5 modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
- 8.6 modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
- 8.7 modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
- 8.8 modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
- 10.3.x modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
- 10.0.x modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
- 10.2.x modules/custom/activity_creator/activity_creator.module \_activity_creator_activity_for_entity_updater()
Update and or delete activities for given entity.
Parameters
string $action: A string containing the action. Can be delete or update.
\Drupal\Core\Entity\EntityInterface $entity: The entity object which is updated or deleted.
Throws
\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
\Drupal\Component\Plugin\Exception\PluginNotFoundException
\Drupal\Core\Entity\EntityStorageException
2 calls to _activity_creator_activity_for_entity_updater()
- activity_creator_entity_delete in modules/
custom/ activity_creator/ activity_creator.module - Implements hook_entity_delete().
- activity_creator_entity_update in modules/
custom/ activity_creator/ activity_creator.module - Implements hook_entity_update().
File
- modules/
custom/ activity_creator/ activity_creator.module, line 313 - Activity Creator module file.
Code
function _activity_creator_activity_for_entity_updater($action, EntityInterface $entity) {
if ($entity !== NULL) {
// We never create activities for configuration entities but accessing
// entity queries during configuration changes may cause errors.
if ($entity instanceof ConfigEntityInterface) {
return;
}
// Ignore Task entity from search api module.
if (\Drupal::moduleHandler()
->moduleExists('search_api') && $entity instanceof TaskInterface) {
return;
}
/** @var \Drupal\activity_creator\ActivityNotifications $activity_notification_service */
$activity_notification_service = \Drupal::service('activity_creator.activity_notifications');
$ids = $activity_notification_service
->getActivityIdsByEntity($entity);
if (empty($ids)) {
return;
}
if ($action === 'update') {
$tags = [];
foreach ($ids as $id) {
$tags[] = 'activity:' . $id;
}
Cache::invalidateTags($tags);
}
elseif ($action === 'delete') {
// Delete all activities.
$activity_storage = \Drupal::entityTypeManager()
->getStorage('activity');
$activities = $activity_storage
->loadMultiple($ids);
$activity_storage
->delete($activities);
// Remove entries from activity_notification_table.
$activity_notification_service
->deleteNotificationsbyIds($ids);
}
}
}