Projet

Général

Profil

Révision a1cafe7e

Ajouté par Assos Assos il y a plus de 4 ans

Weekly update of contrib modules

Voir les différences:

drupal7/sites/all/modules/field_collection/field_collection.diff.inc
2 2

  
3 3
/**
4 4
 * @file
5
 * Provide diff field functions for the Field collection module.
5
 * Provide diff field functions for the Field Collection.
6 6
 */
7 7

  
8 8
/**
9
 * Diff field callback for parsing Field collection fields comparative values.
9
 * Diff field callback for parsing Field Collection fields comparative values.
10 10
 */
11 11
function field_collection_field_diff_view($items, $context) {
12 12
  $diff_items = array();
......
25 25
  $view_mode = $context['view_mode'];
26 26
  $entity = entity_revision_load($entity_type, $item['revision_id']);
27 27

  
28
  if(empty($entity)) {
28
  if (empty($entity)) {
29 29
    return array();
30 30
  }
31 31

  
......
40 40
    $field_context['custom_settings'] = FALSE;
41 41
  }
42 42
  $view_mode_settings = field_view_mode_settings($entity_type, $bundle_name);
43
  $actual_mode = (!empty($view_mode_settings[$view_mode]['custom_settings'])) ? $view_mode : 'default';
43
  $actual_mode = !empty($view_mode_settings[$view_mode]['custom_settings']) ? $view_mode : 'default';
44 44
  if (!isset($field_context['custom_settings'])) {
45 45
    $field_context['custom_settings'] = $actual_mode && $actual_mode == $view_mode;
46 46
  }
......
50 50

  
51 51
  $result = array();
52 52
  foreach ($instances as $instance) {
53
    // Any view mode is supported in relation to hiding fields, but only if selected.
53
    // Any view mode is supported in relation to hiding fields, but only if
54
    // selected.
54 55
    if ($actual_mode && $instance['display'][$actual_mode]['type'] == 'hidden') {
55 56
      continue;
56 57
    }
......
67 68
      $field_context['settings'] = diff_get_field_settings($field_context);
68 69
      $field_context['display'] = $instance['display'][$actual_mode];
69 70

  
71
      $old_items = array();
72
      $new_items = array();
73
      if (!empty($entity->{$field_name}[$langcode])) {
74
        $new_items = $entity->{$field_name}[$langcode];
75
      }
76

  
77
      $func = $field['module'] . '_field_diff_view_prepare';
78
      if (function_exists($func)) {
79
        $func($old_items, $new_items, $field_context);
80
      }
81

  
70 82
      $func = $field['module'] . '_field_diff_view';
71 83
      if (!function_exists($func)) {
72 84
        $func = 'diff_field_diff_view';
73 85
      }
74 86

  
75
      if (!empty($entity->{$field_name}[$langcode])) {
76
        $raw_values = $func($entity->{$field_name}[$langcode], $field_context);
87
      if (!empty($new_items)) {
88
        $raw_values = $func($new_items, $field_context);
77 89
        $values = array();
78 90
        foreach ($raw_values as $raw_value) {
79
          $values[] = is_array($raw_value) ? implode(", ", $raw_value) : $raw_value;
91
          $values[] = is_array($raw_value) ? implode(', ', $raw_value) : $raw_value;
80 92
        }
81 93

  
82
        $result[] = check_plain($instance['label'] . ': ' . implode(", ", $values));
94
        $result[] = check_plain($instance['label'] . ': ' . implode(', ', $values));
83 95
      }
84 96
    }
85 97
  }

Formats disponibles : Unified diff