From f3830941e4a446b96ceaa6744c70bbf7be614bda Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 8 Dec 2022 16:21:45 +0100 Subject: [statistics] Only show graph if no non-location filters are set Closes #3694 --- .../statistics/inc/statisticsfilterset.inc.php | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'modules-available/statistics/inc/statisticsfilterset.inc.php') diff --git a/modules-available/statistics/inc/statisticsfilterset.inc.php b/modules-available/statistics/inc/statisticsfilterset.inc.php index 90a39f7d..c1401c11 100644 --- a/modules-available/statistics/inc/statisticsfilterset.inc.php +++ b/modules-available/statistics/inc/statisticsfilterset.inc.php @@ -107,4 +107,31 @@ class StatisticsFilterSet return false; } + public function suitableForUsageGraph(): bool + { + foreach ($this->filters as $filter) { + switch ($filter->getClass()) { + case 'LocationStatisticsFilter': + case 'IsClientStatisticsFilter': + break; + case 'DateStatisticsFilter': + if ($filter->op !== '>' && $filter->op !== '>=') + return false; + if (strtotime($filter->argument) + 3*86400 > time()) + return false; + break; + case 'RuntimeStatisticsFilter': + if ($filter->op !== '>' && $filter->op !== '>=') + return false; + if ($filter->argument < 3 * 24) + return false; + break; + default: + error_log('NOPE: ' . $filter->getClass()); + return false; + } + } + return true; + } + } -- cgit v1.2.3-55-g7522