function aggregator_categorize_items

7.x aggregator.pages.inc aggregator_categorize_items($items, $feed_source = '')
6.x aggregator.pages.inc aggregator_categorize_items($items, $feed_source = '')

Form builder; build the page list form.

Parameters

$items: An array of the feed items.

$feed_source: The feed source URL.

Return value

The form structure.

See also

aggregator_categorize_items_validate()

aggregator_categorize_items_submit()

Related topics

1 call to aggregator_categorize_items()
_aggregator_page_list in drupal-6.x/modules/aggregator/aggregator.pages.inc
Prints an aggregator page listing a number of feed items.
1 string reference to 'aggregator_categorize_items'
aggregator_theme in drupal-6.x/modules/aggregator/aggregator.module
Implementation of hook_theme()

File

drupal-6.x/modules/aggregator/aggregator.pages.inc, line 142
User page callbacks for the aggregator module.

Code

function aggregator_categorize_items($items, $feed_source = '') {
  $form['#submit'][] = 'aggregator_categorize_items_submit';
  $form['#validate'][] = 'aggregator_categorize_items_validate';
  $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('#value' => theme('aggregator_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 = %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(
      '#type' => variable_get('aggregator_category_selector', 'checkboxes'),
      '#default_value' => $selected,
      '#options' => $categories,
      '#size' => 10,
      '#multiple' => TRUE
    );
  }
  $form['submit'] = array('#type' => 'submit', '#value' => t('Save categories'));

  return $form;
}