Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / modules / contrib / entity / src / Controller / RevisionControllerTrait.php
index 9751b17ae0d48ea240050dfb7c89d8ccb5094b1e..6be025a6e9de1c2ba291232b60952811a2891a2c 100644 (file)
@@ -23,7 +23,7 @@ trait RevisionControllerTrait {
    *
    * @return \Drupal\Core\Language\LanguageManagerInterface
    */
-  public abstract function languageManager();
+  abstract public function languageManager();
 
   /**
    * Determines if the user has permission to revert revisions.
@@ -55,7 +55,6 @@ trait RevisionControllerTrait {
    *
    * @return array
    *   A link render array.
-   *
    */
   abstract protected function buildRevertRevisionLink(EntityInterface $entity_revision);
 
@@ -117,24 +116,17 @@ trait RevisionControllerTrait {
     $langcode = $this->languageManager()
       ->getCurrentLanguage(LanguageInterface::TYPE_CONTENT)
       ->getId();
-    $entity_storage = $this->entityTypeManager()
-      ->getStorage($entity->getEntityTypeId());
+    /** @var \Drupal\Core\Entity\ContentEntityStorageInterface $entity_storage */
+    $entity_storage = $this->entityTypeManager()->getStorage($entity->getEntityTypeId());
+    $revision_ids = $this->revisionIds($entity);
+    $entity_revisions = $entity_storage->loadMultipleRevisions($revision_ids);
 
     $header = [$this->t('Revision'), $this->t('Operations')];
     $rows = [];
-
-    $revision_ids = $this->revisionIds($entity);
-    // @todo Expand the entity storage to load multiple revisions.
-    $entity_revisions = array_combine($revision_ids, array_map(function($vid) use ($entity_storage) {
-      return $entity_storage->loadRevision($vid);
-      }, $revision_ids));
-
     foreach ($entity_revisions as $revision) {
       $row = [];
       /** @var \Drupal\Core\Entity\ContentEntityInterface $revision */
-      if ($revision->hasTranslation($langcode) && $revision->getTranslation($langcode)
-          ->isRevisionTranslationAffected()
-      ) {
+      if ($revision->hasTranslation($langcode) && $revision->getTranslation($langcode)->isRevisionTranslationAffected()) {
         $row[] = $this->getRevisionDescription($revision, $revision->isDefaultRevision());
 
         if ($revision->isDefaultRevision()) {