summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2015-10-28 10:51:38 +0100
committerThomas Müller <thomas.mueller@tmit.eu>2015-10-28 10:51:38 +0100
commit49e30abc822ee8a5cad397838e4295d62e76a207 (patch)
tree68ca1620eb13570519e313532b68f9645078a512
parent0eeee8fdd8cb6dbbd019575cd290c81b18877c7f (diff)
parent07fe1df8c1165bb3338be5864bc8fb0289e024a6 (diff)
downloadnextcloud-server-49e30abc822ee8a5cad397838e4295d62e76a207.tar.gz
nextcloud-server-49e30abc822ee8a5cad397838e4295d62e76a207.zip
Merge pull request #20102 from owncloud/fix_subadmin
Make \OC\SubAdmin php-5.4 compatible
-rw-r--r--lib/private/subadmin.php23
1 files changed, 19 insertions, 4 deletions
diff --git a/lib/private/subadmin.php b/lib/private/subadmin.php
index e1a7644f0f8..6bf960661b5 100644
--- a/lib/private/subadmin.php
+++ b/lib/private/subadmin.php
@@ -116,6 +116,7 @@ class SubAdmin extends PublicEmitter {
while($row = $result->fetch()) {
$groups[] = $this->groupManager->get($row['gid']);
}
+ $result->closeCursor();
return $groups;
}
@@ -137,6 +138,7 @@ class SubAdmin extends PublicEmitter {
while($row = $result->fetch()) {
$users[] = $this->userManager->get($row['uid']);
}
+ $result->closeCursor();
return $users;
}
@@ -159,6 +161,8 @@ class SubAdmin extends PublicEmitter {
'group' => $this->groupManager->get($row['gid'])
];
}
+ $result->closeCursor();
+
return $subadmins;
}
@@ -171,13 +175,20 @@ class SubAdmin extends PublicEmitter {
public function isSubAdminofGroup(IUser $user, IGroup $group) {
$qb = $this->dbConn->getQueryBuilder();
+ /*
+ * Primary key is ('gid', 'uid') so max 1 result possible here
+ */
$result = $qb->select('*')
->from('group_admin')
->where($qb->expr()->eq('gid', $qb->createNamedParameter($group->getGID())))
->andWhere($qb->expr()->eq('uid', $qb->createNamedParameter($user->getUID())))
->execute();
- return !empty($result->fetch()) ? true : false;
+ $fetch = $result->fetch();
+ $result->closeCursor();
+ $result = !empty($fetch) ? true : false;
+
+ return $result;
}
/**
@@ -197,10 +208,14 @@ class SubAdmin extends PublicEmitter {
->from('group_admin')
->andWhere($qb->expr()->eq('uid', $qb->createNamedParameter($user->getUID())))
->setMaxResults(1)
- ->execute()
- ->fetch();
+ ->execute();
+
+ $isSubAdmin = $result->fetch();
+ $result->closeCursor();
+
+ $result = $isSubAdmin === false ? false : true;
- return $result === false ? false : true;
+ return $result;
}
/**