1010
1111namespace OCA \Richdocuments \Listener ;
1212
13- use OCA \Files_Sharing \ SharedStorage ;
13+ use OCA \Richdocuments \ Helper ;
1414use OCA \Richdocuments \PermissionManager ;
1515use OCP \EventDispatcher \Event ;
1616use OCP \EventDispatcher \IEventListener ;
2020use OCP \Preview \BeforePreviewFetchedEvent ;
2121use OCP \Share \Exceptions \ShareNotFound ;
2222use OCP \Share \IManager ;
23- use OCP \Share \IShare ;
2423
2524/** @template-implements IEventListener<Event|BeforePreviewFetchedEvent> */
2625class BeforeFetchPreviewListener implements IEventListener {
@@ -29,6 +28,7 @@ public function __construct(
2928 private IUserSession $ userSession ,
3029 private IRequest $ request ,
3130 private IManager $ shareManager ,
31+ private Helper $ helper ,
3232 ) {
3333 }
3434
@@ -38,20 +38,12 @@ public function handle(Event $event): void {
3838 }
3939 $ shareToken = $ this ->request ->getParam ('token ' );
4040
41- $ share = null ;
42-
43- // Get share for internal shares
44- $ storage = $ event ->getNode ()->getStorage ();
45- if (!$ shareToken && $ storage ->instanceOfStorage (SharedStorage::class)) {
46- if (method_exists (IShare::class, 'getAttributes ' )) {
47- /** @var SharedStorage $storage */
48- $ share = $ storage ->getShare ();
49- }
50- }
51-
52- // Get different share for public previews as the share from the node is only set for mounted shares
5341 try {
54- $ share = $ shareToken ? $ this ->shareManager ->getShareByToken ($ shareToken ) : $ share ;
42+ $ share = $ shareToken ?
43+ // Get different share for public previews as the share from the node is only set for mounted shares
44+ $ this ->shareManager ->getShareByToken ($ shareToken )
45+ // Get share for internal shares
46+ : $ this ->helper ->getShareFromNode ($ event ->getNode ());
5547 } catch (ShareNotFound ) {
5648 }
5749
0 commit comments