/** * Implement this hook to create an alternative parser for aggregator module. * * A parser converts feed item data to a common format. The parser is called * at the second of the three aggregation stages: data is downloaded by the * active fetcher, it is converted to a common format by the active parser and * finally, it is passed to all active processors which manipulate or store the * data. * * Modules that define this hook can be set as the active parser on * admin/config/services/aggregator. Only one parser can be active at a time. * * @param $feed * An object describing the resource to be parsed: $feed->source_string * contains the raw feed data. The hook implementation should parse this data * and add the following properties to the $feed object: * - description: The human-readable description of the feed. * - link: A full URL that directly relates to the feed. * - image: An image URL used to display an image of the feed. * - etag: An entity tag from the HTTP header used for cache validation to * determine if the content has been changed. * - modified: The UNIX timestamp when the feed was last modified. * - items: An array of feed items. The common format for a single feed item * is an associative array containing: * - title: The human-readable title of the feed item. * - description: The full body text of the item or a summary. * - timestamp: The UNIX timestamp when the feed item was last published. * - author: The author of the feed item. * - guid: The global unique identifier (GUID) string that uniquely * identifies the item. If not available, the link is used to identify * the item. * - link: A full URL to the individual feed item. * * @return * TRUE if parsing was successful, FALSE otherwise. * * @see hook_aggregator_parse_info() * @see hook_aggregator_fetch() * @see hook_aggregator_process() * * @ingroup aggregator */ function hook_aggregator_parse($feed) { if ($items = mymodule_parse($feed->source_string)) { $feed->items = $items; return TRUE; } return FALSE; }
/** * Implement this hook to create an alternative parser for aggregator module. * * A parser converts feed item data to a common format. The parser is called * at the second of the three aggregation stages: data is downloaded by the * active fetcher, it is converted to a common format by the active parser and * finally, it is passed to all active processors which manipulate or store the * data. * * Modules that define this hook can be set as active parser on * admin/content/aggregator/settings. Only one parser can be active at a time. * * @param $feed * The $feed object that describes the resource to be parsed. * $feed->source_string contains the raw feed data as a string. Parse data * from $feed->source_string and expose it to other modules as an array of * data items on $feed->items. * * By convention, the common format for a single feed item is: * $item[key-name] = value; * * Recognized keys: * TITLE (string) - the title of a feed item * DESCRIPTION (string) - the description (body text) of a feed item * TIMESTAMP (UNIX timestamp) - the feed item's published time as UNIX timestamp * AUTHOR (string) - the feed item's author * GUID (string) - RSS/Atom global unique identifier * LINK (string) - the feed item's URL * * @see hook_aggregator_parse_info() * @see hook_aggregator_fetch() * @see hook_aggregator_process() * * @ingroup aggregator */ function hook_aggregator_parse($feed) { $feed->items = mymodule_parse($feed->source_string); }