getRaw()); $result = new FeedsParserResult(); $result->title = $feed['title']; $result->description = $feed['description']; $result->link = $feed['link']; if (is_array($feed['items'])) { foreach ($feed['items'] as $item) { if (isset($item['geolocations'])) { foreach ($item['geolocations'] as $k => $v) { $item['geolocations'][$k] = new FeedsGeoTermElement($v); } } $result->items[] = $item; } } return $result; } /** * Return mapping sources. * * At a future point, we could expose data type information here, * storage systems like Data module could use this information to store * parsed data automatically in fields with a correct field type. */ public function getMappingSources() { return array( 'title' => array( 'name' => t('Title'), 'description' => t('Title of the feed item.'), ), 'description' => array( 'name' => t('Description'), 'description' => t('Description of the feed item.'), ), 'author_name' => array( 'name' => t('Author name'), 'description' => t('Name of the feed item\'s author.'), ), 'timestamp' => array( 'name' => t('Published date'), 'description' => t('Published date as UNIX time GMT of the feed item.'), ), 'url' => array( 'name' => t('Item URL (link)'), 'description' => t('URL of the feed item.'), ), 'guid' => array( 'name' => t('Item GUID'), 'description' => t('Global Unique Identifier of the feed item.'), ), 'tags' => array( 'name' => t('Categories'), 'description' => t('An array of categories that have been assigned to the feed item.'), ), 'geolocations' => array( 'name' => t('Geo Locations'), 'description' => t('An array of geographic locations with a name and a position.'), ), ) + parent::getMappingSources(); } }