|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
01.07.2003, 18:55 |
| Homepage: |
http://www.script-solution.de |
| Wohnort: |
Marburg |
| |
 Forum-Gott mit 7317 Punkte, 7093 Beiträge |
|
Hallo,
sorry, dass es ein paar Tage gedauert hat. Mach mal folgendes: Füg in die src/actions/actions.php irgendwo folgende Funktion ein:
PHP: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| function send_mail_to_groups($mail_title,$mail_text,$groups) { $mail = $this->functions->get_mailer('',$mail_title,$mail_text); $mail_errors = array(); $sqlgroups = array(); foreach($groups as $id) $sqlgroups[] = 'FIND_IN_SET('.$id.',p.user_group) > 0'; $qry = $this->db->sql_qry( 'SELECT u.`'.BS_EXPORT_USER_EMAIL.'` user_email FROM '.BS_TB_PROFILES.' p LEFT JOIN '.BS_TB_USER.' u ON u.`'.BS_EXPORT_USER_ID.'` = p.id WHERE '.implode(' OR ',$sqlgroups) ); while($adata = $this->db->sql_fetch_assoc($qry)) { $mail->set_recipient($adata['user_email']); if(!$mail->send_mail()) $mail_errors[] = $mail->get_error_message(); } $this->db->sql_free($qry);
// mail errors? if(count($mail_errors) > 0) { $msg = sprintf($this->lang['error_mail_error'],implode('<br />',$mail_errors)); $this->functions->show_error_message($msg); } } | Dann füg ans Ende der Funktion join_event (Zeile 4169) vor:
PHP: 1
| $info['action_performed'] = true; | das hier ein:
PHP: 1 2 3 4 5 6 7 8 9
| $mail_title = 'Anmeldung zu Termin'; $mail_text = 'Hallo,
'.$this->sess->userdata['user_name'].' hat sich zu dem Termin "'.$data['name'].'" ('.$this->sess->get_date($data['event_begin']).') angemeldet.
Mit freundlichen Grüßen Der Administrator'; $this->send_mail_to_groups($mail_title,$mail_text,array(1,2,3)); | Zusätzllch muss Zeile 4189:
in:
PHP: 1
| e.max_announcements,t.name | geändert werden.
Das gleiche nun noch für die Abmeldung. Dafür analog ans Ende der Funktion leave_event folgendes einbauen:
PHP: 1 2 3 4 5 6 7 8 9
| $mail_title = 'Abmeldung von Termin'; $mail_text = 'Hallo,
'.$this->sess->userdata['user_name'].' hat sich von dem Termin "'.$data['name'].'" ('.$this->sess->get_date($data['event_begin']).') abgemeldet.
Mit freundlichen Grüßen Der Administrator'; $this->send_mail_to_groups($mail_title,$mail_text,array(1,2,3)); | und Zeile 4282 (könnte bei dir anders sein):
PHP: 1
| 'SELECT t.id,t.thread_closed,e.announced_user,e.event_begin,e.timeout | in:
PHP: 1
| 'SELECT t.id,t.thread_closed,e.announced_user,e.event_begin,e.timeout,t.name | ändern.
Den Mail-Text und -Titel musst du natürlich ggf. anpassen oder sogar in die Sprachdateien packen, wenn du das möchtest. Ich habe nun jeweils array(1,2,3) als Gruppen angegeben. Da musst du also schauen welche Gruppen-IDs das bei dir sind, die die Mail bekommen sollen.
mfg Nils
Dieser Beitrag wurde insgesamt 2 mal editiert. Das letzte mal 22.07.2010, 17:33 von Nils.
|
|