summaryrefslogtreecommitdiffstats
path: root/modules-available/statistics/inc/statisticsfilter.inc.php
diff options
context:
space:
mode:
authorSimon Rettberg2022-03-11 10:34:28 +0100
committerSimon Rettberg2022-03-11 10:34:28 +0100
commitfb5f5b3510071338e288b57a77aebd8a65fe65fe (patch)
treefcc1690132622385f90921d935754a2fbca5b4f4 /modules-available/statistics/inc/statisticsfilter.inc.php
parent[statistics] Update translations (diff)
downloadslx-admin-fb5f5b3510071338e288b57a77aebd8a65fe65fe.tar.gz
slx-admin-fb5f5b3510071338e288b57a77aebd8a65fe65fe.tar.xz
slx-admin-fb5f5b3510071338e288b57a77aebd8a65fe65fe.zip
[statistics] Add types
Diffstat (limited to 'modules-available/statistics/inc/statisticsfilter.inc.php')
-rw-r--r--modules-available/statistics/inc/statisticsfilter.inc.php37
1 files changed, 19 insertions, 18 deletions
diff --git a/modules-available/statistics/inc/statisticsfilter.inc.php b/modules-available/statistics/inc/statisticsfilter.inc.php
index e186ad31..03a66b25 100644
--- a/modules-available/statistics/inc/statisticsfilter.inc.php
+++ b/modules-available/statistics/inc/statisticsfilter.inc.php
@@ -56,15 +56,15 @@ abstract class StatisticsFilter
$this->placeholder = $placeholder;
}
- public function type()
+ public function type(): string
{
return ($this->ops === self::OP_ORDINAL || $this->ops === self::OP_FUZZY_ORDINAL) ? 'int' : 'string';
}
/* returns a where clause and adds needed operators to the passed arrays */
- public abstract function whereClause(string $operator, $argument, array &$args, array &$joins);
+ public abstract function whereClause(string $operator, $argument, array &$args, array &$joins): string;
- public function bind(string $op, $argument) { return new DatabaseFilter($this, $op, $argument); }
+ public function bind(string $op, $argument): DatabaseFilter { return new DatabaseFilter($this, $op, $argument); }
public final function validateOperator(string $operator)
{
@@ -100,7 +100,7 @@ abstract class StatisticsFilter
return ($array[$best] + $array[$best - 1]) / 2;
}
- public static function getNewKey($colname)
+ public static function getNewKey($colname): string
{
return $colname . '_' . (self::$keyCounter++);
}
@@ -108,7 +108,7 @@ abstract class StatisticsFilter
/**
* @return DatabaseFilter[]
*/
- public static function parseQuery()
+ public static function parseQuery(): array
{
// Get current settings from GET
$ops = Request::get('op', [], 'array');
@@ -247,7 +247,7 @@ abstract class StatisticsFilter
class SimpleStatisticsFilter extends StatisticsFilter
{
- public function whereClause(string $operator, $argument, array &$args, array &$joins)
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
{
$addendum = '';
$key = self::getNewKey($this->column);
@@ -301,9 +301,9 @@ class EnumStatisticsFilter extends SimpleStatisticsFilter
$this->values = $values;
}
- public function type() { return 'enum'; }
+ public function type(): string { return 'enum'; }
- public function whereClause(string $operator, $argument, array &$args, array &$joins)
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
{
$keys = ArrayUtil::flattenByKey($this->values, 'key');
if (is_array($argument)) {
@@ -333,7 +333,7 @@ class StandbyCrashStatisticsFilter extends EnumStatisticsFilter
parent::__construct('standbysem', ['NONE', 'MANY']);
}
- public function whereClause(string $operator, $argument, array &$args, array &$joins)
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
{
if ($argument === 'NONE') {
$argument = 0;
@@ -354,9 +354,9 @@ class DateStatisticsFilter extends StatisticsFilter
parent::__construct($column, self::OP_ORDINAL, $placeholder);
}
- public function type() { return 'date'; }
+ public function type(): string { return 'date'; }
- public function whereClause(string $operator, $argument, array &$args, array &$joins)
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
{
$key = self::getNewKey($this->column);
@@ -397,7 +397,7 @@ class RuntimeStatisticsFilter extends StatisticsFilter
parent::__construct('lastboot', self::OP_ORDINAL);
}
- public function whereClause(string $operator, $argument, array &$args, array &$joins)
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
{
$upper = time() - (int)$argument * 3600;
$lower = $upper - 3600;
@@ -454,7 +454,7 @@ class RamGbStatisticsFilter extends GbToMbRangeStatisticsFilter
parent::__construct('mbram', self::OP_FUZZY_ORDINAL, 'GiB');
}
- public function whereClause(string $operator, $argument, array &$args, array &$joins)
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
{
return parent::rangeClause($operator, $argument, self::SIZE_RAM);
}
@@ -469,7 +469,7 @@ class Id44GbStatisticsFilter extends GbToMbRangeStatisticsFilter
parent::__construct('id44mb', self::OP_FUZZY_ORDINAL,'GiB');
}
- public function whereClause(string $operator, $argument, array &$args, array &$joins)
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
{
return parent::rangeClause($operator, $argument, self::SIZE_ID44);
}
@@ -483,7 +483,7 @@ class StateStatisticsFilter extends EnumStatisticsFilter
parent::__construct('state', ['on', 'off', 'idle', 'occupied', 'standby']);
}
- public function whereClause(string $operator, $argument, array &$args, array &$joins)
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
{
$map = [ 'on' => ['IDLE', 'OCCUPIED'], 'off' => ['OFFLINE'], 'idle' => ['IDLE'], 'occupied' => ['OCCUPIED'], 'standby' => ['STANDBY'] ];
$neg = $operator == '!=' ? 'NOT ' : '';
@@ -513,9 +513,9 @@ class LocationStatisticsFilter extends EnumStatisticsFilter
parent::__construct('locationid', $locs, self::OP_LOCATIONS);
}
- public function type() { return 'enum'; }
+ public function type(): string { return 'enum'; }
- public function whereClause(string $operator, $argument, array &$args, array &$joins)
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
{
$recursive = (substr($operator, -1) === '~');
$operator = str_replace('~', '=', $operator);
@@ -597,7 +597,7 @@ class IsClientStatisticsFilter extends StatisticsFilter
parent::__construct(null, []);
}
- public function whereClause(string $operator, $argument, array &$args, array &$joins)
+ public function whereClause(string $operator, $argument, array &$args, array &$joins): string
{
if ($argument) {
$joins[] = ' LEFT JOIN runmode USING (machineuuid)';
@@ -616,6 +616,7 @@ class DatabaseFilter
private $inst;
public $op;
public $argument;
+
public function __construct(StatisticsFilter $inst, string $op, $argument)
{
$inst->validateOperator($op);