Same name and namespace in other branches
  1. 8.9.x core/lib/Drupal/Core/Entity/EntityChangedTrait.php \Drupal\Core\Entity\EntityChangedTrait
  2. 9 core/lib/Drupal/Core/Entity/EntityChangedTrait.php \Drupal\Core\Entity\EntityChangedTrait

Provides a trait for accessing changed time.

Hierarchy

5 files declare their use of EntityChangedTrait
Comment.php in core/modules/comment/src/Entity/Comment.php
EntityTestConstraints.php in core/modules/system/tests/modules/entity_test/src/Entity/EntityTestConstraints.php
EntityTestMulChanged.php in core/modules/system/tests/modules/entity_test/src/Entity/EntityTestMulChanged.php
File.php in core/modules/file/src/Entity/File.php
Workspace.php in core/modules/workspaces/src/Entity/Workspace.php

File

core/lib/Drupal/Core/Entity/EntityChangedTrait.php, line 8

Namespace

Drupal\Core\Entity
View source
trait EntityChangedTrait {

  /**
   * Returns the timestamp of the last entity change across all translations.
   *
   * @return int
   *   The timestamp of the last entity save operation across all
   *   translations.
   */
  public function getChangedTimeAcrossTranslations() {
    $changed = $this
      ->getUntranslated()
      ->getChangedTime();
    foreach ($this
      ->getTranslationLanguages(FALSE) as $language) {
      $translation_changed = $this
        ->getTranslation($language
        ->getId())
        ->getChangedTime();
      $changed = max($translation_changed, $changed);
    }
    return $changed;
  }

  /**
   * Gets the timestamp of the last entity change for the current translation.
   *
   * @return int|null
   *   The timestamp of the last entity save operation. Some entities allow a
   *   NULL value indicating the changed time is unknown.
   */
  public function getChangedTime() {
    $value = $this
      ->get('changed')->value;
    return isset($value) ? (int) $value : NULL;
  }

  /**
   * Sets the timestamp of the last entity change for the current translation.
   *
   * @param int $timestamp
   *   The timestamp of the last entity save operation.
   *
   * @return $this
   */
  public function setChangedTime($timestamp) {
    $this
      ->set('changed', $timestamp);
    return $this;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
EntityChangedTrait::getChangedTime public function Gets the timestamp of the last entity change for the current translation.
EntityChangedTrait::getChangedTimeAcrossTranslations public function Returns the timestamp of the last entity change across all translations.
EntityChangedTrait::setChangedTime public function Sets the timestamp of the last entity change for the current translation.