diff --git a/functions.inc.php b/functions.inc.php index ee680a2e..052ea4b9 100644 --- a/functions.inc.php +++ b/functions.inc.php @@ -1651,7 +1651,7 @@ function db_where_clause($condition, $struct) { if (isset($struct[$field]) && $struct[$field]['type'] == 'bool') $value = db_get_boolean($value); $parts[] = "$field='" . escape_string($value) . "'"; } - $query = " WHERE " . join(" AND ", $parts) . " "; + $query = " WHERE ( " . join(" AND ", $parts) . " ) "; return $query; } diff --git a/model/PFAHandler.php b/model/PFAHandler.php index 635bda15..7532cb69 100644 --- a/model/PFAHandler.php +++ b/model/PFAHandler.php @@ -453,12 +453,10 @@ abstract class PFAHandler { $where = db_where_clause($condition, $this->struct); } else { if ($condition == "") $condition = '1=1'; - $where = " WHERE $condition "; + $where = " WHERE ( $condition ) "; } if ($this->domain_field != "") { - # TODO: wrap where clause in (...) to avoid problems if OR is used? - # TODO: Note: this would need a change in db_where_clause not to include the WHERE keyword in the result $where .= " AND " . db_in_clause($this->domain_field, $this->allowed_domains); }