From 1675129e35e6869b9258040dd4e865a8566b3bdb Mon Sep 17 00:00:00 2001 From: Eloy Lafuente Date: Wed, 17 Nov 2010 17:54:00 +0000 Subject: [PATCH] MDL-21437 data - number and date fields search under mssql and oracle --- mod/data/field/date/field.class.php | 7 +++++-- mod/data/field/number/field.class.php | 5 ++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mod/data/field/date/field.class.php b/mod/data/field/date/field.class.php index 8934ed73684..313058c2b53 100755 --- a/mod/data/field/date/field.class.php +++ b/mod/data/field/date/field.class.php @@ -64,10 +64,13 @@ class data_field_date extends data_field_base { } function generate_sql($tablealias, $value) { + global $DB; + static $i=0; $i++; - $name = "df_picture_$i"; - return array(" ({$tablealias}.fieldid = {$this->field->id} AND {$tablealias}.content = '$value') ", array($name=>"%$value%")); + $name = "df_date_$i"; + $varcharcontent = $DB->sql_compare_text("{$tablealias}.content"); + return array(" ({$tablealias}.fieldid = {$this->field->id} AND $varcharcontent = :$name) ", array($name=>$value)); } function parse_search_field() { diff --git a/mod/data/field/number/field.class.php b/mod/data/field/number/field.class.php index ee905ca6dfc..97f6510fb3e 100755 --- a/mod/data/field/number/field.class.php +++ b/mod/data/field/number/field.class.php @@ -79,10 +79,13 @@ class data_field_number extends data_field_base { // need to cast? function generate_sql($tablealias, $value) { + global $DB; + static $i=0; $i++; $name = "df_number_$i"; - return array(" ({$tablealias}.fieldid = {$this->field->id} AND {$tablealias}.content = :$name) ", array($name=>$value)); + $varcharcontent = $DB->sql_compare_text("{$tablealias}.content"); + return array(" ({$tablealias}.fieldid = {$this->field->id} AND $varcharcontent = :$name) ", array($name=>$value)); } function get_sort_sql($fieldname) { -- 2.43.0