From 30f54a9c169e8f6ad5bc70a505e12089a8d06af9 Mon Sep 17 00:00:00 2001 From: robertall Date: Wed, 2 Jul 2008 12:53:26 +0000 Subject: [PATCH] [MDL-15426] Distinguish latlong value being zero from no value. Merged from MOODLE_19_STABLE. --- mod/data/field/latlong/field.class.php | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/mod/data/field/latlong/field.class.php b/mod/data/field/latlong/field.class.php index c4ceb07939..348289038f 100755 --- a/mod/data/field/latlong/field.class.php +++ b/mod/data/field/latlong/field.class.php @@ -103,12 +103,14 @@ class data_field_latlong extends data_field_base { function display_browse_field($recordid, $template) { global $CFG, $DB; - if ($content = $DB->get_record('data_content', array('fieldid'=>$this->field->id, 'recordid'=>$recordid))) { - $lat = empty($content->content)? '':$content->content; - $long = empty($content->content1)? '':$content->content1; - if (empty($lat) or empty($long)) { - return ''; + $lat = $content->content; + if (strlen($lat) < 1) { + return false; + } + $long = $content->content1; + if (strlen($long) < 1) { + return false; } if($lat < 0) { $compasslat = sprintf('%01.4f', -$lat) . '°S'; @@ -167,15 +169,21 @@ class data_field_latlong extends data_field_base { $content = new object; $content->fieldid = $this->field->id; $content->recordid = $recordid; + $value = trim($value); + if (strlen($value) > 0) { + $value = floatval($value); + } else { + $value = null; + } $names = explode('_', $name); switch ($names[2]) { case 0: // update lat - $content->content = (float)$value; + $content->content = $value; break; case 1: // update long - $content->content1 = (float)$value; + $content->content1 = $value; break; default: break; -- 2.39.5