| 1 |
<?php |
<?php |
| 2 |
// $Id: feedapi_mapper.module,v 1.2.2.23 2009/08/24 01:52:15 alexb Exp $ |
// $Id: feedapi_mapper.module,v 1.2.2.25 2009/09/18 12:52:33 aronnovak Exp $ |
| 3 |
|
|
| 4 |
/** |
/** |
| 5 |
* Implementation of hook_help(). |
* Implementation of hook_help(). |
| 707 |
} |
} |
| 708 |
|
|
| 709 |
/** |
/** |
| 710 |
|
* Utility function, retrieve active processors from FeedAPI configuration for a content type. |
| 711 |
|
*/ |
| 712 |
|
function _feedapi_mapper_get_active_processors($content_type) { |
| 713 |
|
$feed_settings = feedapi_get_settings($content_type); |
| 714 |
|
$active_processors = array(); |
| 715 |
|
foreach ($feed_settings['processors'] as $processor_name => $processor) { |
| 716 |
|
if ($processor['enabled']) { |
| 717 |
|
$active_processors[$processor_name] = $processor_name; |
| 718 |
|
} |
| 719 |
|
} |
| 720 |
|
return $active_processors; |
| 721 |
|
} |
| 722 |
|
|
| 723 |
|
/** |
| 724 |
* Get field mappers for a given node type. Returns an array of all |
* Get field mappers for a given node type. Returns an array of all |
| 725 |
* feed mappers that are applicable to this node type. |
* feed mappers that are applicable to this node type. |
| 726 |
* @param $node_type |
* @param $node_type |
| 734 |
_feedapi_mapper_load_mappers(); |
_feedapi_mapper_load_mappers(); |
| 735 |
$modules = module_implements('feedapi_mapper'); |
$modules = module_implements('feedapi_mapper'); |
| 736 |
$field_mappers = array(); |
$field_mappers = array(); |
| 737 |
$feed_settings = feedapi_get_settings($feed_node->type, $feed_node->vid); |
$active_processors = _feedapi_mapper_get_active_processors($feed_node->type); |
|
$active_processors = array_keys($feed_settings['processors']); |
|
| 738 |
foreach ($modules as $module) { |
foreach ($modules as $module) { |
| 739 |
foreach ($active_processors as $processor) { |
foreach ($active_processors as $processor) { |
| 740 |
if ($fields = module_invoke($module, 'feedapi_mapper', 'list', $feed_node, $processor)) { |
if ($fields = module_invoke($module, 'feedapi_mapper', 'list', $feed_node, $processor)) { |
| 772 |
_feedapi_mapper_load_mappers(); |
_feedapi_mapper_load_mappers(); |
| 773 |
$modules = module_implements('feedapi_mapper'); |
$modules = module_implements('feedapi_mapper'); |
| 774 |
$descriptions = array(); |
$descriptions = array(); |
| 775 |
$feed_settings = feedapi_get_settings($feed_node->type, $feed_node->vid); |
$active_processors = _feedapi_mapper_get_active_processors($feed_node->type); |
|
$active_processors = array_keys($feed_settings['processors']); |
|
| 776 |
foreach ($modules as $module) { |
foreach ($modules as $module) { |
| 777 |
foreach ($active_processors as $processor) { |
foreach ($active_processors as $processor) { |
| 778 |
if ($description = module_invoke($module, 'feedapi_mapper', 'describe', $feed_node, $processor)) { |
if ($description = module_invoke($module, 'feedapi_mapper', 'describe', $feed_node, $processor)) { |