172 {
173 $members = array();
174
175 if (!is_array($old_mail_data = $this->umail->getSavedData())) {
176 $this->umail->savePostData(
177 $this->
user->getId(),
178 array(),
179 "",
180 "",
181 "",
182 "",
183 "",
184 "",
185 "",
186 ""
187 );
188 }
189
190 require_once './Services/Object/classes/class.ilObject.php';
191 require_once 'Services/Mail/classes/Address/Type/class.ilMailRoleAddressType.php';
192 $ids = ((int)
$_GET[
'search_crs']) ? array((
int)
$_GET[
'search_crs']) :
$_POST[
'search_crs'];
193
194 foreach ($ids as $crs_id) {
196
197 foreach ($ref_ids as $ref_id) {
198 $roles = $this->rbacreview->getAssignableChildRoles($ref_id);
200 (int) $ref_id,
201 $this->
user->getId(),
203 );
204 if (!$can_send_mails) {
205 continue;
206 }
207
208 foreach ($roles as $role) {
209 if (substr($role['title'], 0, 14) == 'il_crs_member_' ||
210 substr($role['title'], 0, 13) == 'il_crs_tutor_' ||
211 substr($role['title'], 0, 13) == 'il_crs_admin_') {
212 if (isset($old_mail_data['rcp_to']) &&
213 trim($old_mail_data['rcp_to']) != '') {
214 $rcpt = (new \ilRoleMailboxAddress($role['obj_id']))->value();
215 if (!$this->umail->existsRecipient($rcpt, (string) $old_mail_data['rcp_to'])) {
216 array_push($members, $rcpt);
217 }
218 } else {
220 }
221 }
222 }
223 }
224 }
225
226 if (count($members)) {
227 $mail_data = $this->umail->appendSearchResult($members, 'to');
228 } else {
229 $mail_data = $this->umail->getSavedData();
230 }
231
232 $this->umail->savePostData(
233 $mail_data["user_id"],
234 $mail_data["attachments"],
235 $mail_data["rcp_to"],
236 $mail_data["rcp_cc"],
237 $mail_data["rcp_bcc"],
238 $mail_data["m_email"],
239 $mail_data["m_subject"],
240 $mail_data["m_message"],
241 $mail_data["use_placeholders"],
242 $mail_data['tpl_ctx_id'],
243 $mail_data['tpl_ctx_params']
244 );
245
246 #$this->ctrl->returnToParent($this);
248 }
static getMailObjectRefId()
Determines the reference id of the mail object and stores this information in a local cache variable.
static _getAllReferences($a_id)
get all reference ids of object
static canSendMailToMembers( $ref_id_or_instance, ?int $usr_id=null, ?int $mail_obj_ref_id=null)
This method was introduced as a band-aid fix for #22764.
Class ilRoleMailboxAddress.
static redirect($a_script)