From cda3c04cefc618e0f14bf64122cc33b921a6a8c3 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Thu, 4 Jan 2018 18:56:49 +0000 Subject: [PATCH] lib/php/db/table.php --- lib/php/db/table.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/php/db/table.php b/lib/php/db/table.php index 1805f5d0..50174522 100644 --- a/lib/php/db/table.php +++ b/lib/php/db/table.php @@ -793,7 +793,10 @@ Class Table extends nb { if (!preg_match('/^(char|varchar|text|blog)/i',$field->type)) $name = $field->sql_name_cast_text(); # NB 04.01.18 if (preg_match("/(LIKE|$regexp) ..$/","$equal$v") and $field->null) { - if (preg_match("/(LIKE|$regexp) ..$/","$equal$v")) { +#bye("$equal$v"); + #if (preg_match("/(LIKE|$regexp) ..$/","$equal$v")) { + if (preg_match("/^(LIKE|$regexp)$/",trim($equal))) { + #if (trim($equal) == 'LIKE' or trim($equal) == $regexp) { if ($field->null) $k = 'COALESCE('.$name.','.$this->db()->quote('').")"; } elseif ($field->extras) { @@ -817,16 +820,19 @@ Class Table extends nb { $extra_where = (string)$this->db()->conf_type('extra_where'); #if ($_SERVER['REMOTE_USER'] == 'nico') debug($sql); $k = $field->extras; + if ($extra_where == 'having') { $having[] = "$k$equal$v"; } else { $where[] = "$k$equal$v"; } + } else { $where[] = "$k$equal$v"; + } - } #foreach fields + } #< foreach $sql = ''; if ($where) $sql .= ' WHERE '.join(" $logic ",$where); -- 2.47.3