Anzeige Empfänger bei Mailversand
This commit is contained in:
parent
81dcbeff7c
commit
a38e8450af
@ -1,13 +1,15 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once("../config.inc.php");
|
require_once("../config.inc.php");
|
||||||
#require('../phpmailer/class.phpmailer.php');
|
|
||||||
|
|
||||||
use PHPMailer\PHPMailer\PHPMailer;
|
use PHPMailer\PHPMailer\PHPMailer;
|
||||||
use PHPMailer\PHPMailer\Exception;
|
use PHPMailer\PHPMailer\Exception;
|
||||||
|
|
||||||
require '../PHPMailer6/src/Exception.php';
|
require '../PHPMailer6/src/Exception.php';
|
||||||
require '../PHPMailer6/src/PHPMailer.php';
|
require '../PHPMailer6/src/PHPMailer.php';
|
||||||
require '../PHPMailer6/src/SMTP.php';
|
require '../PHPMailer6/src/SMTP.php';
|
||||||
|
|
||||||
|
$function = $_POST['function'];
|
||||||
|
|
||||||
|
if ($function == 'sendmail') {
|
||||||
$mailjumi = get_parameter(1);
|
$mailjumi = get_parameter(1);
|
||||||
$absender = get_parameter(2);
|
$absender = get_parameter(2);
|
||||||
$mailpwd = get_parameter(3);
|
$mailpwd = get_parameter(3);
|
||||||
@ -114,9 +116,76 @@ try {
|
|||||||
save_mail($mail);
|
save_mail($mail);
|
||||||
|
|
||||||
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Mail wurde versendet!</div>|***|success';
|
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Mail wurde versendet!</div>|***|success';
|
||||||
|
exit;
|
||||||
}
|
}
|
||||||
catch (Exception $e) {
|
catch (Exception $e) {
|
||||||
echo "<div class='alert alert-danger'><i class='fa fa-fw fa-thumbs-down'></i> Es konnte <b>keine Mail</b> verschickt werden! Mailer Error: {$mail->ErrorInfo}</div>|***|error";
|
echo "<div class='alert alert-danger'><i class='fa fa-fw fa-thumbs-down'></i> Es konnte <b>keine Mail</b> verschickt werden! Mailer Error: {$mail->ErrorInfo}</div>|***|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";
|
||||||
|
}
|
||||||
?>
|
?>
|
@ -1,3 +1,4 @@
|
|||||||
|
|
||||||
$(document).ready(function (e){
|
$(document).ready(function (e){
|
||||||
$("#frmEnquiry").on('submit',(function(e){
|
$("#frmEnquiry").on('submit',(function(e){
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
@ -5,10 +6,12 @@
|
|||||||
var valid;
|
var valid;
|
||||||
valid = validateContact();
|
valid = validateContact();
|
||||||
if(valid) {
|
if(valid) {
|
||||||
|
var dataString = new FormData(this);
|
||||||
|
dataString.append('function', 'sendmail');
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "../controller/admin_phpmailer.php",
|
url: "../controller/admin_phpmailer.php",
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: new FormData(this),
|
data: dataString,
|
||||||
contentType: false,
|
contentType: false,
|
||||||
cache: false,
|
cache: false,
|
||||||
processData:false,
|
processData:false,
|
||||||
@ -20,6 +23,7 @@
|
|||||||
$('.selectpicker').selectpicker('deselectAll');
|
$('.selectpicker').selectpicker('deselectAll');
|
||||||
document.getElementById("subject").value ="";
|
document.getElementById("subject").value ="";
|
||||||
tinyMCE.get(0).setContent("");
|
tinyMCE.get(0).setContent("");
|
||||||
|
$('#empf').html('');
|
||||||
}
|
}
|
||||||
$('#msg').show().delay(5000).fadeOut(500);
|
$('#msg').show().delay(5000).fadeOut(500);
|
||||||
$('#msg').html(a[0]);
|
$('#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');
|
||||||
|
|
||||||
|
}
|
@ -120,7 +120,7 @@
|
|||||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<label>Empfängerkreis</label><br />
|
<label>Empfängerkreis</label><br />
|
||||||
<select name="empfaenger[]"class="form-control InputBox selectpicker" id="empfaenger" multiple="multiple" data-live-search="true">
|
<select name="empfaenger[]"class="form-control InputBox selectpicker" id="empfaenger" multiple="multiple" data-live-search="true" onchange="showmail();">
|
||||||
<optgroup label="Systemintern">
|
<optgroup label="Systemintern">
|
||||||
{section name=table_data loop=$table_data}
|
{section name=table_data loop=$table_data}
|
||||||
<option value="S-{$table_data[table_data].rid}">{$table_data[table_data].bezeichnung}</option>
|
<option value="S-{$table_data[table_data].rid}">{$table_data[table_data].bezeichnung}</option>
|
||||||
@ -136,6 +136,10 @@
|
|||||||
</optgroup>
|
</optgroup>
|
||||||
</optgroup>
|
</optgroup>
|
||||||
</select>
|
</select>
|
||||||
|
<br>
|
||||||
|
<div id="empf"></div>
|
||||||
|
<input type="hidden" name="mailhidden" id="mailhidden">
|
||||||
|
<input type="hidden" name="komplett" id="komplett">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
<div class="row mt-2 mt-sm-4 mb-2 mb-sm-4">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user