diff core/modules/aggregator/src/FeedViewBuilder.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents c75dbcec494b
children
line wrap: on
line diff
--- a/core/modules/aggregator/src/FeedViewBuilder.php	Thu Feb 28 13:11:55 2019 +0000
+++ b/core/modules/aggregator/src/FeedViewBuilder.php	Thu May 09 15:34:47 2019 +0100
@@ -2,11 +2,14 @@
 
 namespace Drupal\aggregator;
 
-use Drupal\Core\Entity\EntityManagerInterface;
+use Drupal\Core\Entity\EntityDisplayRepositoryInterface;
+use Drupal\Core\Entity\EntityRepositoryInterface;
 use Drupal\Core\Entity\EntityTypeInterface;
+use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Entity\EntityViewBuilder;
 use Drupal\Core\Config\Config;
 use Drupal\Core\Language\LanguageManagerInterface;
+use Drupal\Core\Theme\Registry;
 use Drupal\Core\Url;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 
@@ -16,20 +19,41 @@
 class FeedViewBuilder extends EntityViewBuilder {
 
   /**
+   * The 'aggregator.settings' config.
+   *
+   * @var \Drupal\Core\Config\Config
+   */
+  protected $config;
+
+  /**
+   * The entity type manager.
+   *
+   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
+   */
+  protected $entityTypeManager;
+
+  /**
    * Constructs a new FeedViewBuilder.
    *
    * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
    *   The entity type definition.
-   * @param \Drupal\Core\Entity\EntityManagerInterface $entity_manager
-   *   The entity manager service.
+   * @param \Drupal\Core\Entity\EntityRepositoryInterface $entity_repository
+   *   The entity repository service.
    * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
    *   The language manager.
    * @param \Drupal\Core\Config\Config $config
    *   The 'aggregator.settings' config.
+   * @param \Drupal\Core\Theme\Registry $theme_registry
+   *   The theme registry.
+   * @param \Drupal\Core\Entity\EntityDisplayRepositoryInterface $entity_display_repository
+   *   The entity display repository.
+   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
+   *   The entity type manager.
    */
-  public function __construct(EntityTypeInterface $entity_type, EntityManagerInterface $entity_manager, LanguageManagerInterface $language_manager, Config $config) {
-    parent::__construct($entity_type, $entity_manager, $language_manager);
+  public function __construct(EntityTypeInterface $entity_type, EntityRepositoryInterface $entity_repository, LanguageManagerInterface $language_manager, Config $config, Registry $theme_registry, EntityDisplayRepositoryInterface $entity_display_repository, EntityTypeManagerInterface $entity_type_manager) {
+    parent::__construct($entity_type, $entity_repository, $language_manager, $theme_registry, $entity_display_repository);
     $this->config = $config;
+    $this->entityTypeManager = $entity_type_manager;
   }
 
   /**
@@ -38,9 +62,12 @@
   public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) {
     return new static(
       $entity_type,
-      $container->get('entity.manager'),
+      $container->get('entity.repository'),
       $container->get('language_manager'),
-      $container->get('config.factory')->get('aggregator.settings')
+      $container->get('config.factory')->get('aggregator.settings'),
+      $container->get('theme.registry'),
+      $container->get('entity_display.repository'),
+      $container->get('entity_type.manager')
     );
   }
 
@@ -58,11 +85,11 @@
         // When in summary view mode, respect the list_max setting.
         $limit = $view_mode == 'summary' ? $this->config->get('source.list_max') : 20;
         // Retrieve the items attached to this feed.
-        $items = $this->entityManager
+        $items = $this->entityTypeManager
           ->getStorage('aggregator_item')
           ->loadByFeed($entity->id(), $limit);
 
-        $build[$id]['items'] = $this->entityManager
+        $build[$id]['items'] = $this->entityTypeManager
           ->getViewBuilder('aggregator_item')
           ->viewMultiple($items, $view_mode, $entity->language()->getId());