5959use OCP \Files \IMimeTypeLoader ;
6060use OCP \Files \IRootFolder ;
6161use OCP \Files \Node ;
62+ use OCP \IUserSession ;
6263use Psr \Log \LoggerInterface ;
6364
6465class FileEventsListener implements IEventListener {
65- private IRootFolder $ rootFolder ;
66- private IVersionManager $ versionManager ;
6766 /**
6867 * @var array<int, array>
6968 */
@@ -76,19 +75,14 @@ class FileEventsListener implements IEventListener {
7675 * @var array<string, Node>
7776 */
7877 private array $ versionsDeleted = [];
79- private IMimeTypeLoader $ mimeTypeLoader ;
80- private LoggerInterface $ logger ;
8178
8279 public function __construct (
83- IRootFolder $ rootFolder ,
84- IVersionManager $ versionManager ,
85- IMimeTypeLoader $ mimeTypeLoader ,
86- LoggerInterface $ logger ,
80+ private IRootFolder $ rootFolder ,
81+ private IVersionManager $ versionManager ,
82+ private IMimeTypeLoader $ mimeTypeLoader ,
83+ private IUserSession $ userSession ,
84+ private LoggerInterface $ logger ,
8785 ) {
88- $ this ->rootFolder = $ rootFolder ;
89- $ this ->versionManager = $ versionManager ;
90- $ this ->mimeTypeLoader = $ mimeTypeLoader ;
91- $ this ->logger = $ logger ;
9286 }
9387
9488 public function handle (Event $ event ): void {
@@ -354,18 +348,20 @@ public function pre_renameOrCopy_hook(Node $source, Node $target): void {
354348 * If no user is connected, try to use the node's owner.
355349 */
356350 private function getPathForNode (Node $ node ): ?string {
357- try {
351+ $ user = $ this ->userSession ->getUser ()?->getUID();
352+ if ($ user ) {
358353 return $ this ->rootFolder
359- ->getUserFolder (\OC_User:: getUser () )
354+ ->getUserFolder ($ user )
360355 ->getRelativePath ($ node ->getPath ());
361- } catch (\Throwable $ ex ) {
362- $ owner = $ node ->getOwner ();
363- if ($ owner === null ) {
364- return null ;
365- }
356+ }
357+
358+ $ owner = $ node ->getOwner ()?->getUid();
359+ if ($ owner ) {
366360 return $ this ->rootFolder
367- ->getUserFolder ($ owner-> getUid () )
361+ ->getUserFolder ($ owner )
368362 ->getRelativePath ($ node ->getPath ());
369363 }
364+
365+ return null ;
370366 }
371367}
0 commit comments