function feedapi_aggregator_page_list in FeedAPI 5
Show the list of the feed items
1 call to feedapi_aggregator_page_list()
- _feedapi_aggregator_page_list in feedapi_aggregator/
feedapi_aggregator.module - Prints an aggregator page listing a number of feed items. Various menu callbacks use this function to print their feeds.
File
- feedapi_aggregator/
feedapi_aggregator.module, line 641
Code
function feedapi_aggregator_page_list($sql, $header, $categorize) {
if ($categorize && db_result(db_query('SELECT COUNT(*) FROM {feedapi_aggregator_category}')) == 0) {
$form['warning'] = array(
'#type' => 'item',
'#title' => t('Warning'),
'#value' => t('Please create a new category before try categorizing items.') . ' ' . l(t('You can create categories here.'), 'admin/content/feed/category'),
);
return $form;
}
$form['#base'] = 'feedapi_aggregator_page_list';
$form['header'] = array(
'#value' => $header,
);
$result = pager_query($sql, 20);
$categories = array();
$done = FALSE;
$form['items'] = array();
$form['categories'] = array(
'#tree' => TRUE,
);
while ($item = db_fetch_object($result)) {
$form['items'][$item->iid] = array(
'#value' => theme('feedapi_aggregator_page_item', $item),
);
$form['categories'][$item->iid] = array();
if ($categorize) {
$categories_result = db_query('SELECT c.cid, c.title, ci.iid FROM {feedapi_aggregator_category} c LEFT JOIN {feedapi_aggregator_category_item} ci ON c.cid = ci.cid AND ci.iid = %d', $item->iid);
$selected = array();
while ($category = db_fetch_object($categories_result)) {
if (!$done) {
$categories[$category->cid] = check_plain($category->title);
}
if ($category->iid) {
$selected[] = $category->cid;
}
}
$done = TRUE;
$form['categories'][$item->iid] = array(
'#title' => $item->title,
'#description' => $item->description,
'#type' => variable_get('aggregator_category_selector', 'checkboxes'),
'#default_value' => $selected,
'#options' => $categories,
'#size' => 10,
'#multiple' => TRUE,
);
}
}
if ($categorize) {
unset($form['items']);
}
$form['submit'] = array(
'#type' => 'submit',
'#value' => t('Save categories'),
);
$form['pager'] = array(
'#value' => theme('pager', NULL, 20, 0),
);
return $form;
}