Skip to content

Commit 34e5c3e

Browse files
committed
Refine qwp_db_set_search_condition
1 parent a7b39e2 commit 34e5c3e

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

include/db.php

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -211,22 +211,24 @@ function qwp_db_set_search_condition_internal(&$field_values, &$query, &$allow_e
211211
} else if ($field_con == 'not null') {
212212
$obj->isNotNull($field);
213213
} else {
214-
if (isset($field_con[$value])) {
215-
$fn_con = &$field_con[$value];
214+
if (is_array($field_con) && isset($field_con[$value])) {
215+
$fn_con = $field_con[$value];
216216
if (is_array($fn_con)) {
217217
$value = $fn_con[1];
218218
$fn_con = $fn_con[0];
219219
}
220-
if (function_exists($fn_con)) {
221-
$fn_con = $fn_con($value);
222-
}
223-
if (isset($fn_con['where'])) {
224-
$obj->where($fn_con['where']);
225-
continue;
226-
}
220+
} else if (function_exists($field_con)) {
221+
$fn_con = $field_con;
227222
} else {
228223
$fn_con = null;
229224
}
225+
if ($fn_con && function_exists($fn_con)) {
226+
$fn_con = $fn_con($value);
227+
}
228+
if ($fn_con && isset($fn_con['where'])) {
229+
$obj->where($fn_con['where']);
230+
continue;
231+
}
230232
if ($fn_con == 'null') {
231233
$obj->isNull($field);
232234
} else if ($fn_con == 'not null') {

0 commit comments

Comments
 (0)