| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Implements Feeds support for Phone fields.
 
-  */
 
- /**
 
-  * Implements hook_feeds_processor_targets_alter().
 
-  *
 
-  * @see FeedsNodeProcessor::getMappingTargets().
 
-  */
 
- function phone_feeds_processor_targets_alter(&$targets, $entity_type, $bundle_name) {
 
-   foreach (field_info_instances($entity_type, $bundle_name) as $name => $instance) {
 
-     $info = field_info_field($name);
 
-     if ($info['type'] == 'phone') {
 
-       $targets[$name . ':url'] = array(
 
-         'name' => check_plain($instance['label']),
 
-         'callback' => 'phone_feeds_set_target',
 
-         'description' => t('The @label field of the node.', array('@label' => $instance['label'])),
 
-       );
 
-     }
 
-   }
 
- }
 
- /**
 
-  * Callback for mapping. Here is where the actual mapping happens.
 
-  *
 
-  * When the callback is invoked, $target contains the name of the field the
 
-  * user has decided to map to and $value contains the value of the feed item
 
-  * element the user has picked as a source.
 
-  */
 
- function phone_feeds_set_target($source, $entity, $target, $value) {
 
-   if (empty($value)) {
 
-     return;
 
-   }
 
-   // Handle non-multiple value fields.
 
-   if (!is_array($value)) {
 
-     $value = array($value);
 
-   }
 
-   // Iterate over all values.
 
-   $i = 0;
 
-   $info = field_info_field($target);
 
-   list($field_name, $sub_field) = explode(':', $target);
 
-   foreach ($value as $v) {
 
-     if (empty($v[0])) {
 
-       continue;
 
-     }
 
-     if (!is_array($v) && !is_object($v)) {
 
-       $field['und'][$i]['value'] = $v;
 
-     }
 
-     if ($info['cardinality'] == 1) {
 
-       break;
 
-     }
 
-     $i++;
 
-   }
 
-   $entity->{$field_name} = $field;
 
- }
 
 
  |