summaryrefslogtreecommitdiffstats
path: root/apps/user_ldap
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2020-10-26 14:00:57 +0100
committerArthur Schiwon <blizzz@arthur-schiwon.de>2020-10-26 16:05:28 +0100
commit951887e922bfc47613f0cfda5e7798df2b4286d6 (patch)
treeb892dcc4555360e9d1abded632fed74fdfe6535a /apps/user_ldap
parent2e455f632a9ed9003a624c0a06ab81eaf493ab23 (diff)
downloadnextcloud-server-951887e922bfc47613f0cfda5e7798df2b4286d6.tar.gz
nextcloud-server-951887e922bfc47613f0cfda5e7798df2b4286d6.zip
fixes determining whether former user is a share owner
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps/user_ldap')
-rw-r--r--apps/user_ldap/lib/User/OfflineUser.php15
-rw-r--r--apps/user_ldap/tests/User/OfflineUserTest.php8
2 files changed, 9 insertions, 14 deletions
diff --git a/apps/user_ldap/lib/User/OfflineUser.php b/apps/user_ldap/lib/User/OfflineUser.php
index 6827fa09301..91bde7ec19d 100644
--- a/apps/user_ldap/lib/User/OfflineUser.php
+++ b/apps/user_ldap/lib/User/OfflineUser.php
@@ -243,29 +243,22 @@ class OfflineUser {
*/
protected function determineShares() {
$query = $this->db->prepare('
- SELECT COUNT(`uid_owner`)
+ SELECT `uid_owner`
FROM `*PREFIX*share`
WHERE `uid_owner` = ?
', 1);
$query->execute([$this->ocName]);
- $sResult = $query->fetchColumn(0);
- if ((int)$sResult === 1) {
+ if ($query->rowCount() > 0) {
$this->hasActiveShares = true;
return;
}
$query = $this->db->prepare('
- SELECT COUNT(`owner`)
+ SELECT `owner`
FROM `*PREFIX*share_external`
WHERE `owner` = ?
', 1);
$query->execute([$this->ocName]);
- $sResult = $query->fetchColumn(0);
- if ((int)$sResult === 1) {
- $this->hasActiveShares = true;
- return;
- }
-
- $this->hasActiveShares = false;
+ $this->hasActiveShares = $query->rowCount() > 0;
}
}
diff --git a/apps/user_ldap/tests/User/OfflineUserTest.php b/apps/user_ldap/tests/User/OfflineUserTest.php
index 8c8835e9682..298e1708a58 100644
--- a/apps/user_ldap/tests/User/OfflineUserTest.php
+++ b/apps/user_ldap/tests/User/OfflineUserTest.php
@@ -78,10 +78,12 @@ class OfflineUserTest extends TestCase {
public function testHasActiveShares(int $internalOwnerships, int $externalOwnerships, bool $expected) {
$queryMock = $this->createMock(Statement::class);
$queryMock->expects($this->atLeastOnce())
- ->method('fetchColumn')
+ ->method('execute');
+ $queryMock->expects($this->atLeastOnce())
+ ->method('rowCount')
->willReturnOnConsecutiveCalls(
- (string)$internalOwnerships,
- (string)$externalOwnerships
+ $internalOwnerships > 0 ? 1 : 0,
+ $externalOwnerships > 0 ? 1 : 0
);
$this->dbc->expects($this->atLeastOnce())