diff options
author | Dries Buytaert <dries@buytaert.net> | 2005-03-03 20:05:46 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2005-03-03 20:05:46 +0000 |
commit | f7c8a2c080e1339d73315d56107813d48afaa2d2 (patch) | |
tree | a565f6167eec1f9e1b9becc47bf8bd31f6b6e18c | |
parent | 749f15e7c0b55b12e1b95ad3a46e312d0e6c9c38 (diff) | |
download | brdo-f7c8a2c080e1339d73315d56107813d48afaa2d2.tar.gz brdo-f7c8a2c080e1339d73315d56107813d48afaa2d2.tar.bz2 |
- Patch #17160 by Neil: fixed problem with aggregator block throwing DB errors after being deleted.
-rw-r--r-- | modules/aggregator.module | 19 | ||||
-rw-r--r-- | modules/aggregator/aggregator.module | 19 |
2 files changed, 22 insertions, 16 deletions
diff --git a/modules/aggregator.module b/modules/aggregator.module index 148d052f7..edd23ad1e 100644 --- a/modules/aggregator.module +++ b/modules/aggregator.module @@ -230,16 +230,19 @@ function aggregator_block($op, $delta = 0, $edit = array()) { list($type, $id) = split(':', $delta); switch ($type) { case 'feed': - $feed = db_fetch_object(db_query('SELECT fid, title, block FROM {aggregator_feed} WHERE fid = %d', $id)); - $block['subject'] = $feed->title; - $result = db_query_range('SELECT * FROM {aggregator_item} WHERE fid = %d ORDER BY timestamp DESC, iid DESC', $feed->fid, 0, $feed->block); - $block['content'] = '<div class="more-link">'. l(t('more'), 'aggregator/sources/'. $feed->fid, array('title' => t('View this feed\'s recent news.'))) .'</div>'; + if ($feed = db_fetch_object(db_query('SELECT fid, title, block FROM {aggregator_feed} WHERE fid = %d', $id))) { + $block['subject'] = $feed->title; + $result = db_query_range('SELECT * FROM {aggregator_item} WHERE fid = %d ORDER BY timestamp DESC, iid DESC', $feed->fid, 0, $feed->block); + $block['content'] = '<div class="more-link">'. l(t('more'), 'aggregator/sources/'. $feed->fid, array('title' => t('View this feed\'s recent news.'))) .'</div>'; + } break; + case 'category': - $category = db_fetch_object(db_query('SELECT cid, title, block FROM {aggregator_category} WHERE cid = %d', $id)); - $block['subject'] = $category->title; - $result = db_query_range('SELECT i.* FROM {aggregator_category_item} ci LEFT JOIN {aggregator_item} i ON ci.iid = i.iid WHERE ci.cid = %d ORDER BY i.timestamp DESC, i.iid DESC', $category->cid, 0, $category->block); - $block['content'] = '<div class="more-link">'. l(t('more'), 'aggregator/categories/'. $category->cid, array('title' => t('View this category\'s recent news.'))) .'</div>'; + if ($category = db_fetch_object(db_query('SELECT cid, title, block FROM {aggregator_category} WHERE cid = %d', $id))) { + $block['subject'] = $category->title; + $result = db_query_range('SELECT i.* FROM {aggregator_category_item} ci LEFT JOIN {aggregator_item} i ON ci.iid = i.iid WHERE ci.cid = %d ORDER BY i.timestamp DESC, i.iid DESC', $category->cid, 0, $category->block); + $block['content'] = '<div class="more-link">'. l(t('more'), 'aggregator/categories/'. $category->cid, array('title' => t('View this category\'s recent news.'))) .'</div>'; + } break; } $items = array(); diff --git a/modules/aggregator/aggregator.module b/modules/aggregator/aggregator.module index 148d052f7..edd23ad1e 100644 --- a/modules/aggregator/aggregator.module +++ b/modules/aggregator/aggregator.module @@ -230,16 +230,19 @@ function aggregator_block($op, $delta = 0, $edit = array()) { list($type, $id) = split(':', $delta); switch ($type) { case 'feed': - $feed = db_fetch_object(db_query('SELECT fid, title, block FROM {aggregator_feed} WHERE fid = %d', $id)); - $block['subject'] = $feed->title; - $result = db_query_range('SELECT * FROM {aggregator_item} WHERE fid = %d ORDER BY timestamp DESC, iid DESC', $feed->fid, 0, $feed->block); - $block['content'] = '<div class="more-link">'. l(t('more'), 'aggregator/sources/'. $feed->fid, array('title' => t('View this feed\'s recent news.'))) .'</div>'; + if ($feed = db_fetch_object(db_query('SELECT fid, title, block FROM {aggregator_feed} WHERE fid = %d', $id))) { + $block['subject'] = $feed->title; + $result = db_query_range('SELECT * FROM {aggregator_item} WHERE fid = %d ORDER BY timestamp DESC, iid DESC', $feed->fid, 0, $feed->block); + $block['content'] = '<div class="more-link">'. l(t('more'), 'aggregator/sources/'. $feed->fid, array('title' => t('View this feed\'s recent news.'))) .'</div>'; + } break; + case 'category': - $category = db_fetch_object(db_query('SELECT cid, title, block FROM {aggregator_category} WHERE cid = %d', $id)); - $block['subject'] = $category->title; - $result = db_query_range('SELECT i.* FROM {aggregator_category_item} ci LEFT JOIN {aggregator_item} i ON ci.iid = i.iid WHERE ci.cid = %d ORDER BY i.timestamp DESC, i.iid DESC', $category->cid, 0, $category->block); - $block['content'] = '<div class="more-link">'. l(t('more'), 'aggregator/categories/'. $category->cid, array('title' => t('View this category\'s recent news.'))) .'</div>'; + if ($category = db_fetch_object(db_query('SELECT cid, title, block FROM {aggregator_category} WHERE cid = %d', $id))) { + $block['subject'] = $category->title; + $result = db_query_range('SELECT i.* FROM {aggregator_category_item} ci LEFT JOIN {aggregator_item} i ON ci.iid = i.iid WHERE ci.cid = %d ORDER BY i.timestamp DESC, i.iid DESC', $category->cid, 0, $category->block); + $block['content'] = '<div class="more-link">'. l(t('more'), 'aggregator/categories/'. $category->cid, array('title' => t('View this category\'s recent news.'))) .'</div>'; + } break; } $items = array(); |