public function RadioactivityProcessor::queueProcessIncidents in Radioactivity 8.3
Same name and namespace in other branches
- 4.0.x src/RadioactivityProcessor.php \Drupal\radioactivity\RadioactivityProcessor::queueProcessIncidents()
Queue processing of Radioactivity emission incidents.
Parameters
string $entityType: Incident entity type.
\Drupal\radioactivity\IncidentInterface[][] $entityIncidents: Radioactivity incidents grouped per entity ID (1st) and incident ID (2nd).
Overrides RadioactivityProcessorInterface::queueProcessIncidents
File
- src/
RadioactivityProcessor.php, line 288
Class
- RadioactivityProcessor
- Class RadioactivityProcessor.
Namespace
Drupal\radioactivityCode
public function queueProcessIncidents($entityType, array $entityIncidents) {
/** @var \Drupal\Core\Entity\ContentEntityInterface[] $entities */
$entities = $this->entityTypeManager
->getStorage($entityType)
->loadMultiple(array_keys($entityIncidents));
foreach ($entities as $entity) {
/** @var \Drupal\radioactivity\IncidentInterface $incident */
foreach ($entityIncidents[$entity
->id()] as $incident) {
$entity
->get($incident
->getFieldName())->energy += $incident
->getEnergy();
}
if ($entity
->getEntityType()
->isRevisionable()) {
$entity
->setNewRevision(FALSE);
}
// Set flag so we can identify this entity save as one that just updates
// the radioactivity value.
$entity->radioactivityUpdate = TRUE;
$entity
->save();
}
}