Browse Source

Always use table prefix in queries

Signed-off-by: Joas Schilling <coding@schilljs.com>
pull/3408/head
Joas Schilling 6 years ago
parent
commit
34a131da24
No known key found for this signature in database GPG Key ID: 7076EA9751AACDDA
  1. 26
      lib/Share/RoomShareProvider.php

26
lib/Share/RoomShareProvider.php

@ -532,23 +532,23 @@ class RoomShareProvider implements IShareProvider {
$qb->select('*')
->from('share', 's')
->andWhere($qb->expr()->orX(
$qb->expr()->eq('item_type', $qb->createNamedParameter('file')),
$qb->expr()->eq('item_type', $qb->createNamedParameter('folder'))
$qb->expr()->eq('s.item_type', $qb->createNamedParameter('file')),
$qb->expr()->eq('s.item_type', $qb->createNamedParameter('folder'))
))
->andWhere(
$qb->expr()->eq('share_type', $qb->createNamedParameter(IShare::TYPE_ROOM))
$qb->expr()->eq('s.share_type', $qb->createNamedParameter(IShare::TYPE_ROOM))
);
/**
* Reshares for this user are shares where they are the owner.
*/
if ($reshares === false) {
$qb->andWhere($qb->expr()->eq('uid_initiator', $qb->createNamedParameter($userId)));
$qb->andWhere($qb->expr()->eq('s.uid_initiator', $qb->createNamedParameter($userId)));
} else {
$qb->andWhere(
$qb->expr()->orX(
$qb->expr()->eq('uid_owner', $qb->createNamedParameter($userId)),
$qb->expr()->eq('uid_initiator', $qb->createNamedParameter($userId))
$qb->expr()->eq('s.uid_owner', $qb->createNamedParameter($userId)),
$qb->expr()->eq('s.uid_initiator', $qb->createNamedParameter($userId))
)
);
}
@ -556,7 +556,7 @@ class RoomShareProvider implements IShareProvider {
$qb->innerJoin('s', 'filecache' ,'f', $qb->expr()->eq('s.file_source', 'f.fileid'));
$qb->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($node->getId())));
$qb->orderBy('id');
$qb->orderBy('s.id');
$cursor = $qb->execute();
$shares = [];
@ -782,7 +782,7 @@ class RoomShareProvider implements IShareProvider {
)
->selectAlias('st.id', 'storage_string_id')
->from('share', 's')
->orderBy('id')
->orderBy('s.id')
->leftJoin('s', 'filecache', 'f', $qb->expr()->eq('s.file_source', 'f.fileid'))
->leftJoin('f', 'storages', 'st', $qb->expr()->eq('f.storage', 'st.numeric_id'));
@ -792,19 +792,19 @@ class RoomShareProvider implements IShareProvider {
// Filter by node if provided
if ($node !== null) {
$qb->andWhere($qb->expr()->eq('file_source', $qb->createNamedParameter($node->getId())));
$qb->andWhere($qb->expr()->eq('s.file_source', $qb->createNamedParameter($node->getId())));
}
$rooms = array_map(function(Room $room) { return $room->getToken(); }, $rooms);
$qb->andWhere($qb->expr()->eq('share_type', $qb->createNamedParameter(IShare::TYPE_ROOM)))
->andWhere($qb->expr()->in('share_with', $qb->createNamedParameter(
$qb->andWhere($qb->expr()->eq('s.share_type', $qb->createNamedParameter(IShare::TYPE_ROOM)))
->andWhere($qb->expr()->in('s.share_with', $qb->createNamedParameter(
$rooms,
IQueryBuilder::PARAM_STR_ARRAY
)))
->andWhere($qb->expr()->orX(
$qb->expr()->eq('item_type', $qb->createNamedParameter('file')),
$qb->expr()->eq('item_type', $qb->createNamedParameter('folder'))
$qb->expr()->eq('s.item_type', $qb->createNamedParameter('file')),
$qb->expr()->eq('s.item_type', $qb->createNamedParameter('folder'))
));
$cursor = $qb->execute();

Loading…
Cancel
Save