@@ -322,10 +322,7 @@ public function acceptShare(IShare $share, string $recipient): IShare {
322322 ->where ($ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_USERGROUP )))
323323 ->andWhere ($ qb ->expr ()->eq ('share_with ' , $ qb ->createNamedParameter ($ recipient )))
324324 ->andWhere ($ qb ->expr ()->eq ('parent ' , $ qb ->createNamedParameter ($ share ->getId ())))
325- ->andWhere ($ qb ->expr ()->orX (
326- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
327- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
328- ))
325+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
329326 ->executeQuery ();
330327
331328 $ data = $ stmt ->fetch ();
@@ -383,10 +380,7 @@ public function getChildren(\OCP\Share\IShare $parent) {
383380 ], IQueryBuilder::PARAM_INT_ARRAY )
384381 )
385382 )
386- ->andWhere ($ qb ->expr ()->orX (
387- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
388- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
389- ))
383+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
390384 ->orderBy ('id ' );
391385
392386 $ cursor = $ qb ->executeQuery ();
@@ -449,10 +443,7 @@ public function deleteFromSelf(IShare $share, $recipient) {
449443 ->where ($ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_USERGROUP )))
450444 ->andWhere ($ qb ->expr ()->eq ('share_with ' , $ qb ->createNamedParameter ($ recipient )))
451445 ->andWhere ($ qb ->expr ()->eq ('parent ' , $ qb ->createNamedParameter ($ share ->getId ())))
452- ->andWhere ($ qb ->expr ()->orX (
453- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
454- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
455- ))
446+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
456447 ->executeQuery ();
457448
458449 $ data = $ stmt ->fetch ();
@@ -565,10 +556,7 @@ public function move(\OCP\Share\IShare $share, $recipient) {
565556 ->where ($ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_USERGROUP )))
566557 ->andWhere ($ qb ->expr ()->eq ('share_with ' , $ qb ->createNamedParameter ($ recipient )))
567558 ->andWhere ($ qb ->expr ()->eq ('parent ' , $ qb ->createNamedParameter ($ share ->getId ())))
568- ->andWhere ($ qb ->expr ()->orX (
569- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
570- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
571- ))
559+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
572560 ->setMaxResults (1 )
573561 ->executeQuery ();
574562
@@ -621,16 +609,9 @@ public function getSharesInFolder($userId, Folder $node, $reshares, $shallow = t
621609 'f.parent AS f_parent ' , 'f.name ' , 'f.mimetype ' , 'f.mimepart ' , 'f.size ' , 'f.mtime ' , 'f.storage_mtime ' ,
622610 'f.encrypted ' , 'f.unencrypted_size ' , 'f.etag ' , 'f.checksum ' )
623611 ->from ('share ' , 's ' )
624- ->andWhere ($ qb ->expr ()->orX (
625- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
626- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
627- ));
612+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
628613
629- $ qb ->andWhere ($ qb ->expr ()->orX (
630- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_USER )),
631- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_GROUP )),
632- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_LINK ))
633- ));
614+ $ qb ->andWhere ($ qb ->expr ()->in ('share_type ' , $ qb ->createNamedParameter ([IShare::TYPE_USER , IShare::TYPE_GROUP , IShare::TYPE_LINK ], IQueryBuilder::PARAM_INT_ARRAY )));
634615
635616 /**
636617 * Reshares for this user are shares where they are the owner.
@@ -693,10 +674,7 @@ public function getSharesBy($userId, $shareType, $node, $reshares, $limit, $offs
693674 $ qb = $ this ->dbConn ->getQueryBuilder ();
694675 $ qb ->select ('* ' )
695676 ->from ('share ' )
696- ->andWhere ($ qb ->expr ()->orX (
697- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
698- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
699- ));
677+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
700678
701679 $ qb ->andWhere ($ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter ($ shareType )));
702680
@@ -756,10 +734,7 @@ public function getShareById($id, $recipientId = null) {
756734 ], IQueryBuilder::PARAM_INT_ARRAY )
757735 )
758736 )
759- ->andWhere ($ qb ->expr ()->orX (
760- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
761- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
762- ));
737+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
763738
764739 $ cursor = $ qb ->executeQuery ();
765740 $ data = $ cursor ->fetch ();
@@ -795,17 +770,8 @@ public function getSharesByPath(Node $path) {
795770 $ cursor = $ qb ->select ('* ' )
796771 ->from ('share ' )
797772 ->andWhere ($ qb ->expr ()->eq ('file_source ' , $ qb ->createNamedParameter ($ path ->getId ())))
798- ->andWhere (
799- $ qb ->expr ()->orX (
800- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_USER )),
801- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_GROUP )),
802- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_LINK )),
803- )
804- )
805- ->andWhere ($ qb ->expr ()->orX (
806- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
807- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
808- ))
773+ ->andWhere ($ qb ->expr ()->in ('share_type ' , $ qb ->createNamedParameter ([IShare::TYPE_USER , IShare::TYPE_GROUP , IShare::TYPE_LINK ], IQueryBuilder::PARAM_INT_ARRAY )))
774+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
809775 ->orderBy ('id ' , 'ASC ' )
810776 ->executeQuery ();
811777
@@ -874,10 +840,7 @@ public function getSharedWith($userId, $shareType, $node, $limit, $offset) {
874840
875841 $ qb ->where ($ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_USER )))
876842 ->andWhere ($ qb ->expr ()->eq ('share_with ' , $ qb ->createNamedParameter ($ userId )))
877- ->andWhere ($ qb ->expr ()->orX (
878- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
879- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
880- ));
843+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
881844
882845 // Filter by node if provided
883846 if ($ node !== null ) {
@@ -942,10 +905,7 @@ public function getSharedWith($userId, $shareType, $node, $limit, $offset) {
942905 $ groups ,
943906 IQueryBuilder::PARAM_STR_ARRAY
944907 )))
945- ->andWhere ($ qb ->expr ()->orX (
946- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
947- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
948- ));
908+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
949909
950910 $ cursor = $ qb ->executeQuery ();
951911 while ($ data = $ cursor ->fetch ()) {
@@ -988,10 +948,7 @@ public function getShareByToken($token) {
988948 ->from ('share ' )
989949 ->where ($ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_LINK )))
990950 ->andWhere ($ qb ->expr ()->eq ('token ' , $ qb ->createNamedParameter ($ token )))
991- ->andWhere ($ qb ->expr ()->orX (
992- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
993- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
994- ))
951+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )))
995952 ->executeQuery ();
996953
997954 $ data = $ cursor ->fetch ();
@@ -1090,7 +1047,7 @@ private function resolveGroupShares($shareMap, $userId) {
10901047 ->from ('share ' )
10911048 ->where ($ qb ->expr ()->eq ('share_with ' , $ qb ->createNamedParameter ($ userId )))
10921049 ->andWhere ($ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_USERGROUP )))
1093- ->andWhere ($ qb ->expr ()->in ('item_type ' , [ $ qb ->createNamedParameter ('file ' ), $ qb -> createNamedParameter ( 'folder ' )] ));
1050+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter ([ 'file ' , 'folder ' ], IQueryBuilder:: PARAM_STR_ARRAY ) ));
10941051
10951052 // this is called with either all group shares or one group share.
10961053 // for all shares it's easier to just only search by share_with,
@@ -1147,10 +1104,7 @@ public function userDeleted($uid, $shareType) {
11471104 */
11481105 $ qb ->where (
11491106 $ qb ->expr ()->andX (
1150- $ qb ->expr ()->orX (
1151- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_GROUP )),
1152- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_USERGROUP ))
1153- ),
1107+ $ qb ->expr ()->in ('share_type ' , $ qb ->createNamedParameter ([IShare::TYPE_GROUP , IShare::TYPE_USERGROUP ], IQueryBuilder::PARAM_INT_ARRAY )),
11541108 $ qb ->expr ()->eq ('uid_owner ' , $ qb ->createNamedParameter ($ uid ))
11551109 )
11561110 );
@@ -1323,26 +1277,19 @@ public function getAccessList($nodes, $currentAccess) {
13231277
13241278 $ qb = $ this ->dbConn ->getQueryBuilder ();
13251279
1326- $ or = $ qb ->expr ()->orX (
1327- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_USER )),
1328- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_GROUP )),
1329- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (IShare::TYPE_LINK ))
1330- );
1280+ $ shareTypes = [IShare::TYPE_USER , IShare::TYPE_GROUP , IShare::TYPE_LINK ];
13311281
13321282 if ($ currentAccess ) {
1333- $ or -> add ( $ qb -> expr ()-> eq ( ' share_type ' , $ qb -> createNamedParameter ( IShare::TYPE_USERGROUP ))) ;
1283+ $ shareTypes [] = IShare::TYPE_USERGROUP ;
13341284 }
13351285
13361286 $ qb ->select ('id ' , 'parent ' , 'share_type ' , 'share_with ' , 'file_source ' , 'file_target ' , 'permissions ' )
13371287 ->from ('share ' )
13381288 ->where (
1339- $ or
1289+ $ qb -> expr ()-> in ( ' share_type ' , $ qb -> createNamedParameter ( $ shareTypes , IQueryBuilder:: PARAM_INT_ARRAY ))
13401290 )
13411291 ->andWhere ($ qb ->expr ()->in ('file_source ' , $ qb ->createNamedParameter ($ ids , IQueryBuilder::PARAM_INT_ARRAY )))
1342- ->andWhere ($ qb ->expr ()->orX (
1343- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('file ' )),
1344- $ qb ->expr ()->eq ('item_type ' , $ qb ->createNamedParameter ('folder ' ))
1345- ));
1292+ ->andWhere ($ qb ->expr ()->in ('item_type ' , $ qb ->createNamedParameter (['file ' , 'folder ' ], IQueryBuilder::PARAM_STR_ARRAY )));
13461293
13471294 // Ensure accepted is true for user and usergroup type
13481295 $ qb ->andWhere (
@@ -1659,13 +1606,7 @@ public function getAllShares(): iterable {
16591606
16601607 $ qb ->select ('* ' )
16611608 ->from ('share ' )
1662- ->where (
1663- $ qb ->expr ()->orX (
1664- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (\OCP \Share \IShare::TYPE_USER )),
1665- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (\OCP \Share \IShare::TYPE_GROUP )),
1666- $ qb ->expr ()->eq ('share_type ' , $ qb ->createNamedParameter (\OCP \Share \IShare::TYPE_LINK ))
1667- )
1668- );
1609+ ->where ($ qb ->expr ()->in ('share_type ' , $ qb ->createNamedParameter ([IShare::TYPE_USER , IShare::TYPE_GROUP , IShare::TYPE_LINK ], IQueryBuilder::PARAM_INT_ARRAY )));
16691610
16701611 $ cursor = $ qb ->executeQuery ();
16711612 while ($ data = $ cursor ->fetch ()) {
0 commit comments