| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
							- <?php
 
- /**
 
-  * @file
 
-  * Implements Feeds mapping API
 
-  */
 
- /**
 
-  * Implements hook_feeds_processor_targets_alter().
 
-  */
 
- function cck_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_number') {
 
-       $targets[$name .':country_codes'] = array(
 
-         'name' => t('!label - country code', array('!label' => check_plain($instance['label']))),
 
-         'callback' => 'cck_phone_feeds_set_target',
 
-         'description' => t('The @label field.', array('@label' => $instance['label'])),
 
-       );
 
-       $targets[$name .':number'] = array(
 
-         'name' => t('!label - phone number', array('!label' => check_plain($instance['label']))),
 
-         'callback' => 'cck_phone_feeds_set_target',
 
-         'description' => t('The @label field.', array('@label' => $instance['label'])),
 
-       );
 
-       $targets[$name .':extension'] = array(
 
-         'name' => t('!label - extension', array('!label' => check_plain($instance['label']))),
 
-         'callback' => 'cck_phone_feeds_set_target',
 
-         'description' => t('The @label field.', array('@label' => $instance['label'])),
 
-       );
 
-     }
 
-   }
 
- }
 
- /**
 
-  * Callback for feed mapping.
 
-  */
 
- function cck_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);
 
-   // We will call this multiple times, preserve existing values.
 
-   $field = empty($entity->{$field_name}) ? array() : $entity->{$field_name};
 
-   foreach ($value as $v) {
 
-     if ($sub_field == 'country_codes') {
 
-       $v = strtolower($v);
 
-     }
 
-     if (!is_array($v) && !is_object($v)) {
 
-       $field['und'][$i][$sub_field] = $v;
 
-     }
 
-     if ($info['cardinality'] == 1) {
 
-       break;
 
-     }
 
-     $i++;
 
-   }
 
-   $entity->{$field_name} = $field;
 
- }
 
 
  |