summaryrefslogtreecommitdiffstats
path: root/modules-available/statistics_reporting/inc/queries.inc.php
diff options
context:
space:
mode:
authorSimon Rettberg2023-11-14 14:47:55 +0100
committerSimon Rettberg2023-11-14 14:47:55 +0100
commit06bff0b9b84d47c43f9bc8aff06a29d85ebb7ed0 (patch)
tree7e5493b102074672d8cfd8fe1a61e49f080edbe8 /modules-available/statistics_reporting/inc/queries.inc.php
parentUpdate phpstorm config (diff)
downloadslx-admin-06bff0b9b84d47c43f9bc8aff06a29d85ebb7ed0.tar.gz
slx-admin-06bff0b9b84d47c43f9bc8aff06a29d85ebb7ed0.tar.xz
slx-admin-06bff0b9b84d47c43f9bc8aff06a29d85ebb7ed0.zip
Add function param/return types, fix a lot more phpstorm complaints
Diffstat (limited to 'modules-available/statistics_reporting/inc/queries.inc.php')
-rw-r--r--modules-available/statistics_reporting/inc/queries.inc.php35
1 files changed, 14 insertions, 21 deletions
diff --git a/modules-available/statistics_reporting/inc/queries.inc.php b/modules-available/statistics_reporting/inc/queries.inc.php
index 2465e557..bafe80bc 100644
--- a/modules-available/statistics_reporting/inc/queries.inc.php
+++ b/modules-available/statistics_reporting/inc/queries.inc.php
@@ -13,7 +13,7 @@ class Queries
}
}
- public static function getClientStatistics(int $from, int $to, $lowerTimeBound = 0, $upperTimeBound = 24)
+ public static function getClientStatistics(int $from, int $to, int $lowerTimeBound = 0, int $upperTimeBound = 24): array
{
$fromCutoff = $from - 86400 * 30;
$res = Database::simpleQuery("SELECT m.machineuuid, m.hostname, m.clientip,
@@ -28,7 +28,7 @@ class Queries
return $machines;
}
- public static function getLocationStatistics(int $from, int $to, $lowerTimeBound = 0, $upperTimeBound = 24)
+ public static function getLocationStatistics(int $from, int $to, int $lowerTimeBound = 0, int $upperTimeBound = 24): array
{
$fromCutoff = $from - 86400 * 30;
$res = Database::simpleQuery("SELECT m.machineuuid, m.hostname, m.clientip,
@@ -37,7 +37,7 @@ class Queries
$machines = self::getStats3($res, $from, $to, $lowerTimeBound, $upperTimeBound);
$locations = [];
$keys = ['locationid', 'totalTime', 'totalOffTime', 'totalSessionTime', 'totalStandbyTime', 'totalIdleTime', 'totalIdleTime', 'longSessions', 'shortSessions', 'sessions'];
- while ($machine = array_pop($machines)) {
+ while (($machine = array_pop($machines)) !== null) {
if (!isset($locations[$machine['locationid']])) {
self::keepKeys($machine, $keys);
$locations[$machine['locationid']] = $machine;
@@ -69,7 +69,7 @@ class Queries
$machines = self::getStats3($res, $from, $to, $lowerTimeBound, $upperTimeBound);
$total = false;
$keys = ['totalTime', 'totalOffTime', 'totalSessionTime', 'totalStandbyTime', 'totalIdleTime', 'totalIdleTime', 'longSessions', 'shortSessions', 'sessions'];
- while ($machine = array_pop($machines)) {
+ while (($machine = array_pop($machines)) !== null) {
if ($total === false) {
self::keepKeys($machine, $keys);
$total = $machine;
@@ -89,15 +89,7 @@ class Queries
return $total;
}
- /**
- * @param \PDOStatement $res
- * @param int $from
- * @param int $to
- * @param int $lowerTimeBound
- * @param int $upperTimeBound
- * @return array
- */
- private static function getStats3($res, $from, $to, $lowerTimeBound, $upperTimeBound)
+ private static function getStats3(PDOStatement $res, int $from, int $to, int $lowerTimeBound, int $upperTimeBound): array
{
//$debug = false;
if ($lowerTimeBound === 0 && $upperTimeBound === 24 || $upperTimeBound <= $lowerTimeBound) {
@@ -228,8 +220,8 @@ class Queries
}
*/
$machine[$row['typeid']] += self::timeDiff($start, $end, $bounds);
- $sh = date('G', $start);
}
+ $sh = date('G', $start);
if ($row['typeid'] === 'totalSessionTime' && ($bounds === false || ($sh >= $bounds[0] && $sh < $bounds[1]))) {
if ($row['data'] >= 60) {
$machine['longSessions'] += 1;
@@ -307,17 +299,18 @@ class Queries
/**
* Get median of array.
- * @param int[] list of values
+ * @param int[] $array list of values
* @return int The median
*/
- private static function calcMedian($array) {
+ private static function calcMedian(array $array): int
+ {
if (empty($array))
return 0;
sort($array, SORT_NUMERIC);
$count = count($array); //total numbers in array
$middleval = (int)floor(($count-1) / 2); // find the middle value, or the lowest middle value
if($count % 2 === 1) { // odd number, middle is the median
- return (int)$array[$middleval];
+ return $array[$middleval];
}
// even number, calculate avg of 2 medians
$low = $array[$middleval];
@@ -343,7 +336,7 @@ class Queries
GROUP BY data");
}
- public static function getDozmodStats(int $from, int $to)
+ public static function getDozmodStats(int $from, int $to): array
{
if (Module::get('dozmod') === false)
return ['disabled' => true];
@@ -364,7 +357,7 @@ class Queries
return $return;
}
- public static function getExamStats(int $from, int $to)
+ public static function getExamStats(int $from, int $to): array
{
if (Module::get('exams') === false)
return ['disabled' => true];
@@ -395,7 +388,7 @@ class Queries
return $return;
}
- public static function getAggregatedMachineStats($from)
+ public static function getAggregatedMachineStats(int $from): array
{
$return = array();
$return['location'] = Database::queryAll("SELECT MD5(CONCAT(locationid, :salt)) AS `location`, Count(*) AS `count`
@@ -436,7 +429,7 @@ class Queries
* @param int $to end timestamp
* @return int count of user active in timespan
*/
- public static function getUniqueUserCount($from, $to)
+ public static function getUniqueUserCount(int $from, int $to): int
{
$res = Database::queryFirst("SELECT Count(DISTINCT username) as `total`
FROM statistic