Projet

Général

Profil

Révision 41cc1b08

Ajouté par Assos Assos il y a presque 9 ans

Update feeds 7.x-2.0-alpha9 -> 7.x-2.0-beta1

Install lib simplepie 1.3.1

Voir les différences:

drupal7/sites/all/modules/feeds/mappers/number.inc
6 6
 */
7 7

  
8 8
/**
9
 * Implements hook_feeds_processor_targets_alter().
10
 *
11
 * @see FeedsProcessor::getMappingTargets()
9
 * Implements hook_feeds_processor_targets().
12 10
 */
13
function number_feeds_processor_targets_alter(&$targets, $entity_type, $bundle_name) {
11
function number_feeds_processor_targets($entity_type, $bundle_name) {
12
  $targets = array();
13

  
14 14
  $numeric_types = array(
15
    'list_integer',
16
    'list_float',
17
    'list_boolean',
18 15
    'number_integer',
19 16
    'number_decimal',
20 17
    'number_float',
......
30 27
      );
31 28
    }
32 29
  }
30

  
31
  return $targets;
33 32
}
34 33

  
35 34
/**
36
 * Callback for mapping numerics.
37
 *
38
 * Ensure that $value is a numeric to avoid database errors.
35
 * Callback for mapping number fields.
39 36
 */
40
function number_feeds_set_target($source, $entity, $target, $value) {
41

  
42
  // Do not perform the regular empty() check here. 0 is a valid value. That's
43
  // really just a performance thing anyway.
44

  
45
  if (!is_array($value)) {
46
    $value = array($value);
47
  }
48

  
49
  $info = field_info_field($target);
50

  
37
function number_feeds_set_target(FeedsSource $source, $entity, $target, array $values) {
51 38
  // Iterate over all values.
52 39
  $field = isset($entity->$target) ? $entity->$target : array('und' => array());
53 40

  
54
  // Allow for multiple mappings to the same target.
55
  $delta = count($field['und']);
56

  
57
  foreach ($value as $v) {
58

  
59
    if ($info['cardinality'] == $delta) {
60
      break;
61
    }
41
  foreach ($values as $value) {
62 42

  
63
    if (is_object($v) && ($v instanceof FeedsElement)) {
64
      $v = $v->getValue();
43
    if (is_object($value) && ($value instanceof FeedsElement)) {
44
      $value = $value->getValue();
65 45
    }
66 46

  
67
    if (is_numeric($v)) {
68
      $field['und'][$delta]['value'] = $v;
69
      $delta++;
47
    if (is_numeric($value)) {
48
      $field['und'][] = array('value' => $value);
70 49
    }
71 50
  }
72 51

  

Formats disponibles : Unified diff