From 800bb0f70fa951fd9eb7c3e57dec25d2cb8f2892 Mon Sep 17 00:00:00 2001 From: Petr Skoda Date: Sat, 4 Sep 2010 14:08:03 +0000 Subject: [PATCH] MDL-24079 mod/data now using new sql_like --- mod/data/field/file/field.class.php | 4 +--- mod/data/field/picture/field.class.php | 4 +--- mod/data/field/text/field.class.php | 4 +--- mod/data/field/textarea/field.class.php | 4 +--- mod/data/field/url/field.class.php | 4 +--- mod/data/lib.php | 7 +++---- mod/data/view.php | 10 ++++------ 7 files changed, 12 insertions(+), 25 deletions(-) diff --git a/mod/data/field/file/field.class.php b/mod/data/field/file/field.class.php index 429cf54f5ee..26e2fe1d801 100755 --- a/mod/data/field/file/field.class.php +++ b/mod/data/field/file/field.class.php @@ -97,12 +97,10 @@ class data_field_file extends data_field_base { function generate_sql($tablealias, $value) { global $DB; - $ILIKE = $DB->sql_ilike(); - static $i=0; $i++; $name = "df_file_$i"; - return array(" ({$tablealias}.fieldid = {$this->field->id} AND {$tablealias}.content $ILIKE :$name) ", array($name=>"%$value%")); + return array(" ({$tablealias}.fieldid = {$this->field->id} AND ".$DB->sql_like("{$tablealias}.content", ":$name", false).") ", array($name=>"%$value%")); } function parse_search_field() { diff --git a/mod/data/field/picture/field.class.php b/mod/data/field/picture/field.class.php index b407307e32f..fb8c3a82341 100755 --- a/mod/data/field/picture/field.class.php +++ b/mod/data/field/picture/field.class.php @@ -128,12 +128,10 @@ class data_field_picture extends data_field_base { function generate_sql($tablealias, $value) { global $DB; - $ILIKE = $DB->sql_ilike(); - static $i=0; $i++; $name = "df_picture_$i"; - return array(" ({$tablealias}.fieldid = {$this->field->id} AND {$tablealias}.content $ILIKE :$name) ", array($name=>"%$value%")); + return array(" ({$tablealias}.fieldid = {$this->field->id} AND ".$DB->sql_like("{$tablealias}.content", ":$name", false).") ", array($name=>"%$value%")); } function display_browse_field($recordid, $template) { diff --git a/mod/data/field/text/field.class.php b/mod/data/field/text/field.class.php index a6f4e252f5a..9210e1800fb 100755 --- a/mod/data/field/text/field.class.php +++ b/mod/data/field/text/field.class.php @@ -37,12 +37,10 @@ class data_field_text extends data_field_base { function generate_sql($tablealias, $value) { global $DB; - $ILIKE = $DB->sql_ilike(); - static $i=0; $i++; $name = "df_picture_$i"; - return array(" ({$tablealias}.fieldid = {$this->field->id} AND {$tablealias}.content $ILIKE :$name) ", array($name=>"%$value%")); + return array(" ({$tablealias}.fieldid = {$this->field->id} AND ".$DB->sql_like("{$tablealias}.content", ":$name", false).") ", array($name=>"%$value%")); } } diff --git a/mod/data/field/textarea/field.class.php b/mod/data/field/textarea/field.class.php index 4d5b703c1ba..248834523b4 100755 --- a/mod/data/field/textarea/field.class.php +++ b/mod/data/field/textarea/field.class.php @@ -92,12 +92,10 @@ class data_field_textarea extends data_field_base { function generate_sql($tablealias, $value) { global $DB; - $ILIKE = $DB->sql_ilike(); - static $i=0; $i++; $name = "df_picture_$i"; - return array(" ({$tablealias}.fieldid = {$this->field->id} AND {$tablealias}.content $ILIKE :$name) ", array($name=>"%$value%")); + return array(" ({$tablealias}.fieldid = {$this->field->id} AND ".$DB->sql_like("{$tablealias}.content", ":$name", false).") ", array($name=>"%$value%")); } function print_after_form() { diff --git a/mod/data/field/url/field.class.php b/mod/data/field/url/field.class.php index b86d8764d22..663f6aa3311 100755 --- a/mod/data/field/url/field.class.php +++ b/mod/data/field/url/field.class.php @@ -82,12 +82,10 @@ class data_field_url extends data_field_base { function generate_sql($tablealias, $value) { global $DB; - $ILIKE = $DB->sql_ilike(); - static $i=0; $i++; $name = "df_picture_$i"; - return array(" ({$tablealias}.fieldid = {$this->field->id} AND {$tablealias}.content $ILIKE :$name) ", array($name=>"%$value%")); + return array(" ({$tablealias}.fieldid = {$this->field->id} AND ".$DB->sql_like("{$tablealias}.content", ":$name", false).") ", array($name=>"%$value%")); } function display_browse_field($recordid, $template) { diff --git a/mod/data/lib.php b/mod/data/lib.php index 031ea25a4d1..f97d05c7552 100755 --- a/mod/data/lib.php +++ b/mod/data/lib.php @@ -1650,14 +1650,13 @@ function data_get_post_actions() { function data_fieldname_exists($name, $dataid, $fieldid=0) { global $CFG, $DB; - $LIKE = $DB->sql_ilike(); if ($fieldid) { return $DB->record_exists_sql("SELECT * FROM {data_fields} df - WHERE df.name $LIKE ? AND df.dataid = ? + WHERE ".$DB->sql_like('df.name', '?', false)." AND df.dataid = ? AND ((df.id < ?) OR (df.id > ?))", array($name, $dataid, $fieldid, $fieldid)); } else { return $DB->record_exists_sql("SELECT * FROM {data_fields} df - WHERE df.name $LIKE ? AND df.dataid = ?", array($name, $dataid)); + WHERE ".$DB->sql_like('df.name', '?', false)." AND df.dataid = ?", array($name, $dataid)); } } @@ -2949,7 +2948,7 @@ function data_presets_save($course, $cm, $data, $path) { */ function data_presets_generate_xml($course, $cm, $data) { global $DB; - + // Assemble "preset.xml": $presetxmldata = "\n\n"; diff --git a/mod/data/view.php b/mod/data/view.php index a4bf19f7b4c..45ddf0ed96e 100755 --- a/mod/data/view.php +++ b/mod/data/view.php @@ -449,8 +449,6 @@ if ($showactivity) { $groupselect = ' '; } - $ilike = $DB->sql_ilike(); //Be case-insensitive - // Init some variables to be used by advanced search $advsearchselect = ''; $advwhere = ''; @@ -501,7 +499,7 @@ if ($showactivity) { foreach($search_array as $key => $val) { //what does $search_array hold? if ($key == DATA_FIRSTNAME or $key == DATA_LASTNAME) { $i++; - $searchselect .= " AND $val->field $ilike :search_flname_$i"; + $searchselect .= " AND ".$DB->sql_like($val->field, ":search_flname_$i", false); $params['search_flname_'.$i] = "%$val->data%"; continue; } @@ -511,7 +509,7 @@ if ($showactivity) { $advparams = array_merge($advparams, $val->params); } } else if ($search) { - $searchselect = " AND (cs.content $ilike :search1 OR u.firstname $ilike :search2 OR u.lastname $ilike :search3 ) "; + $searchselect = " AND (".$DB->sql_like('cs.content', ':search1', false)." OR ".$DB->sql_like('u.firstname', ':search2', false)." OR ".$DB->sql_like('u.lastname', ':search3', false)." ) "; $params['search1'] = "%$search%"; $params['search2'] = "%$search%"; $params['search3'] = "%$search%"; @@ -547,7 +545,7 @@ if ($showactivity) { foreach($search_array as $key => $val) { //what does $search_array hold? if ($key == DATA_FIRSTNAME or $key == DATA_LASTNAME) { $i++; - $searchselect .= " AND $val->field $ilike :search_flname_$i"; + $searchselect .= " AND ".$DB->sql_like($val->field, ":search_flname_$i", false); $params['search_flname_'.$i] = "%$val->data%"; continue; } @@ -557,7 +555,7 @@ if ($showactivity) { $advparams = array_merge($advparams, $val->params); } } else if ($search) { - $searchselect = " AND (cs.content $ilike :search1 OR u.firstname $ilike :search2 OR u.lastname $ilike :search3 ) "; + $searchselect = " AND (".$DB->sql_like('cs.content', ':search1', false)." OR ".$DB->sql_like('u.firstname', ':search2', false)." OR ".$DB->sql_like('u.lastname', ':search3', false)." ) "; $params['search1'] = "%$search%"; $params['search2'] = "%$search%"; $params['search3'] = "%$search%";