@@ -306,15 +306,6 @@ public static function move2trash($file_path, $ownerOnly = false) {
306306 // there is still a possibility that the file has been deleted by a remote user
307307 $ deletedBy = self ::overwriteDeletedBy ($ user );
308308
309- $ deleteTrashRow = static function () use ($ owner , $ filename , $ timestamp ): void {
310- $ query = Server::get (IDBConnection::class)->getQueryBuilder ();
311- $ query ->delete ('files_trash ' )
312- ->where ($ query ->expr ()->eq ('user ' , $ query ->createNamedParameter ($ owner )))
313- ->andWhere ($ query ->expr ()->eq ('id ' , $ query ->createNamedParameter ($ filename )))
314- ->andWhere ($ query ->expr ()->eq ('timestamp ' , $ query ->createNamedParameter ($ timestamp )));
315- $ query ->executeStatement ();
316- };
317-
318309 $ query = Server::get (IDBConnection::class)->getQueryBuilder ();
319310 $ query ->insert ('files_trash ' )
320311 ->setValue ('id ' , $ query ->createNamedParameter ($ filename ))
@@ -398,7 +389,7 @@ public static function move2trash($file_path, $ownerOnly = false) {
398389 'timestamp ' => $ timestamp ,
399390 ]
400391 );
401- $ deleteTrashRow ();
392+ self :: deleteTrashRow ($ user , $ filename , $ timestamp );
402393 if ($ trashStorage ->file_exists ($ trashInternalPath )) {
403394 if ($ trashStorage ->is_dir ($ trashInternalPath )) {
404395 $ trashStorage ->rmdir ($ trashInternalPath );
@@ -606,12 +597,7 @@ public static function restore($file, $filename, $timestamp) {
606597 self ::restoreVersions ($ view , $ file , $ filename , $ uniqueFilename , $ location , $ timestamp );
607598
608599 if ($ timestamp ) {
609- $ query = Server::get (IDBConnection::class)->getQueryBuilder ();
610- $ query ->delete ('files_trash ' )
611- ->where ($ query ->expr ()->eq ('user ' , $ query ->createNamedParameter ($ user )))
612- ->andWhere ($ query ->expr ()->eq ('id ' , $ query ->createNamedParameter ($ filename )))
613- ->andWhere ($ query ->expr ()->eq ('timestamp ' , $ query ->createNamedParameter ($ timestamp )));
614- $ query ->executeStatement ();
600+ self ::deleteTrashRow ($ user , $ filename , $ timestamp );
615601 }
616602
617603 return true ;
@@ -761,12 +747,7 @@ public static function delete($filename, $user, $timestamp = null) {
761747 $ node = $ userRoot ->get ('/files_trashbin/files/ ' . $ file );
762748 } catch (NotFoundException $ e ) {
763749 if ($ timestamp ) {
764- $ query = Server::get (IDBConnection::class)->getQueryBuilder ();
765- $ query ->delete ('files_trash ' )
766- ->where ($ query ->expr ()->eq ('user ' , $ query ->createNamedParameter ($ user )))
767- ->andWhere ($ query ->expr ()->eq ('id ' , $ query ->createNamedParameter ($ filename )))
768- ->andWhere ($ query ->expr ()->eq ('timestamp ' , $ query ->createNamedParameter ($ timestamp )));
769- $ query ->executeStatement ();
750+ self ::deleteTrashRow ($ user , $ filename , $ timestamp );
770751 }
771752 return $ size ;
772753 }
@@ -782,17 +763,21 @@ public static function delete($filename, $user, $timestamp = null) {
782763 self ::emitTrashbinPostDelete ('/files_trashbin/files/ ' . $ file );
783764
784765 if ($ timestamp ) {
785- $ query = Server::get (IDBConnection::class)->getQueryBuilder ();
786- $ query ->delete ('files_trash ' )
787- ->where ($ query ->expr ()->eq ('user ' , $ query ->createNamedParameter ($ user )))
788- ->andWhere ($ query ->expr ()->eq ('id ' , $ query ->createNamedParameter ($ filename )))
789- ->andWhere ($ query ->expr ()->eq ('timestamp ' , $ query ->createNamedParameter ($ timestamp )));
790- $ query ->executeStatement ();
766+ self ::deleteTrashRow ($ user , $ filename , $ timestamp );
791767 }
792768
793769 return $ size ;
794770 }
795771
772+ private static function deleteTrashRow (string $ user , string $ filename , int $ timestamp ): void {
773+ $ query = Server::get (IDBConnection::class)->getQueryBuilder ();
774+ $ query ->delete ('files_trash ' )
775+ ->where ($ query ->expr ()->eq ('user ' , $ query ->createNamedParameter ($ user )))
776+ ->andWhere ($ query ->expr ()->eq ('id ' , $ query ->createNamedParameter ($ filename )))
777+ ->andWhere ($ query ->expr ()->eq ('timestamp ' , $ query ->createNamedParameter ($ timestamp )));
778+ $ query ->executeStatement ();
779+ }
780+
796781 /**
797782 * @param string $file
798783 * @param string $filename
0 commit comments