aboutsummaryrefslogtreecommitdiffstats
path: root/lib/private/share20/defaultshareprovider.php
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2016-01-11 16:19:07 +0100
committerRoeland Jago Douma <rullzer@owncloud.com>2016-01-14 10:54:40 +0100
commit663e71e4b3baca2330ec6e8381bbeed00142adf0 (patch)
tree2216a9203069abd969b0f7307728fa904004c191 /lib/private/share20/defaultshareprovider.php
parent0f454ff5aa0ca7b89b7deb3a9f888d1551a870ca (diff)
downloadnextcloud-server-663e71e4b3baca2330ec6e8381bbeed00142adf0.tar.gz
nextcloud-server-663e71e4b3baca2330ec6e8381bbeed00142adf0.zip
Only select elements from the database that we support
Diffstat (limited to 'lib/private/share20/defaultshareprovider.php')
-rw-r--r--lib/private/share20/defaultshareprovider.php27
1 files changed, 26 insertions, 1 deletions
diff --git a/lib/private/share20/defaultshareprovider.php b/lib/private/share20/defaultshareprovider.php
index 1d9a2072966..f4c33d68b46 100644
--- a/lib/private/share20/defaultshareprovider.php
+++ b/lib/private/share20/defaultshareprovider.php
@@ -36,6 +36,9 @@ use OCP\Files\Node;
*/
class DefaultShareProvider implements IShareProvider {
+ // Special share type for user modified group shares
+ const SHARE_TYPE_USERGROUP = 2;
+
/** @var IDBConnection */
private $dbConn;
@@ -186,6 +189,17 @@ class DefaultShareProvider implements IShareProvider {
$qb->select('*')
->from('share')
->where($qb->expr()->eq('parent', $qb->createNamedParameter($parent->getId())))
+ ->andWhere(
+ $qb->expr()->in(
+ 'share_type',
+ [
+ $qb->expr()->literal(\OCP\Share::SHARE_TYPE_USER),
+ $qb->expr()->literal(\OCP\Share::SHARE_TYPE_GROUP),
+ $qb->expr()->literal(\OCP\Share::SHARE_TYPE_LINK),
+ $qb->expr()->literal(self::SHARE_TYPE_USERGROUP),
+ ]
+ )
+ )
->orderBy('id');
$cursor = $qb->execute();
@@ -242,7 +256,18 @@ class DefaultShareProvider implements IShareProvider {
$qb->select('*')
->from('share')
- ->where($qb->expr()->eq('id', $qb->createNamedParameter($id)));
+ ->where($qb->expr()->eq('id', $qb->createNamedParameter($id)))
+ ->andWhere(
+ $qb->expr()->in(
+ 'share_type',
+ [
+ $qb->expr()->literal(\OCP\Share::SHARE_TYPE_USER),
+ $qb->expr()->literal(\OCP\Share::SHARE_TYPE_GROUP),
+ $qb->expr()->literal(\OCP\Share::SHARE_TYPE_LINK),
+ $qb->expr()->literal(self::SHARE_TYPE_USERGROUP),
+ ]
+ )
+ );
$cursor = $qb->execute();
$data = $cursor->fetch();