You are here

public function Taxonomy::reactTo in Audit Log 8.2

Processes an event.

Parameters

\Drupal\audit_log\AuditLogEventInterface $event: The audit event.

Return value

bool TRUE if the event subscriber handled the event.

Overrides EventSubscriberInterface::reactTo

File

src/EventSubscriber/Taxonomy.php, line 18

Class

Taxonomy
Processes taxonomy_term entity events.

Namespace

Drupal\audit_log\EventSubscriber

Code

public function reactTo(AuditLogEventInterface $event) {
  $entity = $event
    ->getEntity();
  if (!in_array($entity
    ->getEntityTypeId(), [
    $this
      ->getEntityType(),
  ])) {
    return FALSE;
  }
  $event_type = $event
    ->getEventType();
  $current_state = $previous_state = 'active';

  /** @var \Drupal\taxonomy\Entity\Term $entity */
  $args = [
    '@title' => Markup::create($entity
      ->getName()),
    '@voc' => Markup::create($entity
      ->getVocabularyId()),
  ];
  if ($event_type == 'insert') {
    $event
      ->setMessage(t('@title term has been added to @voc vocabulary.', $args))
      ->setPreviousState(NULL)
      ->setCurrentState($current_state);
    return TRUE;
  }
  if ($event_type == 'update') {
    $event
      ->setMessage(t('@title term has been update in @voc vocabulary.', $args))
      ->setPreviousState($previous_state)
      ->setCurrentState($current_state);
    return TRUE;
  }
  if ($event_type == 'delete') {
    $event
      ->setMessage(t('@title term has been deleted from @voc vocabulary.', $args))
      ->setPreviousState($previous_state)
      ->setCurrentState(NULL);
    return TRUE;
  }
  return FALSE;
}