function aggregator_element_data

Performs an action when data is encountered.

Callback function used by xml_parse() within aggregator_parse_feed().

1 string reference to 'aggregator_element_data'
aggregator_parse_feed in modules/aggregator/aggregator.parser.inc
Parses a feed and stores its items.

File

modules/aggregator/aggregator.parser.inc, line 246

Code

function aggregator_element_data($parser, $data) {
    global $channel, $element, $items, $item, $image, $tag;
    $items += array(
        $item => array(),
    );
    switch ($element) {
        case 'item':
            $items[$item] += array(
                $tag => '',
            );
            $items[$item][$tag] .= $data;
            break;
        case 'image':
        case 'logo':
            $image += array(
                $tag => '',
            );
            $image[$tag] .= $data;
            break;
        case 'link':
            if ($data) {
                $items[$item] += array(
                    $tag => '',
                );
                $items[$item][$tag] .= $data;
            }
            break;
        case 'content':
            $items[$item] += array(
                'content' => '',
            );
            $items[$item]['content'] .= $data;
            break;
        case 'summary':
            $items[$item] += array(
                'summary' => '',
            );
            $items[$item]['summary'] .= $data;
            break;
        case 'tagline':
        case 'subtitle':
            $channel += array(
                'description' => '',
            );
            $channel['description'] .= $data;
            break;
        case 'info':
        case 'id':
        case 'textinput':
            // The sub-element is not supported. However, we must recognize
            // it or its contents will end up in the item array.
            break;
        default:
            $channel += array(
                $tag => '',
            );
            $channel[$tag] .= $data;
    }
}

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