You are here

class Taxonomy in Audit Log 8.2

Processes taxonomy_term entity events.

@package Drupal\audit_log\EventSubscriber

Hierarchy

Expanded class hierarchy of Taxonomy

1 string reference to 'Taxonomy'
audit_log.services.yml in ./audit_log.services.yml
audit_log.services.yml
1 service uses Taxonomy
audit_log.event_subscriber.taxonomy in ./audit_log.services.yml
Drupal\audit_log\EventSubscriber\Taxonomy

File

src/EventSubscriber/Taxonomy.php, line 13

Namespace

Drupal\audit_log\EventSubscriber
View source
class Taxonomy implements EventSubscriberInterface {

  /**
   * {@inheritdoc}
   */
  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;
  }

  /**
   * {@inheritdoc}
   */
  public function getEntityType() {
    return 'taxonomy_term';
  }

}

Members

Namesort descending Modifiers Type Description Overrides
Taxonomy::getEntityType public function Return entity type machine name. Overrides EventSubscriberInterface::getEntityType
Taxonomy::reactTo public function Processes an event. Overrides EventSubscriberInterface::reactTo