mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 08:22:07 +02:00
MDL-24079 converted sql_ilike() to new sql_like in user selectors
This commit is contained in:
parent
086339d293
commit
f63ac65ac5
@ -258,7 +258,6 @@ function get_users_listing($sort='lastaccess', $dir='ASC', $page=0, $recordsperp
|
||||
$search='', $firstinitial='', $lastinitial='', $extraselect='', array $extraparams=null) {
|
||||
global $DB;
|
||||
|
||||
$LIKE = $DB->sql_ilike();
|
||||
$fullname = $DB->sql_fullname();
|
||||
|
||||
$select = "deleted <> 1";
|
||||
@ -266,18 +265,20 @@ function get_users_listing($sort='lastaccess', $dir='ASC', $page=0, $recordsperp
|
||||
|
||||
if (!empty($search)) {
|
||||
$search = trim($search);
|
||||
$select .= " AND ($fullname $LIKE :search1 OR email $LIKE :search2 OR username = :search3)";
|
||||
$select .= " AND (". $DB->sql_like($fullname, ':search1', false, false).
|
||||
" OR ". $DB->sql_like('email', ':search2', false, false).
|
||||
" OR username = :search3)";
|
||||
$params['search1'] = "%$search%";
|
||||
$params['search2'] = "%$search%";
|
||||
$params['search3'] = "$search";
|
||||
}
|
||||
|
||||
if ($firstinitial) {
|
||||
$select .= " AND firstname $LIKE :fni";
|
||||
$select .= " AND ". $DB->sql_like('firstname', ':fni', false, false);
|
||||
$params['fni'] = "$firstinitial%";
|
||||
}
|
||||
if ($lastinitial) {
|
||||
$select .= " AND lastname $LIKE :lni";
|
||||
$select .= " AND ". $DB->sql_like('lastname', ':lni', false, false);
|
||||
$params['lni'] = "$lastinitial%";
|
||||
}
|
||||
|
||||
|
@ -85,8 +85,8 @@ class user_filter_courserole extends user_filter_type {
|
||||
$name = 'ex_courserole'.$counter++;
|
||||
|
||||
$value = $data['value'];
|
||||
$roleid = (int)$data['roleid'];
|
||||
$categoryid = (int)$data['categoryid'];
|
||||
$roleid = $data['roleid'];
|
||||
$categoryid = $data['categoryid'];
|
||||
|
||||
$params = array();
|
||||
|
||||
@ -94,16 +94,18 @@ class user_filter_courserole extends user_filter_type {
|
||||
return array('', $params);
|
||||
}
|
||||
|
||||
$timenow = round(time(), 100); // rounding - enable sql caching
|
||||
$where = "b.contextlevel=50 AND a.timestart<$timenow AND (a.timeend=0 OR a.timeend>$timenow)";
|
||||
$where = "b.contextlevel=50";
|
||||
if ($roleid) {
|
||||
$where .= " AND a.roleid=$roleid";
|
||||
$where .= " AND a.roleid = :roleid";
|
||||
$params['roleid'] = $roleid;
|
||||
|
||||
}
|
||||
if ($categoryid) {
|
||||
$where .= " AND c.category=$categoryid";
|
||||
$where .= " AND c.category = :categoryid";
|
||||
$params['categoryid'] = $categoryid;
|
||||
}
|
||||
if ($value) {
|
||||
$where .= " AND c.shortname ".$DB->sql_ilike()." :$name";
|
||||
$where .= " AND c.shortname = :$name";
|
||||
$params[$name] = $value;
|
||||
}
|
||||
return array("id IN (SELECT userid
|
||||
|
@ -120,7 +120,6 @@ class user_filter_profilefield extends user_filter_type {
|
||||
|
||||
$where = "";
|
||||
$op = " IN ";
|
||||
$ilike = $DB->sql_ilike();
|
||||
|
||||
if ($operator < 5 and $value === '') {
|
||||
return '';
|
||||
@ -128,27 +127,27 @@ class user_filter_profilefield extends user_filter_type {
|
||||
|
||||
switch($operator) {
|
||||
case 0: // contains
|
||||
$where = "data $ilike :$name";
|
||||
$where = $DB->sql_like('data', ":$name", false, false);
|
||||
$params[$name] = "%$value%";
|
||||
break;
|
||||
case 1: // does not contain
|
||||
$where = "data NOT $ilike :$name";
|
||||
$where = "data NOT LIKE :$name"; //TODO: MDL-24080
|
||||
$params[$name] = "%$value%";
|
||||
break;
|
||||
case 2: // equal to
|
||||
$where = "data $ilike :$name";
|
||||
$where = $DB->sql_like('data', ":$name", false, false);
|
||||
$params[$name] = "$value";
|
||||
break;
|
||||
case 3: // starts with
|
||||
$where = "data $ilike :$name";
|
||||
$where = $DB->sql_like('data', ":$name", false, false);
|
||||
$params[$name] = "$value%";
|
||||
break;
|
||||
case 4: // ends with
|
||||
$where = "data $ilike :$name";
|
||||
$where = $DB->sql_like('data', ":$name", false, false);
|
||||
$params[$name] = "%$value";
|
||||
break;
|
||||
case 5: // empty
|
||||
$where = "data=:$name";
|
||||
$where = "data = :$name";
|
||||
$params[$name] = "";
|
||||
break;
|
||||
case 6: // is not defined
|
||||
|
@ -88,37 +88,35 @@ class user_filter_text extends user_filter_type {
|
||||
return '';
|
||||
}
|
||||
|
||||
$ilike = $DB->sql_ilike();
|
||||
|
||||
switch($operator) {
|
||||
case 0: // contains
|
||||
$res = "$ilike :$name";
|
||||
$res = $DB->sql_like($field, ":$name", false, false);
|
||||
$params[$name] = "%$value%";
|
||||
break;
|
||||
case 1: // does not contain
|
||||
$res = "NOT $ilike :$name";
|
||||
$res = "$field NOT LIKE :$name"; //TODO: MDL-24080
|
||||
$params[$name] = "%$value%";
|
||||
break;
|
||||
case 2: // equal to
|
||||
$res = "$ilike :$name";
|
||||
$res = $DB->sql_like($field, ":$name", false, false);
|
||||
$params[$name] = "$value";
|
||||
break;
|
||||
case 3: // starts with
|
||||
$res = "$ilike :$name";
|
||||
$res = $DB->sql_like($field, ":$name", false, false);
|
||||
$params[$name] = "$value%";
|
||||
break;
|
||||
case 4: // ends with
|
||||
$res = "$ilike :$name";
|
||||
$res = $DB->sql_like($field, ":$name", false, false);
|
||||
$params[$name] = "%$value";
|
||||
break;
|
||||
case 5: // empty
|
||||
$res = "=:$name";
|
||||
$params[$name] = "";
|
||||
$res = "$field = :$name";
|
||||
$params[$name] = $DB->sql_empty();
|
||||
break;
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
return array($field.' '.$res, $params);
|
||||
return array($res, $params);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -415,9 +415,10 @@
|
||||
$totalcount = $DB->count_records_sql("SELECT COUNT(u.id) $from $where", $params);
|
||||
|
||||
if (!empty($search)) {
|
||||
$LIKE = $DB->sql_ilike();
|
||||
$fullname = $DB->sql_fullname('u.firstname','u.lastname');
|
||||
$wheres[] = "($fullname $LIKE :search1 OR email $LIKE :search2 OR idnumber $LIKE :search3) ";
|
||||
$wheres[] = "(". $DB->sql_like($fullname, ':search1', false, false) .
|
||||
" OR ". $DB->sql_like('email', ':search2', false, false) .
|
||||
" OR ". $DB->sql_like('idnumber', ':search3', false, false) .") ";
|
||||
$params['search1'] = "%$search%";
|
||||
$params['search2'] = "%$search%";
|
||||
$params['search3'] = "%$search%";
|
||||
|
@ -429,15 +429,14 @@ abstract class user_selector_base {
|
||||
foreach ($this->extrafields as $field) {
|
||||
$conditions[] = $u . $field;
|
||||
}
|
||||
$ilike = ' ' . $DB->sql_ilike();
|
||||
if ($this->searchanywhere) {
|
||||
$searchparam = '%' . $search . '%';
|
||||
} else {
|
||||
$searchparam = $search . '%';
|
||||
}
|
||||
$i = 0;
|
||||
foreach ($conditions as &$condition) {
|
||||
$condition .= "$ilike :con{$i}00";
|
||||
foreach ($conditions as $key=>$condition) {
|
||||
$conditions[$key] = $DB->sql_like($condition, ":con{$i}00", false, false);
|
||||
$params["con{$i}00"] = $searchparam;
|
||||
$i++;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user