diff --git c/core/modules/aggregator/aggregator.routing.yml w/core/modules/aggregator/aggregator.routing.yml
index 51607d1..1e314c2 100644
--- c/core/modules/aggregator/aggregator.routing.yml
+++ w/core/modules/aggregator/aggregator.routing.yml
@@ -1,12 +1,12 @@
aggregator_admin_overview:
- pattern: 'admin/config/services/aggregator'
+ pattern: '/admin/config/services/aggregator'
defaults:
_content: '\Drupal\aggregator\Controller\AggregatorController::adminOverview'
requirements:
_permission: 'administer news feeds'
aggregator_admin_settings:
- pattern: 'admin/config/services/aggregator/settings'
+ pattern: '/admin/config/services/aggregator/settings'
defaults:
_form: '\Drupal\aggregator\Form\SettingsForm'
requirements:
@@ -34,14 +34,14 @@ aggregator_feed_add:
_permission: 'administer news feeds'
aggregator_feed_configure:
- pattern: 'aggregator/sources/{aggregator_feed}/configure'
+ pattern: '/aggregator/sources/{aggregator_feed}/configure'
defaults:
_entity_form: 'aggregator_feed.default'
requirements:
_permission: 'administer news feeds'
aggregator_feed_edit:
- pattern: 'admin/config/services/aggregator/edit/feed/{aggregator_feed}'
+ pattern: '/admin/config/services/aggregator/edit/feed/{aggregator_feed}'
defaults:
_entity_form: 'aggregator_feed.default'
requirements:
@@ -62,7 +62,7 @@ aggregator_opml_add:
_permission: 'administer news feeds'
aggregator_feed_view:
- pattern: 'aggregator/sources/{aggregator_feed}'
+ pattern: '/aggregator/sources/{aggregator_feed}'
defaults:
_content: '\Drupal\aggregator\Controller\AggregatorController::viewFeed'
requirements:
@@ -97,28 +97,28 @@ aggregator_category_view:
_permission: 'access news feeds'
aggregator_category_edit:
- pattern: 'aggregator/categories/{cid}/configure'
+ pattern: '/aggregator/categories/{cid}/configure'
defaults:
_form: '\Drupal\aggregator\Form\CategoryAdminForm'
requirements:
_permission: 'administer news feeds'
aggregator_category_admin_edit:
- pattern: 'admin/config/services/aggregator/edit/category/{cid}'
+ pattern: '/admin/config/services/aggregator/edit/category/{cid}'
defaults:
_form: '\Drupal\aggregator\Form\CategoryAdminForm'
requirements:
_permission: 'administer news feeds'
aggregator_category_delete:
- pattern: 'admin/config/services/aggregator/delete/category/{cid}'
+ pattern: '/admin/config/services/aggregator/delete/category/{cid}'
defaults:
_form: '\Drupal\aggregator\Form\CategoryDeleteForm'
requirements:
_permission: 'administer news feeds'
aggregator_category_add:
- pattern: 'admin/config/services/aggregator/add/category'
+ pattern: '/admin/config/services/aggregator/add/category'
defaults:
_form: '\Drupal\aggregator\Form\CategoryAdminForm'
requirements:
diff --git c/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php w/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php
index 0415f83..960f21a 100644
--- c/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php
+++ w/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php
@@ -7,38 +7,20 @@
namespace Drupal\aggregator\Controller;
+use Drupal\Core\Controller\ControllerBase;
+use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
use Drupal\aggregator\CategoryStorageControllerInterface;
use Drupal\aggregator\FeedInterface;
use Drupal\aggregator\ItemInterface;
-use Drupal\Core\Config\ConfigFactory;
use Drupal\Core\Database\Connection;
-use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
-use Drupal\Core\Entity\EntityManager;
-use Drupal\Core\Routing\PathBasedGeneratorInterface;
-use Drupal\Core\Routing\UrlGeneratorInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
-use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException;
/**
* Returns responses for aggregator module routes.
*/
-class AggregatorController implements ContainerInjectionInterface {
-
- /**
- * Stores the Entity manager.
- *
- * @var \Drupal\Core\Entity\EntityManager
- */
- protected $entityManager;
-
- /**
- * The configuration factory.
- *
- * @var \Drupal\Core\Config\ConfigFactory
- */
- protected $configFactory;
+class AggregatorController extends ControllerBase implements ContainerInjectionInterface {
/**
* The database connection.
@@ -48,45 +30,22 @@ class AggregatorController implements ContainerInjectionInterface {
protected $database;
/**
- * The url generator.
- *
- * @var \Drupal\Core\Routing\UrlGeneratorInterface
- */
- protected $urlGenerator;
-
- /**
- * The aggregator item storage controller.
- *
- * @var \Drupal\aggregator\ItemStorageControllerInterface
- */
- protected $aggregatorItemStorage;
-
- /**
* The category storage controller.
*
* @var \Drupal\aggregator\CategoryStorageControllerInterface
*/
protected $categoryStorage;
+
/**
* Constructs a \Drupal\aggregator\Controller\AggregatorController object.
*
- * @param \Drupal\Core\Entity\EntityManager $entity_manager
- * The Entity manager.
- * @param \Drupal\Core\Config\ConfigFactory $config_factory
- * The config factory.
* @param \Drupal\Core\Database\Connection $database
* The database connection.
- * @param \Drupal\Core\Config\ConfigFactory $config_factory
- * The config factory.
- * @param \Drupal\Core\Routing\PathBasedGeneratorInterface $url_generator
- * The url generator.
+ * @param \Drupal\aggregator\CategoryStorageControllerInterface $category_storage
+ * The category storage service.
*/
- public function __construct(EntityManager $entity_manager, Connection $database, ConfigFactory $config_factory, PathBasedGeneratorInterface $url_generator, CategoryStorageControllerInterface $category_storage) {
- $this->entityManager = $entity_manager;
+ public function __construct(Connection $database, CategoryStorageControllerInterface $category_storage) {
$this->database = $database;
- $this->configFactory = $config_factory;
- $this->urlGenerator = $url_generator;
- $this->aggregatorItemStorage = $entity_manager->getStorageController('aggregator_item');
$this->categoryStorage = $category_storage;
}
@@ -95,10 +54,7 @@ public function __construct(EntityManager $entity_manager, Connection $database,
*/
public static function create(ContainerInterface $container) {
return new static(
- $container->get('entity.manager'),
$container->get('database'),
- $container->get('config.factory'),
- $container->get('url_generator'),
$container->get('aggregator.category.storage')
);
}
@@ -110,13 +66,13 @@ public static function create(ContainerInterface $container) {
* A form array as expected by drupal_render().
*/
public function feedAdd() {
- $feed = $this->entityManager
+ $feed = $this->entityManager()
->getStorageController('aggregator_feed')
->create(array(
'refresh' => 3600,
'block' => 5,
));
- return $this->entityManager->getForm($feed);
+ return $this->entityManager()->getForm($feed);
}
/**
@@ -125,15 +81,15 @@ public function feedAdd() {
* @param \Drupal\aggregator\FeedInterface $aggregator_feed
* The feed for which to display all items.
*
- * @return string
+ * @return array
* The rendered list of items for the feed.
*/
public function viewFeed(FeedInterface $aggregator_feed) {
drupal_set_title($aggregator_feed->label());
- $feed_source = $this->entityManager->getRenderController('aggregator_feed')
+ $feed_source = $this->entityManager()->getRenderController('aggregator_feed')
->view($aggregator_feed, 'default');
// Load aggregator feed item for the particular feed id.
- $items = $this->aggregatorItemStorage->loadByFeed($aggregator_feed->id());
+ $items = $this->entityManager()->getStorageController('aggregator_item')->loadByFeed($aggregator_feed->id());
// Print the feed items.
return $this->buildPageList($items, $feed_source);
}
@@ -150,7 +106,7 @@ public function viewFeed(FeedInterface $aggregator_feed) {
public function viewCategory($cid) {
$category = $this->categoryStorage->load($cid);
drupal_set_title($category->title);
- $items = $this->aggregatorItemStorage->loadByCategory($cid);
+ $items = $this->entityManager()->getStorageController('aggregator_item')->loadByCategory($cid);
return $this->buildPageList($items);
}
@@ -174,7 +130,7 @@ protected function buildPageList(array $items, $feed_source = '') {
);
$build['feed_source'] = is_array($feed_source) ? $feed_source : array('#markup' => $feed_source);
if ($items) {
- $build['items'] = $this->entityManager->getRenderController('aggregator_item')
+ $build['items'] = $this->entityManager()->getRenderController('aggregator_item')
->viewMultiple($items, 'default');
$build['pager'] = array('#theme' => 'pager');
}
@@ -207,7 +163,7 @@ public function feedRefresh(FeedInterface $aggregator_feed, Request $request) {
// @todo after https://drupal.org/node/1972246 find a new place for it.
aggregator_refresh($aggregator_feed);
- return new RedirectResponse($this->urlGenerator->generateFromPath('admin/config/services/aggregator', array('absolute' => TRUE)));
+ return $this->redirect($this->urlGenerator()->generateFromPath('admin/config/services/aggregator', array('absolute' => TRUE)));
}
/**
@@ -258,7 +214,7 @@ public function adminOverview() {
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
- '#empty' => t('No feeds available. Add feed.', array('@link' => $this->urlGenerator->generateFromPath('admin/config/services/aggregator/add/feed'))),
+ '#empty' => t('No feeds available. Add feed.', array('@link' => $this->urlGenerator()->generateFromPath('admin/config/services/aggregator/add/feed'))),
);
$result = $this->database->query('SELECT c.cid, c.title, COUNT(ci.iid) as items FROM {aggregator_category} c LEFT JOIN {aggregator_category_item} ci ON c.cid = ci.cid GROUP BY c.cid, c.title ORDER BY title');
@@ -291,7 +247,7 @@ public function adminOverview() {
'#theme' => 'table',
'#header' => $header,
'#rows' => $rows,
- '#empty' => t('No categories available. Add category.', array('@link' => $this->urlGenerator->generateFromPath('admin/config/services/aggregator/add/category'))),
+ '#empty' => t('No categories available. Add category.', array('@link' => $this->urlGenerator()->generateFromPath('admin/config/services/aggregator/add/category'))),
);
return $build;
@@ -311,16 +267,16 @@ public function categories() {
'#attributes' => array('class' => array('aggregator-wrapper')),
'#sorted' => TRUE,
);
- $aggregator_summary_items = $this->configFactory->get('aggregator.settings')->get('source.list_max');
+ $aggregator_summary_items = $this->config('aggregator.settings')->get('source.list_max');
foreach ($result as $category) {
$summary_items = array();
if ($aggregator_summary_items) {
- $items = $this->aggregatorItemStorage->loadByCategory($category->cid);
+ $items = $this->entityManager()->getStorageController('aggregator_item')->loadByCategory($category->cid);
if ($items) {
- $summary_items = $this->entityManager->getRenderController('aggregator_item')->viewMultiple($items, 'summary');
+ $summary_items = $this->entityManager()->getRenderController('aggregator_item')->viewMultiple($items, 'summary');
}
}
- $category->url = $this->urlGenerator->generateFromPath('aggregator/categories/' . $category->cid);
+ $category->url = $this->urlGenerator()->generateFromPath('aggregator/categories/' . $category->cid);
$build[$category->cid] = array(
'#theme' => 'aggregator_summary_items',
'#summary_items' => $summary_items,
@@ -337,9 +293,9 @@ public function categories() {
* The rendered list of items for the feed.
*/
public function pageLast() {
- drupal_add_feed('aggregator/rss', $this->configFactory->get('system.site')->get('name') . ' ' . t('aggregator'));
+ drupal_add_feed('aggregator/rss', $this->config('system.site')->get('name') . ' ' . t('aggregator'));
- $items = $this->aggregatorItemStorage->loadAll();
+ $items = $this->entityManager()->getStorageController('aggregator_item')->loadAll();
return $this->buildPageList($items);
}
@@ -351,7 +307,7 @@ public function pageLast() {
*/
public function sources() {
- $feeds = $this->entityManager->getStorageController('aggregator_feed')->loadMultiple();
+ $feeds = $this->entityManager()->getStorageController('aggregator_feed')->loadMultiple();
$build = array(
'#type' => 'container',
@@ -362,18 +318,17 @@ public function sources() {
foreach ($feeds as $feed) {
// Most recent items:
$summary_items = array();
- $aggregator_summary_items = $this->configFactory
- ->get('aggregator.settings')
+ $aggregator_summary_items = $this->config('aggregator.settings')
->get('source.list_max');
if ($aggregator_summary_items) {
- $items = $this->aggregatorItemStorage->loadByFeed($feed->id());
+ $items = $this->entityManager()->getStorageController('aggregator_item')->loadByFeed($feed->id());
if ($items) {
- $summary_items = $this->entityManager
+ $summary_items = $this->entityManager()
->getRenderController('aggregator_item')
->viewMultiple($items, 'summary');
}
}
- $feed->url = $this->urlGenerator->generateFromRoute('aggregator_feed_view', array('aggregator_feed' => $feed->id()));
+ $feed->url = $this->urlGenerator()->generateFromRoute('aggregator_feed_view', array('aggregator_feed' => $feed->id()));
$build[$feed->id()] = array(
'#theme' => 'aggregator_summary_items',
'#summary_items' => $summary_items,