diff options
author | Simon Rettberg | 2018-03-04 16:42:05 +0100 |
---|---|---|
committer | Simon Rettberg | 2018-03-04 16:42:05 +0100 |
commit | aadf3feb7b8090796a4dd083c90a5bc4893c8faf (patch) | |
tree | 515e141009a855d76011e315b2f832c51adc0409 /modules-available/statistics/inc/filter.inc.php | |
parent | [sysconfig] Add permissions (diff) | |
download | slx-admin-aadf3feb7b8090796a4dd083c90a5bc4893c8faf.tar.gz slx-admin-aadf3feb7b8090796a4dd083c90a5bc4893c8faf.tar.xz slx-admin-aadf3feb7b8090796a4dd083c90a5bc4893c8faf.zip |
[statistics] Refine permissions, add some new ones
Diffstat (limited to 'modules-available/statistics/inc/filter.inc.php')
-rw-r--r-- | modules-available/statistics/inc/filter.inc.php | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/modules-available/statistics/inc/filter.inc.php b/modules-available/statistics/inc/filter.inc.php index f6765059..565ea5f0 100644 --- a/modules-available/statistics/inc/filter.inc.php +++ b/modules-available/statistics/inc/filter.inc.php @@ -18,7 +18,7 @@ class Filter { $this->column = trim($column); $this->operator = trim($operator); - $this->argument = trim($argument); + $this->argument = is_array($argument) ? $argument : trim($argument); } /* returns a where clause and adds needed operators to the passed array */ @@ -245,7 +245,12 @@ class LocationFilter extends Filter $recursive = (substr($this->operator, -1) === '~'); $this->operator = str_replace('~', '=', $this->operator); - settype($this->argument, 'int'); + if (is_array($this->argument)) { + if ($recursive) + Util::traceError('Cannot use ~ operator for location with array'); + } else { + settype($this->argument, 'int'); + } $neg = $this->operator === '=' ? '' : 'NOT'; if ($this->argument === 0) { return "machine.locationid IS $neg NULL"; |