115 lines
5.1 KiB
PHP
115 lines
5.1 KiB
PHP
<?php
|
|
|
|
function printTeilnehmer($val) {
|
|
$ret = "<tr><td>".$val["Nachnamen"].", ".$val["Vornamen"]."</td><td>";
|
|
$traits = array();
|
|
|
|
if ($val["ZF"]) $traits[] = "ZF";
|
|
if ($val["GF"]) $traits[] = "GF";
|
|
if ($val["KF"]) $traits[] = "KF";
|
|
if ($val["AGT"]) $traits[] = "AGT";
|
|
if ($val["TH"]) $traits[] = "TH";
|
|
if (!$val["TM"]) $traits[] = "Kein Grundlehrgang";
|
|
if (count($traits)) $ret.= implode(", ", $traits);
|
|
|
|
$ret.= "</td><td>Corona-Unterweisung: ".($val["CoronaUnt"] ? "Ja" : "Nein")."</td>"
|
|
."<td>".($val["Teilnehmer"] ? "Dabei" : "Will")."</td></tr>\n";
|
|
return $ret;
|
|
}
|
|
|
|
function informParticipant($name, $mail, $can, $dienst, $verantwortliche) {
|
|
$text = "Hallo ".$name."!<br/><br/>\nDu hast dich für ".$dienst." angemeldet.<br/><br/>";
|
|
if ($can) {
|
|
$text.= "Du wurdest zu diesem Dienst als Teilnehmer ausgelost und <b>DARFST KOMMEN</b>. Sei bitte pünktlich und bring eine Maske mit!<br/>"
|
|
."Wenn Du dich am Tag des Dienstes nicht gesund fühlst, bleib zuhause! Wenn Du aus welchem Grund auch immer doch nicht kommen kannst, "
|
|
."teile dieses bitte unverzüglich deinen Diensthabenden mit: ".$verantwortliche."<br/><br/>\n";
|
|
} else {
|
|
$text.= "Leider hattest Du diesmal Pech und <u>DARFST N I C H T KOMMEN</u>. Dafür wirst Du bei den nächsten Verlosungen bevorzugt.<br/><br/>\n";
|
|
}
|
|
$text.= "Viele Grüße vom Webserver der OF Innenstadt!";
|
|
emlSendEmail($mail, "Ergebnis der Platzvergabe für ".$dienst, $text);
|
|
}
|
|
function informParticipantFromID($mysqli, $terminID, $personalID, $can) {
|
|
$qry = "SELECT Beginn,Thema,Verantwortliche,a.Name FROM Termine t LEFT JOIN Terminarten a ON a.ID = t.Terminart WHERE t.ID = '".$terminID."'";
|
|
$res = $mysqli->query($qry);
|
|
$termin = $res->fetch_assoc();
|
|
$qry = "SELECT Vornamen,Login FROM Personal p WHERE p.ID = '".$personalID."'";
|
|
$res = $mysqli->query($qry);
|
|
if ($personal = $res->fetch_assoc())
|
|
informParticipant($personal["Vornamen"], $personal["Login"]."@feuerwehr-bs.net", $can, $termin["Name"]." am ".date("d.m.Y H:i", strtotime($termin["Beginn"])), $termin["Verantwortliche"]);
|
|
}
|
|
|
|
function markOrSendParticipantsList($mysqli, $terminID) {
|
|
|
|
$mysqli->query("UPDATE Termine SET TeilnahmeGeändert=1 WHERE Beginn > NOW() + INTERVAL 1 DAY AND ID=".$terminID);
|
|
if ($mysqli->affected_rows==0) {
|
|
sendParticipantsListToResponsibles($mysqli, $terminID);
|
|
}
|
|
}
|
|
|
|
function sendParticipantsListToResponsibles($mysqli, $terminID) {
|
|
$qry = "SELECT t.Beginn,t.Thema,t.Verantwortliche,a.Name as aName FROM Termine t "
|
|
."LEFT JOIN Terminarten a ON a.ID=t.Terminart "
|
|
."WHERE t.ID='".$terminID."'";
|
|
$res = $mysqli->query($qry);
|
|
$tmrow = $res->fetch_assoc();
|
|
|
|
// Generate participants list
|
|
$qry = "SELECT p.ID,p.Login,p.Nachnamen,p.Vornamen,po.Name poolName,k.Kürzel kom,GROUP_CONCAT(a.Kürzel) ausbStr, tln.Status "
|
|
."FROM Terminteilnahmen tln "
|
|
."LEFT JOIN Personal p ON p.ID=tln.Personal "
|
|
."LEFT JOIN Pools po ON po.ID=p.Pool "
|
|
."LEFT JOIN Kommandofunktionen k ON k.ID=p.Kommandofkt "
|
|
."LEFT JOIN link_Ausbildungen_Personal lap ON lap.Personal=p.ID "
|
|
."LEFT JOIN Ausbildungen a ON a.ID=lap.Ausbildungen "
|
|
."WHERE tln.Termin='".$terminID."' "
|
|
."GROUP BY p.ID ORDER BY tln.Status DESC, p.Pool DESC";
|
|
$res = $mysqli->query($qry);
|
|
|
|
$status = "";
|
|
$recipients = array();
|
|
$liste = "<h3>Teilnahmeliste für ".$tmrow["aName"]." am ".date("d.m.Y H:i", strtotime($tmrow["Beginn"])).": ".$tmrow["Thema"]."</h3>\n<table border=1>\n";
|
|
$markedCauser = false;
|
|
$liste.= "<tr><th>Name</th><th>Funktionen</th><th>Corona-Unterweisung</th></tr>\n";
|
|
while ($row = $res->fetch_assoc()) {
|
|
if ($status!=$row["Status"]) {
|
|
$status = $row["Status"];
|
|
if ("2" == $status) {
|
|
$liste.= "<tr><th colspan=3>Diensthabende</th></tr>\n";
|
|
} else if ("1" == $status) {
|
|
$liste.= "<tr><th colspan=3>Erlaubte Teilnehmer</th></tr>\n";
|
|
} else if ("0" == $status) {
|
|
$liste.= "<tr><th colspan=3>Weitere Interessenten</th></tr>\n";
|
|
}
|
|
}
|
|
$liste.= "<td>".$row["Nachnamen"].", ".$row["Vornamen"]."</td><td>";
|
|
$ausb = explode(",", $row["ausbStr"]);
|
|
|
|
$traits = array();
|
|
if ($row["kom"]!=null) $traits[] = $row["kom"];
|
|
if (in_array("KF", $ausb)) $traits[] = "KF";
|
|
if (in_array("MA", $ausb)) $traits[] = "MA";
|
|
if (in_array("AGT", $ausb)) $traits[] = "AGT";
|
|
if (in_array("TH", $ausb)) $traits[] = "TH";
|
|
if (!in_array("TM1", $ausb)) $traits[] = "Ohne TM1";
|
|
if (count($traits)) $liste.= implode(", ", $traits);
|
|
|
|
$liste.= "</td><td>".(in_array("CU", $ausb) ? "Ja" : "Nein")."</td></tr>\n";
|
|
|
|
if ("2" == $row["Status"]) {
|
|
$recipients[] = $row["Login"]."@feuerwehr-bs.net";
|
|
}
|
|
}
|
|
$liste.= "</table>\n";
|
|
|
|
if (!in_array("nils.otterpohl@feuerwehr-bs.net", $recipients))
|
|
$recipients[] = "nils.otterpohl@feuerwehr-bs.net";
|
|
foreach ($recipients as $recipient) {
|
|
emlSendEmail($recipient, "Teilnahmeliste - Dienst ".strftime("%a, den %d.%m.%Y um %H:%M", strtotime($tmrow["Beginn"])), $liste);
|
|
}
|
|
$mysqli->query("UPDATE Termine SET TeilnahmeGeändert = 0 WHERE ID = ".$terminID);
|
|
|
|
return $liste;
|
|
}
|
|
|
|
?>
|