function 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

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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.