summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/field/field.default.inc6
-rw-r--r--modules/field/field.module18
2 files changed, 8 insertions, 16 deletions
diff --git a/modules/field/field.default.inc b/modules/field/field.default.inc
index 060ad990e..5af888967 100644
--- a/modules/field/field.default.inc
+++ b/modules/field/field.default.inc
@@ -65,12 +65,10 @@ function field_default_validate($entity_type, $entity, $field, $instance, $langc
}
function field_default_submit($entity_type, $entity, $field, $instance, $langcode, &$items, $form, &$form_state) {
- // Reorder items to account for drag-n-drop reordering.
- if (field_behaviors_widget('multiple values', $instance) == FIELD_BEHAVIOR_DEFAULT) {
- $items = _field_sort_items($field, $items);
- }
// Filter out empty values.
$items = _field_filter_items($field, $items);
+ // Reorder items to account for drag-n-drop reordering.
+ $items = _field_sort_items($field, $items);
}
/**
diff --git a/modules/field/field.module b/modules/field/field.module
index 19d30540d..3f0b338f5 100644
--- a/modules/field/field.module
+++ b/modules/field/field.module
@@ -322,24 +322,18 @@ function _field_sort_items($field, $items) {
* (copied form element_sort(), which acts on #weight keys)
*/
function _field_sort_items_helper($a, $b) {
- $a_weight = (is_array($a) && isset($a['_weight'])) ? $a['_weight'] : 0;
- $b_weight = (is_array($b) && isset($b['_weight'])) ? $b['_weight'] : 0;
- if ($a_weight == $b_weight) {
- return 0;
- }
- return ($a_weight < $b_weight) ? -1 : 1;
+ $a_weight = (is_array($a) ? $a['_weight'] : 0);
+ $b_weight = (is_array($b) ? $b['_weight'] : 0);
+ return $a_weight - $b_weight;
}
/**
* Same as above, using ['_weight']['#value']
*/
function _field_sort_items_value_helper($a, $b) {
- $a_weight = (is_array($a) && isset($a['_weight']['#value'])) ? $a['_weight']['#value'] : 0;
- $b_weight = (is_array($b) && isset($b['_weight']['#value'])) ? $b['_weight']['#value'] : 0;
- if ($a_weight == $b_weight) {
- return 0;
- }
- return ($a_weight < $b_weight) ? -1 : 1;
+ $a_weight = (is_array($a) && isset($a['_weight']['#value']) ? $a['_weight']['#value'] : 0);
+ $b_weight = (is_array($b) && isset($b['_weight']['#value']) ? $b['_weight']['#value'] : 0);
+ return $a_weight - $b_weight;
}
/**