summaryrefslogtreecommitdiffstats
path: root/codebase/db_common.php
diff options
context:
space:
mode:
authorStanislau Wolski <stanislau.wolski@gmail.com>2014-12-26 17:14:45 +0300
committerStanislau Wolski <stanislau.wolski@gmail.com>2014-12-26 17:14:45 +0300
commit2b63c8fb8d8598ecabb9180e11fa3d41a0cb73c7 (patch)
tree209a5e692b0987040d6df9788cf5fda32f71065a /codebase/db_common.php
parentfb8151aca46a28c22f034de83cd08313d93ce06d (diff)
downloadconnector-php-2b63c8fb8d8598ecabb9180e11fa3d41a0cb73c7.zip
connector-php-2b63c8fb8d8598ecabb9180e11fa3d41a0cb73c7.tar.gz
connector-php-2b63c8fb8d8598ecabb9180e11fa3d41a0cb73c7.tar.bz2
[fix] filter data with IN instruction
Diffstat (limited to 'codebase/db_common.php')
-rw-r--r--codebase/db_common.php19
1 files changed, 13 insertions, 6 deletions
diff --git a/codebase/db_common.php b/codebase/db_common.php
index effc291..0b122bd 100644
--- a/codebase/db_common.php
+++ b/codebase/db_common.php
@@ -793,13 +793,20 @@ abstract class DBDataWrapper extends DataWrapper{
for ($i=0; $i < sizeof($rules); $i++)
if (is_string($rules[$i]))
array_push($sql,"(".$rules[$i].")");
- else
- if ($rules[$i]["value"]!=""){
- if (!$rules[$i]["operation"])
- array_push($sql,$this->escape_name($rules[$i]["name"])." LIKE '%".$this->escape($rules[$i]["value"])."%'");
- else
- array_push($sql,$this->escape_name($rules[$i]["name"])." ".$rules[$i]["operation"]." '".$this->escape($rules[$i]["value"])."'");
+ else {
+ $filtervalue = $rules[$i]["value"];
+ $filteroperation = $rules[$i]["operation"];
+ if ($filtervalue!=""){
+ if (!$filteroperation)
+ array_push($sql,$this->escape_name($rules[$i]["name"])." LIKE '%".$this->escape($filtervalue)."%'");
+ else {
+ if ($filteroperation != "IN")
+ $filtervalue = "'".$this->escape($filtervalue)."'";
+
+ array_push($sql,$this->escape_name($rules[$i]["name"])." ".$filteroperation." ".$filtervalue);
+ }
}
+ }
if ($relation !== false && $relation !== ""){
$relsql = $this->escape_name($this->config->relation_id["db_name"])." = '".$this->escape($relation)."'";