Skip to content

Commit 3076373

Browse files
hamza221kesselb
authored andcommitted
# This is a combination of 3 commits.
# This is the 1st commit message: fix: get actual number of active users Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com> # The commit message #2 will be skipped: # fixup! fix: get actual number of active users # # Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de> # The commit message #3 will be skipped: # fixup! fix: get actual number of active users # # Signed-off-by: Hamza Mahjoubi <hamzamahjoubi221@gmail.com>
1 parent f12c594 commit 3076373

1 file changed

Lines changed: 14 additions & 10 deletions

File tree

lib/SessionStatistics.php

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
namespace OCA\ServerInfo;
1212

1313
use OCP\AppFramework\Utility\ITimeFactory;
14+
use OCP\DB\QueryBuilder\IQueryBuilder;
1415
use OCP\IDBConnection;
1516

1617
/**
@@ -58,18 +59,21 @@ public function getSessionStatistics(): array {
5859
* @param int $offset seconds
5960
*/
6061
private function getNumberOfActiveUsers(int $offset): int {
61-
$query = $this->connection->getQueryBuilder();
62-
$query->select('uid')
63-
->from('authtoken')
64-
->where($query->expr()->gte(
65-
'last_activity',
66-
$query->createNamedParameter($this->timeFactory->getTime() - $offset)
67-
))->groupBy('uid');
62+
$queryBuilder = $this->connection->getQueryBuilder();
63+
$queryBuilder->select($queryBuilder->func()->count('userid'))
64+
->from('preferences')
65+
->where($queryBuilder->expr()->eq('appid', $queryBuilder->createNamedParameter('login')))
66+
->andWhere($queryBuilder->expr()->eq('configkey', $queryBuilder->createNamedParameter('lastLogin')))
67+
->andwhere($queryBuilder->expr()->gte(
68+
'configvalue',
69+
$queryBuilder->createNamedParameter((string)($this->timeFactory->getTime() - $offset)),
70+
IQueryBuilder::PARAM_STR,
71+
));
6872

69-
$result = $query->executeQuery();
70-
$activeUsers = $result->fetchAll();
73+
$result = $queryBuilder->executeQuery();
74+
$activeUsers = (int)$result->fetchOne();
7175
$result->closeCursor();
7276

73-
return count($activeUsers);
77+
return $activeUsers;
7478
}
7579
}

0 commit comments

Comments
 (0)