Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 4 |
CRAP | |
0.00% |
0 / 19 |
| ItemStorage | |
0.00% |
0 / 1 |
|
0.00% |
0 / 4 |
30 | |
0.00% |
0 / 19 |
| getItemCount | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 5 |
|||
| loadAll | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
| loadByFeed | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 4 |
|||
| executeFeedItemQuery | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 7 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\aggregator\ItemStorage. | |
| */ | |
| namespace Drupal\aggregator; | |
| use Drupal\Core\Entity\Query\QueryInterface; | |
| use Drupal\Core\Entity\Sql\SqlContentEntityStorage; | |
| /** | |
| * Controller class for aggregators items. | |
| * | |
| * This extends the Drupal\Core\Entity\Sql\SqlContentEntityStorage class, adding | |
| * required special handling for feed item entities. | |
| */ | |
| class ItemStorage extends SqlContentEntityStorage implements ItemStorageInterface { | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getItemCount(FeedInterface $feed) { | |
| $query = \Drupal::entityQuery('aggregator_item') | |
| ->condition('fid', $feed->id()) | |
| ->count(); | |
| return $query->execute(); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function loadAll($limit = NULL) { | |
| $query = \Drupal::entityQuery('aggregator_item'); | |
| return $this->executeFeedItemQuery($query, $limit); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function loadByFeed($fid, $limit = NULL) { | |
| $query = \Drupal::entityQuery('aggregator_item') | |
| ->condition('fid', $fid); | |
| return $this->executeFeedItemQuery($query, $limit); | |
| } | |
| /** | |
| * Helper method to execute an item query. | |
| * | |
| * @param \Drupal\Core\Entity\Query\QueryInterface $query | |
| * The query to execute. | |
| * @param int $limit | |
| * (optional) The number of items to return. | |
| * | |
| * @return \Drupal\aggregator\ItemInterface[] | |
| * An array of the feed items. | |
| */ | |
| protected function executeFeedItemQuery(QueryInterface $query, $limit) { | |
| $query->sort('timestamp', 'DESC') | |
| ->sort('iid', 'DESC'); | |
| if (!empty($limit)) { | |
| $query->pager($limit); | |
| } | |
| return $this->loadMultiple($query->execute()); | |
| } | |
| } |