diff -u b/core/modules/aggregator/aggregator.module b/core/modules/aggregator/aggregator.module --- b/core/modules/aggregator/aggregator.module +++ b/core/modules/aggregator/aggregator.module @@ -402,7 +402,7 @@ try { if ($parser_manager->createInstance($config->get('parser'))->parse($feed)) { if (is_null($feed->getLink())) { - $feed->link->value = $feed->getUrl(); + $feed->setLink($feed->getUrl()); } $feed->setHash($hash); // Update feed with parsed data. diff -u b/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php b/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php --- b/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php +++ b/core/modules/aggregator/lib/Drupal/aggregator/Controller/AggregatorController.php @@ -145,33 +145,32 @@ * A render array as expected by drupal_render(). */ public function adminOverview() { - $result = $this->database->query('SELECT f.fid, f.title, f.url, f.refresh, f.checked, f.link, f.description, f.hash, f.etag, f.modified, f.image, f.block, COUNT(i.iid) AS items FROM {aggregator_feed} f LEFT JOIN {aggregator_item} i ON f.fid = i.fid GROUP BY f.fid, f.title, f.url, f.refresh, f.checked, f.link, f.description, f.hash, f.etag, f.modified, f.image, f.block ORDER BY f.title'); - + $feeds = $this->entityManager->getStorageController('aggregator_feed')->loadMultiple(); $header = array(t('Title'), t('Items'), t('Last update'), t('Next update'), t('Operations')); $rows = array(); - foreach ($result as $feed) { + foreach ($feeds as $feed) { $row = array(); - $row[] = l($feed->title, "aggregator/sources/{$feed->fid}"); + $row[] = l($feed->label(), "aggregator/sources/{$feed->id()}"); $row[] = format_plural($feed->items, '1 item', '@count items'); - $row[] = ($feed->checked ? t('@time ago', array('@time' => format_interval(REQUEST_TIME - $feed->checked))) : t('never')); - $row[] = ($feed->checked && $feed->refresh ? t('%time left', array('%time' => format_interval($feed->checked + $feed->refresh - REQUEST_TIME))) : t('never')); + $row[] = ($feed->getChecked ? t('@time ago', array('@time' => format_interval(REQUEST_TIME - $feed->getChecked()))) : t('never')); + $row[] = ($feed->getChecked() && $feed->getRefresh() ? t('%time left', array('%time' => format_interval($feed->getChecked() + $feed->getRefresh() - REQUEST_TIME))) : t('never')); $links = array(); $links['edit'] = array( 'title' => t('Edit'), - 'href' => "admin/config/services/aggregator/edit/feed/{$feed->fid}", + 'href' => "admin/config/services/aggregator/edit/feed/{$feed->id()}", ); $links['delete'] = array( 'title' => t('Delete'), - 'href' => "admin/config/services/aggregator/delete/feed/{$feed->fid}", + 'href' => "admin/config/services/aggregator/delete/feed/{$feed->id()}", ); $links['remove'] = array( 'title' => t('Remove items'), - 'href' => "admin/config/services/aggregator/remove/{$feed->fid}", + 'href' => "admin/config/services/aggregator/remove/{$feed->id()}", ); $links['update'] = array( 'title' => t('Update items'), - 'href' => "admin/config/services/aggregator/update/{$feed->fid}", - 'query' => array('token' => drupal_get_token("aggregator/update/{$feed->fid}")), + 'href' => "admin/config/services/aggregator/update/{$feed->id()}", + 'query' => array('token' => drupal_get_token("aggregator/update/{$feed->id()}")), ); $row[] = array( 'data' => array( only in patch2: unchanged: --- a/core/modules/aggregator/aggregator.pages.inc +++ b/core/modules/aggregator/aggregator.pages.inc @@ -524,27 +524,27 @@ function template_preprocess_aggregator_feed_source(&$variables) { $feed_icon = array( '#theme' => 'feed_icon', - '#url' => $feed->url->value, + '#url' => $feed->getUrl(), '#title' => t('!title feed', array('!title' => $feed->label())), ); $variables['source_icon'] = drupal_render($feed_icon); - if (!empty($feed->image->value) && $feed->label() && !empty($feed->link->value)) { + if (!is_null($feed->getImage()) && $feed->label() && !is_null($feed->getLink())) { $image = array( '#theme' => 'image', - '#path' => $feed->image->value, - '#alt' => $feed->title->value, + '#path' => $feed->getImage(), + '#alt' => $feed->label(), ); - $variables['source_image'] = l($image, $feed->link->value, array('html' => TRUE, 'attributes' => array('class' => 'feed-image'))); + $variables['source_image'] = l($image, $feed->getLink(), array('html' => TRUE, 'attributes' => array('class' => 'feed-image'))); } else { $variables['source_image'] = ''; } - $variables['source_description'] = aggregator_filter_xss($feed->description->value); - $variables['source_url'] = check_url(url($feed->link->value, array('absolute' => TRUE))); + $variables['source_description'] = aggregator_filter_xss($feed->getDescription()); + $variables['source_url'] = check_url(url($feed->getLink(), array('absolute' => TRUE))); if ($feed->checked) { - $variables['last_checked'] = t('@time ago', array('@time' => format_interval(REQUEST_TIME - $feed->checked->value))); + $variables['last_checked'] = t('@time ago', array('@time' => format_interval(REQUEST_TIME - $feed->getChecked()))); } else { $variables['last_checked'] = t('never'); only in patch2: unchanged: --- a/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorRenderingTest.php +++ b/core/modules/aggregator/lib/Drupal/aggregator/Tests/AggregatorRenderingTest.php @@ -70,7 +70,7 @@ public function testBlockLinks() { // Set the number of news items to 0 to test that the block does not show // up. - $feed->block = 0; + $feed->setBlock(0); $feed->save(); // Check that the block is no longer displayed. $this->drupalGet('test-page');