From 33259b41cd45fa129004c4565405d671e435087f Mon Sep 17 00:00:00 2001 From: Loki3000 Date: Tue, 10 Jan 2017 13:05:21 +0300 Subject: [PATCH 1/9] remove non required db requests --- lib/private/Group/Database.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/private/Group/Database.php b/lib/private/Group/Database.php index e4144fdbe20..5fe5cf14f39 100644 --- a/lib/private/Group/Database.php +++ b/lib/private/Group/Database.php @@ -202,8 +202,11 @@ class Database extends \OC\Group\Backend { * if the user exists at all. */ public function getUserGroups( $uid ) { + //guests has empty $uid + if (empty($uid)) return []; + $this->fixDI(); - + // No magic! $qb = $this->dbConn->getQueryBuilder(); $cursor = $qb->select('gid') From b0ff59d42ffae792a0642ad064e035320f7bc5cb Mon Sep 17 00:00:00 2001 From: Loki3000 Date: Tue, 10 Jan 2017 13:09:33 +0300 Subject: [PATCH 2/9] remove non required db requests --- lib/private/User/Database.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/private/User/Database.php b/lib/private/User/Database.php index 69826f49be3..dccdb790145 100644 --- a/lib/private/User/Database.php +++ b/lib/private/User/Database.php @@ -75,7 +75,6 @@ class Database extends Backend implements IUserBackend { */ public function __construct($eventDispatcher = null) { $this->cache = new CappedMemoryCache(); - $this->cache[null] = false; $this->eventDispatcher = $eventDispatcher ? $eventDispatcher : \OC::$server->getEventDispatcher(); } @@ -239,6 +238,12 @@ class Database extends Backend implements IUserBackend { */ private function loadUser($uid) { if (!isset($this->cache[$uid])) { + //guests $uid could be NULL or '' + if (empty($uid)) { + $this->cache[$uid]=false; + return true; + } + $query = \OC_DB::prepare('SELECT `uid`, `displayname` FROM `*PREFIX*users` WHERE LOWER(`uid`) = LOWER(?)'); $result = $query->execute(array($uid)); From 5262779101d7dd438b50bb1730bec427703f4742 Mon Sep 17 00:00:00 2001 From: Loki3000 Date: Tue, 10 Jan 2017 13:29:35 +0300 Subject: [PATCH 3/9] fix brackets --- lib/private/Group/Database.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/private/Group/Database.php b/lib/private/Group/Database.php index 5fe5cf14f39..f79fe9ad753 100644 --- a/lib/private/Group/Database.php +++ b/lib/private/Group/Database.php @@ -203,8 +203,10 @@ class Database extends \OC\Group\Backend { */ public function getUserGroups( $uid ) { //guests has empty $uid - if (empty($uid)) return []; - + if (empty($uid)) { + return []; + } + $this->fixDI(); // No magic! From 74a2938f8e0cf1abe30f0459c799d104f9861236 Mon Sep 17 00:00:00 2001 From: Loki3000 Date: Tue, 10 Jan 2017 14:21:23 +0300 Subject: [PATCH 4/9] fix spaces --- lib/private/Group/Database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/Group/Database.php b/lib/private/Group/Database.php index f79fe9ad753..203b6d9f937 100644 --- a/lib/private/Group/Database.php +++ b/lib/private/Group/Database.php @@ -208,7 +208,7 @@ class Database extends \OC\Group\Backend { } $this->fixDI(); - + // No magic! $qb = $this->dbConn->getQueryBuilder(); $cursor = $qb->select('gid') From b7e6c5ecdf5df08197670071c23d5c40aaa8bd02 Mon Sep 17 00:00:00 2001 From: Loki3000 Date: Tue, 10 Jan 2017 16:37:18 +0300 Subject: [PATCH 5/9] allowed '0' uid --- lib/private/Group/Database.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/private/Group/Database.php b/lib/private/Group/Database.php index 203b6d9f937..938c267c7f1 100644 --- a/lib/private/Group/Database.php +++ b/lib/private/Group/Database.php @@ -202,8 +202,8 @@ class Database extends \OC\Group\Backend { * if the user exists at all. */ public function getUserGroups( $uid ) { - //guests has empty $uid - if (empty($uid)) { + //guests has empty or null $uid + if ($uid===null || $uid==='') { return []; } From 5c7792336052702ccbbfb920ef5a8606d1ba695b Mon Sep 17 00:00:00 2001 From: Loki3000 Date: Tue, 10 Jan 2017 16:39:10 +0300 Subject: [PATCH 6/9] allowed '0' uid --- lib/private/User/Database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/User/Database.php b/lib/private/User/Database.php index dccdb790145..73c918e9944 100644 --- a/lib/private/User/Database.php +++ b/lib/private/User/Database.php @@ -239,7 +239,7 @@ class Database extends Backend implements IUserBackend { private function loadUser($uid) { if (!isset($this->cache[$uid])) { //guests $uid could be NULL or '' - if (empty($uid)) { + if ($uid===null || $uid==='') { $this->cache[$uid]=false; return true; } From 6a74f7db11588839c4f62423386e0ca01db3cb8f Mon Sep 17 00:00:00 2001 From: Loki3000 Date: Tue, 10 Jan 2017 16:43:43 +0300 Subject: [PATCH 7/9] spaces added --- lib/private/Group/Database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/Group/Database.php b/lib/private/Group/Database.php index 938c267c7f1..8be24fc50de 100644 --- a/lib/private/Group/Database.php +++ b/lib/private/Group/Database.php @@ -203,7 +203,7 @@ class Database extends \OC\Group\Backend { */ public function getUserGroups( $uid ) { //guests has empty or null $uid - if ($uid===null || $uid==='') { + if ($uid === null || $uid === '') { return []; } From 8ab16f87ac7a8767ff1320fd41e36b2eda4cbd83 Mon Sep 17 00:00:00 2001 From: Loki3000 Date: Tue, 10 Jan 2017 16:44:14 +0300 Subject: [PATCH 8/9] spaces added --- lib/private/User/Database.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/private/User/Database.php b/lib/private/User/Database.php index 73c918e9944..a281572ad55 100644 --- a/lib/private/User/Database.php +++ b/lib/private/User/Database.php @@ -239,7 +239,7 @@ class Database extends Backend implements IUserBackend { private function loadUser($uid) { if (!isset($this->cache[$uid])) { //guests $uid could be NULL or '' - if ($uid===null || $uid==='') { + if ($uid === null || $uid === '') { $this->cache[$uid]=false; return true; } From 7e06f051c9f48dcfc64ddd9c49124e3ee8b1e773 Mon Sep 17 00:00:00 2001 From: Loki3000 Date: Tue, 10 Jan 2017 17:16:56 +0300 Subject: [PATCH 9/9] remove non required sql requests ``` SELECT `appid`, `configkey`, `configvalue` FROM `preferences` WHERE `userid` = ''; ``` --- lib/private/AllConfig.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/private/AllConfig.php b/lib/private/AllConfig.php index 4e13d70371b..a58aec4aeea 100644 --- a/lib/private/AllConfig.php +++ b/lib/private/AllConfig.php @@ -358,12 +358,17 @@ class AllConfig implements \OCP\IConfig { * ] */ private function getUserValues($userId) { - // TODO - FIXME - $this->fixDIInit(); - if (isset($this->userCache[$userId])) { return $this->userCache[$userId]; } + if ($userId === null || $userId === '') { + $this->userCache[$userId]=array(); + return $this->userCache[$userId]; + } + + // TODO - FIXME + $this->fixDIInit(); + $data = array(); $query = 'SELECT `appid`, `configkey`, `configvalue` FROM `*PREFIX*preferences` WHERE `userid` = ?'; $result = $this->connection->executeQuery($query, array($userId));