diff --git a/controller/admin_phpmailer.php b/controller/admin_phpmailer.php index 877ca28..c2cc2cf 100644 --- a/controller/admin_phpmailer.php +++ b/controller/admin_phpmailer.php @@ -1,13 +1,15 @@ Mail wurde versendet!|***|success'; + exit; } catch (Exception $e) { echo "
Es konnte keine Mail verschickt werden! Mailer Error: {$mail->ErrorInfo}
|***|error"; + exit; } +} + +if ($function == 'showmail') { +$empfaenger = $_POST['empfaenger']; +# $empfaenger = "S-1"; +$mail_bcc = array(); + +for ($i = 0; $i < sizeof($empfaenger); $i++) { + $trenner = explode("-", $empfaenger[$i]); + + + if ($trenner[0] == 'S') { + $query = "select mail, vorname, nachname + from jumi_admin a, jumi_admin_rollen_user_zuord b + where a.uid=b.uid + and b.rid=$trenner[1]"; + + $result = $db->query($query) or die("Cannot execute query"); + + while ($row = $result->fetch_array()) { + array_push($mail_bcc, "$row[vorname] $row[nachname]|$row[mail]"); + } + } + + if ($trenner[0] == 'C') { + $query1 = "select mail, vorname, nachname + from jumi_chor_saenger"; + + $result1 = $db->query($query1) or die("Cannot execute query1"); + + while ($row1 = $result1->fetch_array()) { + array_push($mail_bcc, "$row1[vorname] $row1[nachname]|$row1[mail]"); + } + } + + if ($trenner[0] == 'V') { + $query2 = "select mail, vorname, nachname + from jumi_mailverteiler a, jumi_mailverteiler_entries b, jumi_mailverteiler_user_zuord c + where a.mvid=c.mvid + and b.mveid=c.mveid + and c.mvid=$trenner[1]"; + + $result2 = $db->query($query2) or die("Cannot execute query2"); + + while ($row2 = $result2->fetch_array()) { + array_push($mail_bcc, "$row2[vorname] $row2[nachname]|$row2[mail]"); + } + } +} + + + +# Doppelte Mailadressen entfernen. Fall jemand in mehreren Gruppen aktiv ist. +$mail_bcc = array_unique($mail_bcc); + + + $out = array_reduce($mail_bcc, function($left, $right) { + // array_reduce startet "vor" dem ersten Wert, mit $left=null und $right="a". + // Ohne diesen bedingten Ausdruck wuerde man entsprechend in der Rueckgabe ein Komma vor dem "a" erhalten. + return ($left===null ? $right : "$left,$right"); + }); + +echo $out; +#echo "Mailadressen"; +} ?> \ No newline at end of file diff --git a/js/components/admin_phpmailer.js b/js/components/admin_phpmailer.js index cc7569d..868cd14 100644 --- a/js/components/admin_phpmailer.js +++ b/js/components/admin_phpmailer.js @@ -1,3 +1,4 @@ + $(document).ready(function (e){ $("#frmEnquiry").on('submit',(function(e){ e.preventDefault(); @@ -5,10 +6,12 @@ var valid; valid = validateContact(); if(valid) { + var dataString = new FormData(this); + dataString.append('function', 'sendmail'); $.ajax({ url: "../controller/admin_phpmailer.php", type: "POST", - data: new FormData(this), + data: dataString, contentType: false, cache: false, processData:false, @@ -20,6 +23,7 @@ $('.selectpicker').selectpicker('deselectAll'); document.getElementById("subject").value =""; tinyMCE.get(0).setContent(""); + $('#empf').html(''); } $('#msg').show().delay(5000).fadeOut(500); $('#msg').html(a[0]); @@ -84,3 +88,54 @@ } }); + + +function showmail(){ + //komma getrennte Werte bei Mehrfachauswahl + var empfaenger = $("#empfaenger").val(); + if(empfaenger != ''){ + $.ajax({ + type: 'POST', + url: '../controller/admin_phpmailer.php', + data: { + 'function': 'showmail', + 'empfaenger': empfaenger + }, + success: function(result) { //we got the response + if(result !=''){ + var name = ""; + var mail = ""; + var komplett = ""; + var result_array = result.split(','); + for(var i = 0; i < result_array.length; i++) { + // Trim the excess whitespace. + result_array[i] = result_array[i].replace(/^\s*/, "").replace(/\s*$/, ""); + // Add additional code here, such as: + var name_array = result_array[i].split('|'); + //name += name_array[i][0] +"->"+ name_array[i][1]+","; + name += name_array[0]+", "; + mail += name_array[1]+", "; + komplett += name_array[0]+"|"+name_array[1]+", "; + } + name = name.substring(0,name.length-2); + mail = mail.substring(0,mail.length-2); + komplett = komplett.substring(0,komplett.length-2); + $('#empf').html(name); + document.getElementById("mailhidden").value = mail; + document.getElementById("komplett").value = komplett; + } + }, + error: function(xhr, status, exception) { + console.log(xhr); + } + }); + } +} + + +function test(){ + //komma getrennte Werte bei Mehrfachauswahl +alert('hier'); + $('#empf').html('klappt'); + +} \ No newline at end of file diff --git a/templates/modern/dashboard/mailversand.html b/templates/modern/dashboard/mailversand.html index 935d54e..107c8ee 100644 --- a/templates/modern/dashboard/mailversand.html +++ b/templates/modern/dashboard/mailversand.html @@ -120,7 +120,7 @@

- {section name=table_data loop=$table_data} @@ -136,6 +136,10 @@ +
+
+ +