storno an gemneinsame DB angepasst - **** WOP ****
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
# Hier werden die Anfragen vom Javascript verarbeitet und die
|
||||
# Datenbank bedient
|
||||
|
||||
include 'config_stern.php';
|
||||
@@ -139,6 +138,10 @@ function getAllTeilnehmer($fdatum)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// die Daten der Führungen in dem Bereich start - end
|
||||
// in ein Array als ISO8601 holen
|
||||
// Parameter
|
||||
@@ -146,10 +149,14 @@ function getAllTeilnehmer($fdatum)
|
||||
// $end -> bis zu diesem Datum
|
||||
// Retunrn:
|
||||
// Array mit den Daten in ISO8601
|
||||
function getFuehrungen($start, $end) {
|
||||
function getFuehrungen($start, $end, $typ) {
|
||||
global $db;
|
||||
$erg = array();
|
||||
$sql_sel = "SELECT * FROM fdatum1 where datum >= '$start' AND datum <= '$end' ORDER BY datum ASC";
|
||||
$erg = [];
|
||||
$table = 'fdatum1';
|
||||
if ($typ == 'sonnen') {
|
||||
$table = 'sonnedatum';
|
||||
}
|
||||
$sql_sel = "SELECT * FROM $table where datum >= '$start' AND datum <= '$end' ORDER BY datum ASC";
|
||||
$result = mysqli_query($db, $sql_sel) or die(mysqli_error($db));
|
||||
while ($row = mysqli_fetch_assoc($result)) {
|
||||
foreach ($row as $key => $value) {
|
||||
@@ -262,6 +269,17 @@ function getOneDate($id) {
|
||||
return $data;
|
||||
}
|
||||
|
||||
// aus fdatum die div. Datumsteile hole
|
||||
function getTimeByDate($dt, $typ) {
|
||||
global $db;
|
||||
if ($typ == 'sonnen')
|
||||
return '11 Uhr';
|
||||
$sql_stmt = "SELECT uhrzeit FROM fdatum1 WHERE datum='$dt'";
|
||||
$result = mysqli_query($db, $sql_stmt) or die(mysqli_error($db));
|
||||
$data = mysqli_fetch_assoc($result);
|
||||
return $data['uhrzeit'];
|
||||
}
|
||||
|
||||
function insertteilnehmer($data) {
|
||||
global $db;
|
||||
$name = $data['name'];
|
||||
@@ -473,6 +491,9 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
case 'GET_ONE_DATE':
|
||||
$erg = getOneDate($_POST['fid']);
|
||||
break;
|
||||
case 'GET_TIME_BY_DATE':
|
||||
$erg = getTimeByDate($_POST['dt'], $_POST['typ']);
|
||||
break;
|
||||
case 'GET_ALLTEILN':
|
||||
$erg = getAllTeilnehmer($_POST['fdatum']);
|
||||
break;
|
||||
@@ -503,7 +524,7 @@ if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||
$erg = getTeilnehmer(-1, true, false);
|
||||
break;
|
||||
case 'GET_FUEHRUNGEN':
|
||||
$erg = getFuehrungen($_POST['start'], $_POST['end']);
|
||||
$erg = getFuehrungen($_POST['start'], $_POST['end'], $_POST['typ']);
|
||||
break;
|
||||
case 'PUT_FDATES':
|
||||
$erg = putFdates($_POST['data']);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
.storno {
|
||||
font-size: 14px;
|
||||
min-height: 500px;
|
||||
min-height: 550px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
@@ -131,3 +131,8 @@ h5 {
|
||||
margin-left: 10px;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
#abbrechen {
|
||||
background-color: gray;
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@
|
||||
Für diese E-Mail Adresse ist keine Führung angemeldet !<br />
|
||||
</div>
|
||||
<div id="anmeldid" class="col-12 col-xm-8 text-center">
|
||||
Sie sind angemeldet für: <br /><br />
|
||||
Sie sind angemeldet für eine <span id="fart">Sternführung</span> am: <br /><br />
|
||||
<div id="anmeldung">
|
||||
2022-07-12 22:00 Uhr 4 Personen
|
||||
</div>
|
||||
|
||||
@@ -45,14 +45,33 @@ $(document).ready(() => {
|
||||
return await response.json();
|
||||
}
|
||||
|
||||
// Wochentag aus integer Datum extrahieren
|
||||
function getWochentag(datumInt) {
|
||||
const d = new Date(
|
||||
Math.floor(datumInt / 10000), // Jahr
|
||||
Math.floor((datumInt % 10000) / 100) - 1, // Monat (0-basiert)
|
||||
datumInt % 100 // Tag
|
||||
);
|
||||
return ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"][d.getDay()];
|
||||
}
|
||||
|
||||
// Aus dem integer Führungsdatum (aus anmeldungen) den Wochentag und
|
||||
// die Uhrzeit aus der Tabelle fdatum 1 holen
|
||||
const getFuhrzeit = async (dt, typ) => {
|
||||
return await fetchFromDbase({ cmd: 'GET_TIME_BY_DATE', dt: dt, typ: typ })
|
||||
|
||||
}
|
||||
// Das Führungsdatum extrahieren
|
||||
const buildDatum = async (tn, short) => {
|
||||
const person = tn.anzahl === '1' ? 'Person' : 'Personen'
|
||||
const datum = await fetchFromDbase({cmd: 'GET_ONE_DATE', fid: tn.fid})
|
||||
const uhrzeit = await getFuhrzeit(tn.fdatum, tn.typ)
|
||||
if (short) {
|
||||
return `${moment(datum.datum).format('DD.MM.YYYY')}`
|
||||
return `${moment(tn.fdatum).format('DD.MM.YYYY')}`
|
||||
}
|
||||
return `${datum.wtag}, den ${moment(datum.datum).format('DD.MM.YYYY')} um ${datum.uhrzeit} mit ${tn.anzahl} ${person}`
|
||||
if(tn.typ === 'sonnen') {
|
||||
document.getElementById('fart').innerHTML = "Sonnenführung"
|
||||
}
|
||||
return `${getWochentag(tn.fdatum)}, den ${moment(tn.fdatum).format('DD.MM.YYYY')} um ${uhrzeit} mit ${tn.anzahl} ${person}`
|
||||
}
|
||||
|
||||
// Das Führungsdatum anzeigen
|
||||
@@ -90,9 +109,13 @@ $(document).ready(() => {
|
||||
let start = moment()
|
||||
start = start.add(vorlauf, 'h')
|
||||
let end = moment()
|
||||
end = end.add(months2add, 'M')
|
||||
let add = months2add
|
||||
if (teilnehmer.typ === 'sonnen') {
|
||||
add = 12
|
||||
}
|
||||
end = end.add(add, 'M')
|
||||
const anzahl = parseInt(teilnehmer.anzahl)
|
||||
let fuehrungen = await fetchFromDbase({cmd: 'GET_FUEHRUNGEN', start: start.format('YYYYMMDD'), end: end.format('YYYYMMDD')})
|
||||
let fuehrungen = await fetchFromDbase({ cmd: 'GET_FUEHRUNGEN', start: start.format('YYYYMMDD'), end: end.format('YYYYMMDD'), typ: teilnehmer.typ})
|
||||
let r = `<label for "ftermin" class="labeltext"><strong>Umbuchung auf</strong></label><br /><select name="ftermin" id="ftermin"><option>-- Bitte wählen Sie ein Datum aus--</option>`
|
||||
for (let f of fuehrungen) {
|
||||
if (f.datum == teilnehmer.fdatum) {
|
||||
@@ -104,7 +127,7 @@ $(document).ready(() => {
|
||||
continue // wenn der Platz nicht reicht, nicht anzeigen
|
||||
}
|
||||
r += `<option id=${f.id} value=${f.datum}>`
|
||||
r += `${f.wtag.substring(0,2)} , ${moment(f.datum).format('DD.MM.YYYY')} ${f.uhrzeit} `
|
||||
r += `${getWochentag(f.datum).substring(0, 2)} , ${moment(f.datum).format('DD.MM.YYYY')} ${await getFuhrzeit(f.datum, teilnehmer.typ)} `
|
||||
r += `Frei ${(maxVisitors - count) > 0 ? maxVisitors - count : 0}</option>`
|
||||
}
|
||||
r += '</select>'
|
||||
@@ -226,8 +249,6 @@ Sehr geehrte Dame, sehr geehrter Herr,
|
||||
|
||||
${fdatum}
|
||||
|
||||
Bitte bringen Sie diese Bestätigung als Ausdruck oder digital zur Führung mit.
|
||||
|
||||
Die Führung findet NUR bei sternklarem Himmel statt. Falls der Himmel bedeckt ist
|
||||
und die Führung ausfällt, erhalten Sie bis spätestens eine Stunde vor Führungsbeginn
|
||||
eine Email. Sie können sich dann gerne zu einer anderen Führung neu anmelden.
|
||||
|
||||
Reference in New Issue
Block a user