From 9c326b0dbcc19f63e6527b8f886227fdb0bda398 Mon Sep 17 00:00:00 2001
From: Xavier Ley <xavierley@gmail.com>
Date: Wed, 8 Jun 2016 11:25:30 +0200
Subject: [PATCH] [TASK] Doctrine: Migrate BackendUserRepository

Resolves: #76521
Releases: master
Change-Id: I3f785fd3ecdfafbd84987841a92849071b37c63f
Reviewed-on: https://review.typo3.org/48499
Reviewed-by: Jan Helke <typo3@helke.de>
Tested-by: Jan Helke <typo3@helke.de>
Reviewed-by: Morton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: Morton Jonuschat <m.jonuschat@mojocode.de>
---
 .../Domain/Repository/BackendUserRepository.php | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/typo3/sysext/beuser/Classes/Domain/Repository/BackendUserRepository.php b/typo3/sysext/beuser/Classes/Domain/Repository/BackendUserRepository.php
index e7d190f9a801..dbd0f72e9504 100644
--- a/typo3/sysext/beuser/Classes/Domain/Repository/BackendUserRepository.php
+++ b/typo3/sysext/beuser/Classes/Domain/Repository/BackendUserRepository.php
@@ -14,6 +14,9 @@ namespace TYPO3\CMS\Beuser\Domain\Repository;
  * The TYPO3 project - inspiring people to share!
  */
 
+use TYPO3\CMS\Core\Utility\GeneralUtility;
+use TYPO3\CMS\Core\Database\ConnectionPool;
+
 /**
  * Repository for \TYPO3\CMS\Beuser\Domain\Model\BackendUser
  */
@@ -101,11 +104,19 @@ class BackendUserRepository extends \TYPO3\CMS\Extbase\Domain\Repository\Backend
     public function findOnline()
     {
         $uids = array();
-        $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('DISTINCT ses_userid', 'be_sessions', '');
-        while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
+
+        $queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)->getQueryBuilderForTable('be_sessions');
+
+        $res = $queryBuilder
+            ->select('ses_userid')
+            ->from('be_sessions')
+            ->groupBy('ses_userid')
+            ->execute();
+
+        while ($row = $res->fetch()) {
             $uids[] = $row['ses_userid'];
         }
-        $GLOBALS['TYPO3_DB']->sql_free_result($res);
+
         $query = $this->createQuery();
         $query->matching($query->in('uid', $uids));
         return $query->execute();
-- 
GitLab