summaryrefslogtreecommitdiff
path: root/modules/field/field.api.php
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2009-11-12 21:03:36 +0000
committerDries Buytaert <dries@buytaert.net>2009-11-12 21:03:36 +0000
commit2218f528d531f59b9330899e34f4be588668622e (patch)
tree34b69ab115ef16a94572df6852cd5ec5f122ac4b /modules/field/field.api.php
parentc62f56c892919d00384458937b511f84d78e53c1 (diff)
downloadbrdo-2218f528d531f59b9330899e34f4be588668622e.tar.gz
brdo-2218f528d531f59b9330899e34f4be588668622e.tar.bz2
- Patch #631048 by yched: number rounding should not be done by widgets.
Diffstat (limited to 'modules/field/field.api.php')
-rw-r--r--modules/field/field.api.php9
1 files changed, 9 insertions, 0 deletions
diff --git a/modules/field/field.api.php b/modules/field/field.api.php
index ac85ebf67..ba2ca1d13 100644
--- a/modules/field/field.api.php
+++ b/modules/field/field.api.php
@@ -397,6 +397,15 @@ function hook_field_validate($obj_type, $object, $field, $instance, $langcode, &
* $object->{$field['field_name']}[$langcode], or an empty array if unset.
*/
function hook_field_presave($obj_type, $object, $field, $instance, $langcode, &$items) {
+ if ($field['type'] == 'number_decimal') {
+ // Let PHP round the value to ensure consistent behavior across storage
+ // backends.
+ foreach ($items as $delta => $item) {
+ if (isset($item['value'])) {
+ $items[$delta]['value'] = round($item['value'], $field['settings']['scale']);
+ }
+ }
+ }
}
/**