From a84f7fddec856fe22cb0ef65030eb0a3b7fbed38 Mon Sep 17 00:00:00 2001 From: robertall Date: Thu, 29 May 2008 19:17:46 +0000 Subject: [PATCH] [MDL-14771] Backend code to allow a "number" field to be displayed with a specified number of decimal digits. Merged from MOODLE_19_STABLE. --- mod/data/field/number/field.class.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/mod/data/field/number/field.class.php b/mod/data/field/number/field.class.php index fa3bc07a9a..2f96c4d8d7 100755 --- a/mod/data/field/number/field.class.php +++ b/mod/data/field/number/field.class.php @@ -40,7 +40,6 @@ class data_field_number extends data_field_base { } else { $content->content = null; } - if ($oldcontent = get_record('data_content','fieldid', $this->field->id, 'recordid', $recordid)) { $content->id = $oldcontent->id; return update_record('data_content', $content); @@ -48,7 +47,24 @@ class data_field_number extends data_field_base { return insert_record('data_content', $content); } } - + + function display_browse_field($recordid, $template) { + if ($content = get_record('data_content', 'fieldid', $this->field->id, 'recordid', $recordid)) { + if (strlen($content->content) < 1) { + return false; + } + $number = $content->content; + $decimals = intval($this->field->param1); + if (isset($decimals) && is_int($decimals) && $decimals >= 0) { + $str = number_format($number, $decimals, '.', ''); + } else { + $str = $number; + } + return $str; + } + return false; + } + function display_search_field($value = '') { return ''; } @@ -64,7 +80,6 @@ class data_field_number extends data_field_base { function get_sort_sql($fieldname) { global $CFG; - switch ($CFG->dbfamily) { case 'mysql': // string in an arithmetic operation is converted to a floating-point number return '('.$fieldname.'+0.0)'; -- 2.39.5