function aggregator_categorize_items in Drupal 7
Same name and namespace in other branches
- 6 modules/aggregator/aggregator.pages.inc \aggregator_categorize_items()
Form constructor to build the page list form.
Parameters
$items: An array of the feed items.
$feed_source: (optional) The feed source URL. Defaults to an empty string.
Return value
array An array of FAPI elements.
See also
aggregator_categorize_items_submit()
theme_aggregator_categorize_items()
Related topics
1 call to aggregator_categorize_items()
- _aggregator_page_list in modules/
aggregator/ aggregator.pages.inc - Prints an aggregator page listing a number of feed items.
File
- modules/
aggregator/ aggregator.pages.inc, line 205 - User page callbacks for the Aggregator module.
Code
function aggregator_categorize_items($items, $feed_source = '') {
$form['#submit'][] = 'aggregator_categorize_items_submit';
$form['#theme'] = 'aggregator_categorize_items';
$form['feed_source'] = array(
'#value' => $feed_source,
);
$categories = array();
$done = FALSE;
$form['items'] = array();
$form['categories'] = array(
'#tree' => TRUE,
);
foreach ($items as $item) {
$form['items'][$item->iid] = array(
'#markup' => theme('aggregator_item', array(
'item' => $item,
)),
);
$form['categories'][$item->iid] = array();
$categories_result = db_query('SELECT c.cid, c.title, ci.iid FROM {aggregator_category} c LEFT JOIN {aggregator_category_item} ci ON c.cid = ci.cid AND ci.iid = :iid', array(
':iid' => $item->iid,
));
$selected = array();
foreach ($categories_result as $category) {
if (!$done) {
$categories[$category->cid] = check_plain($category->title);
}
if ($category->iid) {
$selected[] = $category->cid;
}
}
$done = TRUE;
$form['categories'][$item->iid] = array(
'#type' => variable_get('aggregator_category_selector', 'checkboxes'),
'#default_value' => $selected,
'#options' => $categories,
'#size' => 10,
'#multiple' => TRUE,
);
}
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save categories'),
);
return $form;
}