diff options
author | Tristan Darricau <github@nicofuma.fr> | 2014-06-02 23:35:35 +0200 |
---|---|---|
committer | Tristan Darricau <github@nicofuma.fr> | 2014-06-02 23:35:35 +0200 |
commit | f980fed5d26e2a7d2e1c139da7e1d8be7c1523e3 (patch) | |
tree | d8cdfec9bf838cadb305b8bfca7f04492cb54b6e /phpBB/phpbb | |
parent | 3e31764007dd68ef438bad2a2437ba48707f6831 (diff) | |
download | forums-f980fed5d26e2a7d2e1c139da7e1d8be7c1523e3.tar forums-f980fed5d26e2a7d2e1c139da7e1d8be7c1523e3.tar.gz forums-f980fed5d26e2a7d2e1c139da7e1d8be7c1523e3.tar.bz2 forums-f980fed5d26e2a7d2e1c139da7e1d8be7c1523e3.tar.xz forums-f980fed5d26e2a7d2e1c139da7e1d8be7c1523e3.zip |
[ticket/12639] Handle $conditions['keywords'] outside of the loop
PHPBB3-12639
Diffstat (limited to 'phpBB/phpbb')
-rw-r--r-- | phpBB/phpbb/log/log.php | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/phpBB/phpbb/log/log.php b/phpBB/phpbb/log/log.php index 0dce9306df..d2c946d28b 100644 --- a/phpBB/phpbb/log/log.php +++ b/phpBB/phpbb/log/log.php @@ -391,28 +391,29 @@ class log implements \phpbb\log\log_interface } $sql_where = 'WHERE log_type = ' . $log_type; + + if (isset($conditions['keywords'])) + { + $sql_where .= $this->generate_sql_keyword($conditions['keywords'], '', ' AND'); + + unset($conditions['keywords']); + } + foreach ($conditions as $field => $field_value) { - if ($field == 'keywords') + $sql_where .= ' AND '; + + if (is_array($field_value) && sizeof($field_value) == 2 && !is_array($field_value[1])) + { + $sql_where .= $field . ' ' . $field_value[0] . ' ' . $field_value[1]; + } + else if (is_array($field_value) && isset($field_value['IN']) && is_array($field_value['IN'])) { - $sql_where .= $this->generate_sql_keyword($field_value, '', ' AND'); + $sql_where .= $this->db->sql_in_set($field, $field_value['IN']); } else { - $sql_where .= ' AND '; - - if (is_array($field_value) && sizeof($field_value) == 2 && !is_array($field_value[1])) - { - $sql_where .= $field . ' ' . $field_value[0] . ' ' . $field_value[1]; - } - else if (is_array($field_value) && isset($field_value['IN']) && is_array($field_value['IN'])) - { - $sql_where .= $this->db->sql_in_set($field, $field_value['IN']); - } - else - { - $sql_where .= $field . ' = ' . $field_value; - } + $sql_where .= $field . ' = ' . $field_value; } } |