summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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())