37
37
use OCP \IL10N ;
38
38
use OCP \ILogger ;
39
39
use OCP \IURLGenerator ;
40
+ use OCP \IUser ;
40
41
use OCP \L10N \IFactory as L10NFactory ;
41
42
use OCP \Mail \IEMailTemplate ;
42
43
use OCP \Mail \IMailer ;
@@ -80,15 +81,24 @@ public function __construct(IConfig $config,
80
81
* @param VEvent $vevent
81
82
* @param string $calendarDisplayName
82
83
* @param array $users
84
+ * @param IUser $userOfReminder
83
85
* @throws \Exception
84
86
*/
85
87
public function send (VEvent $ vevent ,
86
88
string $ calendarDisplayName ,
87
- array $ users = []):void {
89
+ array $ users = [],
90
+ IUser $ userOfReminder = null ):void {
88
91
$ fallbackLanguage = $ this ->getFallbackLanguage ();
89
92
90
93
$ emailAddressesOfSharees = $ this ->getEMailAddressesOfAllUsersWithWriteAccessToCalendar ($ users );
91
- $ emailAddressesOfAttendees = $ this ->getAllEMailAddressesFromEvent ($ vevent );
94
+
95
+ $ organizer = $ this ->getOrganizerEMailAndNameFromEvent ($ vevent );
96
+
97
+ $ emailAddressesOfAttendees = [];
98
+
99
+ if ($ userOfReminder && strcasecmp ($ userOfReminder ->getEMailAddress (), key ($ organizer )) == 0 ) {
100
+ $ emailAddressesOfAttendees = $ this ->getAllEMailAddressesFromEvent ($ vevent );
101
+ }
92
102
93
103
// Quote from php.net:
94
104
// If the input arrays have the same string keys, then the later value for that key will overwrite the previous one.
@@ -99,7 +109,6 @@ public function send(VEvent $vevent,
99
109
);
100
110
101
111
$ sortedByLanguage = $ this ->sortEMailAddressesByLanguage ($ emailAddresses , $ fallbackLanguage );
102
- $ organizer = $ this ->getOrganizerEMailAndNameFromEvent ($ vevent );
103
112
104
113
foreach ($ sortedByLanguage as $ lang => $ emailAddresses ) {
105
114
if (!$ this ->hasL10NForLang ($ lang )) {
@@ -196,7 +205,7 @@ private function getOrganizerEMailAndNameFromEvent(VEvent $vevent):?array {
196
205
}
197
206
198
207
$ organizer = $ vevent ->ORGANIZER ;
199
- if (strcasecmp ($ organizer ->getValue (), 'mailto: ' ) !== 0 ) {
208
+ if (! str_starts_with ($ organizer ->getValue (), 'mailto: ' )) {
200
209
return null ;
201
210
}
202
211
0 commit comments