diff options
Diffstat (limited to 'modules-available/statistics/inc/statisticsfilter.inc.php')
-rw-r--r-- | modules-available/statistics/inc/statisticsfilter.inc.php | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/modules-available/statistics/inc/statisticsfilter.inc.php b/modules-available/statistics/inc/statisticsfilter.inc.php index 8cbdd780..e186ad31 100644 --- a/modules-available/statistics/inc/statisticsfilter.inc.php +++ b/modules-available/statistics/inc/statisticsfilter.inc.php @@ -235,6 +235,7 @@ abstract class StatisticsFilter 'live_swapfree' => new SimpleStatisticsFilter('live_swapfree', self::OP_ORDINAL, 'MiB'), 'live_memfree' => new SimpleStatisticsFilter('live_memfree', self::OP_ORDINAL, 'MiB'), 'live_tmpfree' => new SimpleStatisticsFilter('live_tmpfree', self::OP_ORDINAL, 'MiB'), + 'standbycrash' => new StandbyCrashStatisticsFilter(), ]; if (Module::isAvailable('locations')) { self::$columns['location'] = new LocationStatisticsFilter(); @@ -324,6 +325,27 @@ class EnumStatisticsFilter extends SimpleStatisticsFilter } +class StandbyCrashStatisticsFilter extends EnumStatisticsFilter +{ + + public function __construct() + { + parent::__construct('standbysem', ['NONE', 'MANY']); + } + + public function whereClause(string $operator, $argument, array &$args, array &$joins) + { + if ($argument === 'NONE') { + $argument = 0; + } else { // MANY + $argument = 3; + $operator = $operator === '=' ? '>' : '<='; + } + return parent::whereClause($operator, $argument, $args, $joins); + } + +} + class DateStatisticsFilter extends StatisticsFilter { |