@@ -60,7 +60,7 @@ public function __construct(
6060 $ this ->logger = $ logger ;
6161 }
6262
63- public function process () {
63+ public function process (): void {
6464 $ messages = $ this ->messageMapper ->findIMipMessages ();
6565
6666 // Collect all mailboxes in memory
@@ -106,28 +106,28 @@ public function process() {
106106
107107
108108 try {
109- $ imapMessage = $ this ->mailManager ->getImapMessage ($ account , $ mailbox , $ message ->getUid ());
109+ $ imapMessage = $ this ->mailManager ->getImapMessageForScheduleProcessing ($ account , $ mailbox , $ message ->getUid ());
110110 } catch (ServiceException $ e ) {
111111 $ message ->setImipError (true );
112112 $ processedMessages [$ account ->getId ()][] = $ message ;
113113 continue ;
114114 }
115115
116- if (empty ($ imapMessage ->scheduling )) {
116+ if (empty ($ imapMessage ->scheduling [ 0 ] )) {
117117 // No scheduling info, maybe the DB is wrong
118118 $ message ->setImipError (true );
119119 $ processedMessages [$ account ->getId ()][] = $ message ;
120120 continue ;
121121 }
122122
123- $ principalUri = '' ;
123+ $ principalUri = 'principals/users/ ' . $ account -> getUserId () ;
124124 $ sender = $ imapMessage ->getFrom ()->first ()->getEmail ();
125125 $ recipient = $ account ->getEmail ();
126126 $ processed = false ;
127- if ($ imapMessage ->scheduling ['method ' ] === 'REPLY ' ) {
128- $ processed = $ this ->calendarManager ->handleIMipReply ($ principalUri , $ sender , $ recipient , $ imapMessage ->scheduling [' content ' ]);
127+ if ($ imapMessage ->scheduling [0 ][ 'method ' ] === 'REPLY ' ) {
128+ $ processed = $ this ->calendarManager ->handleIMipReply ($ principalUri , $ sender , $ recipient , $ imapMessage ->scheduling [0 ][ ' contents ' ]);
129129 } elseif ($ imapMessage ->scheduling ['method ' ] === 'CANCEL ' ) {
130- $ processed = $ this ->calendarManager ->handleIMipCancel ($ principalUri , $ sender , $ recipient , $ imapMessage ->scheduling [' content ' ]);
130+ $ processed = $ this ->calendarManager ->handleIMipCancel ($ principalUri , $ sender , $ recipient , $ imapMessage ->scheduling [0 ][ ' contents ' ]);
131131 }
132132 $ message ->setImipProcessed ($ processed );
133133 $ message ->setImipError (!$ processed );
@@ -139,7 +139,7 @@ public function process() {
139139 continue ;
140140 }
141141 try {
142- $ this ->messageMapper ->updateBulk ($ accounts [$ accountId ], false , $ processedMessages [$ accountId ]);
142+ $ this ->messageMapper ->updateBulk ($ accounts [$ accountId ], false , ... $ processedMessages [$ accountId ]);
143143 } catch (\Throwable $ e ) {
144144 $ this ->logger ->error ('Could not update iMip messages for account ' . $ accountId , ['exception ' => $ e ]);
145145 }
0 commit comments