Stand 17.02.2023

This commit is contained in:
aschwarz 2023-03-17 12:54:16 +01:00
parent 247a3da3ea
commit f0a0848c5d
24 changed files with 1487 additions and 1691 deletions

View File

@ -1,646 +0,0 @@
<?php
if(!isset($_SESSION)) { session_start(); }
include_once 'classes/TestProjektSmarty.class.php';
require_once("config.inc.php");
require_once("func_get_sitzplatz.php");
require_once("func_get_lfd_haushalt.php");
require_once("func_get_parameter.php");
require_once("func_kritische_haushalte.php");
require_once("func_doppelanmelder.php");
require_once("config/func_cryption.php");
require_once("func_generate_qr_by_name.php");
$smarty = new Smarty();
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
require_once "language/german.inc.php";
$action = $_GET['action'];
if ($action == '') {
}
if ($action == 'terminwahl') {
# Gespeicherte Termine
$anmeldestopp = get_parameter(3);
$gesperrt = get_parameter(4);
$query1 = "SELECT tid, date_format(datum, '%d.%m.%Y') datum, date_format(datum, '%H:%i') zeit, hinweis, loginstop, date_format(DATE_SUB(datum, INTERVAL $anmeldestopp HOUR), '%Y%m%d%H%i%s') Anmeldestopp
FROM gd_termine
WHERE datum > now()
ORDER BY date_format(datum, '%Y%m%d') ASC";
$result1 = $db->query($query1) or die("Cannot execute query1");
while ($row1 = $result1->fetch_array()) {
$query_anzgesp = $db->query("SELECT count(distinct lfd_haushalt) Anz
FROM gd_buchung
WHERE tid = $row1[tid]
");
$row_anzgesp = $query_anzgesp->fetch_array();
#04.07.2021 | 1 | 0
#11.07.2021 | 1 | 2
#18.07.2021 | 1 | 3
#25.07.2021 | 1 | 4
// Überprüfung, ob die Anmeldefrist überschritten ist
$heute = mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")); // heutiges Datum
$heute_format = date("YmdHis", $heute); // ISO-8601 Format wie in der Datenbank: Formatierung f&uuml;r Vergleiche erforderlich
$a = strtotime ($heute_format); //Umrechnung des Fristgrenztages in eine Zahl
$b = strtotime ($row1['Anmeldestopp']); // Umrechnung des Enddatums in eine Zahl
#echo "$row1[datum] | $a | $b<br>";
if(($row_anzgesp['Anz'] >= $gesperrt) or ($row1['loginstop'] != '0000-00-00 00:00:00') or ($b<=$a)){
$hinweis_gepserrt =1;
}else{
$hinweis_gepserrt =0;
}
if(!isset($zaehler) or $zaehler == 1){
$zaehler = 0;
}else{
$zaehler = 1;
}
$row1['hinweis_gepserrt'] = $hinweis_gepserrt;
$row1['zaehler'] = $zaehler;
$table_data1[] = $row1;
}
$smarty->assign('table_data1', $table_data1);
#
for($i=0;$i<count($_SESSION["termin"]);$i++){
$smarty->assign('checked_'.$_SESSION["termin"][$i], "1");
}
#Session wird zurückgesetzt, da Sie nach dem Auslesen wieder durch POST gesetzt wird
unset($_SESSION["termin"]);
#echo "<pre>";
#print_r($table_data1);
#echo "</pre>";
## Fehlerhandling
$error1 = $_GET['error1'];
if($error1 == 1){
$smarty->assign('termin_error', 1);
if($error1 == 1){
$smarty->assign('termin_error_text', 'Sie müssen einen Termin auswählen für den nächsten Schritt');
}
}
}
if ($action == 'hausstand') {
if(isset($_POST["termin"])){
$termin = $_POST["termin"];
$_SESSION["termin"] = $termin;
}else{
if(isset($_SESSION["termin"])){
$termin = $_SESSION["termin"];
}else{
$error1=1;
$error=true;
}
}
if(isset($error)){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=terminwahl&error1=$error1\">";
exit;
}
$smarty->assign('hausstand_value_nachname1', $_SESSION["nachname1"]);
$smarty->assign('hausstand_value_vorname1', $_SESSION["vorname1"]);
$smarty->assign('hausstand_value_nachname2', $_SESSION["nachname2"]);
$smarty->assign('hausstand_value_vorname2', $_SESSION["vorname2"]);
$smarty->assign('hausstand_value_nachname3', $_SESSION["nachname3"]);
$smarty->assign('hausstand_value_vorname3', $_SESSION["vorname3"]);
$smarty->assign('hausstand_value_nachname4', $_SESSION["nachname4"]);
$smarty->assign('hausstand_value_vorname4', $_SESSION["vorname4"]);
$smarty->assign('hausstand_value_nachname5', $_SESSION["nachname5"]);
$smarty->assign('hausstand_value_mail', $_SESSION["mail"]);
$smarty->assign('hausstand_value_vorname5', $_SESSION["vorname5"]);
## Fehlerhandling
$error1 = $_GET['error1'];
if($error1 == 1){
$smarty->assign('hausstand_error', 1);
if($error1 == 1){
$smarty->assign('hausstand_error_text', 'Sie müssen zumindest eine Person erfassen.');
}
}
}
if ($action == 'overview') {
if(isset($_POST['nachname1'])){
$nachname1 = trim($_POST['nachname1']);
}else{
$nachname1 = $_SESSION["nachname1"];
}
if(isset($_POST['vorname1'])){
$vorname1 = trim($_POST['vorname1']);
}else{
$vorname1 = $_SESSION["vorname1"];
}
if(isset($_POST['nachname2'])){
$nachname2 = trim($_POST['nachname2']);
}else{
$nachname2 = $_SESSION["nachname2"];
}
if(isset($_POST['vorname2'])){
$vorname2 = trim($_POST['vorname2']);
}else{
$vorname2 = $_SESSION["vorname2"];
}
if(isset($_POST['nachname3'])){
$nachname3 = trim($_POST['nachname3']);
}else{
$nachname3 = $_SESSION["nachname3"];
}
if(isset($_POST['vorname3'])){
$vorname3 = trim($_POST['vorname3']);
}else{
$vorname3 = $_SESSION["vorname3"];
}
if(isset($_POST['nachname4'])){
$nachname4 = trim($_POST['nachname4']);
}else{
$nachname4 = $_SESSION["nachname4"];
}
if(isset($_POST['vorname4'])){
$vorname4 = trim($_POST['vorname4']);
}else{
$vorname4 = $_SESSION["vorname4"];
}
if(isset($_POST['nachname5'])){
$nachname5 = trim($_POST['nachname5']);
}else{
$nachname5 = $_SESSION["nachname5"];
}
if(isset($_POST['mail'])){
$mail = trim($_POST['mail']);
}else{
$mail = $_SESSION["mail"];
}
if(isset($_POST['vorname5'])){
$vorname5 = trim($_POST['vorname5']);
}else{
$vorname5 = $_SESSION["vorname5"];
}
$_SESSION["nachname1"] = $nachname1;
$_SESSION["vorname1"] = $vorname1;
$_SESSION["nachname2"] = $nachname2;
$_SESSION["vorname2"] = $vorname2;
$_SESSION["nachname3"] = $nachname3;
$_SESSION["vorname3"] = $vorname3;
$_SESSION["nachname4"] = $nachname4;
$_SESSION["vorname4"] = $vorname4;
$_SESSION["nachname5"] = $nachname5;
$_SESSION["vorname5"] = $vorname5;
$_SESSION["mail"] = $mail;
if ($nachname1 == '' AND $nachname2 == '' AND $nachname3 == '' AND $nachname4 == '' AND $nachname5 == '') {
$error1=1;
$error=true;
}
if(isset($error)){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=hausstand&error1=$error1\">";
exit;
}
for($i=0;$i<count($_SESSION["termin"]);$i++){
$termin = $_SESSION["termin"][$i];
$query_termin = $db->query("SELECT date_format(datum, '%d.%m.%Y - %H:%i') beginn, hinweis
FROM gd_termine
WHERE tid = $termin
LIMIT 1
");
$row_termin = $query_termin->fetch_array();
$row1['beginn'] = $row_termin['beginn'];
$row1['hinweis'] = $row_termin['hinweis'];
$table_data1[] = $row1;
}
$smarty->assign('table_data1', $table_data1);
$smarty->assign('overview_value_beginn', $row_termin["beginn"]);
$smarty->assign('overview_value_hinweis', $row_termin["hinweis"]);
$smarty->assign('overview_value_nachname1', $_SESSION["nachname1"]);
$smarty->assign('overview_value_vorname1', $_SESSION["vorname1"]);
$smarty->assign('overview_value_nachname2', $_SESSION["nachname2"]);
$smarty->assign('overview_value_vorname2', $_SESSION["vorname2"]);
$smarty->assign('overview_value_nachname3', $_SESSION["nachname3"]);
$smarty->assign('overview_value_vorname3', $_SESSION["vorname3"]);
$smarty->assign('overview_value_nachname4', $_SESSION["nachname4"]);
$smarty->assign('overview_value_vorname4', $_SESSION["vorname4"]);
$smarty->assign('overview_value_nachname5', $_SESSION["nachname5"]);
$smarty->assign('overview_value_vorname5', $_SESSION["vorname5"]);
$smarty->assign('overview_value_mail', $_SESSION["mail"]);
}
if ($action == 'save') {
$nachname1 = $_SESSION["nachname1"];
$vorname1 = $_SESSION["vorname1"];
$nachname2 = $_SESSION["nachname2"];
$vorname2 = $_SESSION["vorname2"];
$nachname3 = $_SESSION["nachname3"];
$vorname3 = $_SESSION["vorname3"];
$nachname4 = $_SESSION["nachname4"];
$vorname4 = $_SESSION["vorname4"];
$nachname5 = $_SESSION["nachname5"];
$vorname5 = $_SESSION["vorname5"];
$mail = $_SESSION["mail"];
for($i=0;$i<count($_SESSION["termin"]);$i++){
$termin = $_SESSION["termin"][$i];
$lfd_haushalt = get_lfd_haushalt($termin);
# echo "
# get_lfd_haushalt($termin)
# <br>
# $lfd_haushalt
# <br>
# ";
$datum=date("Y-m-d H:i:s");
if($nachname1 != ''){
if($return = doppelanmelder($termin, $vorname1, $nachname1)){
$crypt1 = "$return";
}else{
$sitzplatz1 = get_sitzplatz($nachname1, $vorname1);
$split1 = explode("|", $sitzplatz1);
$reihe1 = $split1[0];
$platz1 = $split1[1];
$sql1 = $db->query("insert into gd_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '$nachname1', '$vorname1', '$reihe1', '$platz1', '$mail', '$lfd_haushalt', '$datum')");
$bid1 = $db->insert_id;
$crypt1 = rawurlencode(cryption("$bid1|$nachname1|$termin", 'e'));
}
}
if($nachname2 != ''){
if($return = doppelanmelder($termin, $vorname2, $nachname2)){
$crypt2 = "$return";
}else{
$sitzplatz2 = get_sitzplatz($nachname2, $vorname2);
$split2 = explode("|", $sitzplatz2);
$reihe2 = $split2[0];
$platz2 = $split2[1];
$sql1 = $db->query("insert into gd_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '$nachname2', '$vorname2', '$reihe2', '$platz2', '$mail', '$lfd_haushalt', '$datum')");
$bid2 = $db->insert_id;
$crypt2 = rawurlencode(cryption("$bid2|$nachname2|$termin", 'e'));
}
}
if($nachname3 != ''){
if($return = doppelanmelder($termin, $vorname3, $nachname3)){
$crypt3 = "$return";
}else{
$sitzplatz3 = get_sitzplatz($nachname3, $vorname3);
$split3 = explode("|", $sitzplatz3);
$reihe3 = $split3[0];
$platz3 = $split3[1];
$sql1 = $db->query("insert into gd_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '$nachname3', '$vorname3', '$reihe3', '$platz3', '$mail', '$lfd_haushalt', '$datum')");
$bid3 = $db->insert_id;
$crypt3 = rawurlencode(cryption("$bid3|$nachname3|$termin", 'e'));
}
}
if($nachname4 != ''){
if($return = doppelanmelder($termin, $vorname4, $nachname4)){
$crypt4 = "$return";
}else{
$sitzplatz4 = get_sitzplatz($nachname4, $vorname4);
$split4 = explode("|", $sitzplatz4);
$reihe4 = $split4[0];
$platz4 = $split4[1];
$sql1 = $db->query("insert into gd_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '$nachname4', '$vorname4', '$reihe4', '$platz4', '$mail', '$lfd_haushalt', '$datum')");
$bid4 = $db->insert_id;
$crypt4 = rawurlencode(cryption("$bid4|$nachname4|$termin", 'e'));
}
}
if($nachname5 != ''){
if($return = doppelanmelder($termin, $vorname5, $nachname5)){
$crypt5 = "$return";
}else{
$sitzplatz5 = get_sitzplatz($nachname5, $vorname5);
$split5 = explode("|", $sitzplatz5);
$reihe5 = $split5[0];
$platz5 = $split5[1];
$sql1 = $db->query("insert into gd_buchung (tid, nachname, vorname, reihe, platz, mail, lfd_haushalt, save_date) VALUES('$termin', '$nachname5', '$vorname5', '$reihe5', '$platz5', '$mail', '$lfd_haushalt', '$datum')");
$bid5 = $db->insert_id;
$crypt5 = rawurlencode(cryption("$bid5|$nachname5|$termin", 'e'));
}
}
#Anzahl der gemeldeten Haushalte überschritten?
kritische_haushalte($termin);
if(isset($_SESSION["mail"]) AND $mail !=''){
$query_termin = $db->query("SELECT date_format(datum, '%d.%m.%Y - %H:%i') beginn, hinweis, fellbach_gd
FROM gd_termine
WHERE tid = $termin
LIMIT 1
");
$row_termin = $query_termin->fetch_array();
$empfaenger = "$mail";
$betreff = "Registrierung zum Gottesdienst am $row_termin[beginn] Uhr";
$text = "
<html>
<head>
<title>Registrierung zum Gottesdienst</title>
</head>
<body>
<font face='Arial' size='2'>
Guten Tag!<br><br>
Sie haben sich zum Gottesdienst in der neuapostolischen Kirche Weinstadt-Beutelsbach registriert.<br>
Nachfolgend finden Sie die hinterlegten Daten:
<br>
<br>
<table>
<tr>
<td valign='top' width='100'>
<font face='Arial' size='2'>
<b>Datum:</b>
</font>
</td>
<td valign='top' colspan='2'>
<font face='Arial' size='2'>
$row_termin[beginn]";if($row_termin['hinweis'] != ''){ $text .=" ($row_termin[hinweis])";}
$text.="
</font>
</td>
</tr>
<tr>
<td valign='top' width='100'>
&nbsp;
</td>
<td valign='top'>
&nbsp;
</td>
<td valign='top'>
&nbsp;
</td>
</tr>
";
if($nachname1 != ''){
$text .="
<tr>
<td valign='top' width='100'>
<font face='Arial' size='2'>
<b>Person 1:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$nachname1, $vorname1
</font>
</td>
<td valign='top'>
<a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt1'>Abmeldung</a>
</td>
</tr>";
$nname[] = "$nachname1";
$vname[] = "$vorname1";
}
if($nachname2 != ''){
$text .="
<tr>
<td valign='top' width='100'>
<font face='Arial' size='2'>
<b>Person 2:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$nachname2, $vorname2
</font>
</td>
<td valign='top'>
<a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt2'>Abmeldung</a>
</td>
</tr>";
$nname[] = "$nachname2";
$vname[] = "$vorname2";
}
if($nachname3 != ''){
$text .="
<tr>
<td valign='top' width='100'>
<font face='Arial' size='2'>
<b>Person 3:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$nachname3, $vorname3
</font>
</td>
<td valign='top'>
<a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt3'>Abmeldung</a>
</td>
</tr>";
$nname[] = "$nachname3";
$vname[] = "$vorname3";
}
if($nachname4 != ''){
$text .="
<tr>
<td valign='top' width='100'>
<font face='Arial' size='2'>
<b>Person 4:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$nachname4, $vorname4
</font>
</td>
<td valign='top'>
<a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt4'>Abmeldung</a>
</td>
</tr>";
$nname[] = "$nachname4";
$vname[] = "$vorname4";
}
if($nachname5 != ''){
$text .="
<tr>
<td valign='top' width='100'>
<font face='Arial' size='2'>
<b>Person 5:</b>
</font>
</td>
<td valign='top'>
<font face='Arial' size='2'>
$nachname5, $vorname5
</font>
</td>
<td valign='top'>
<a href='http://gd.nak-btb.de/abmeldung.php?key=$crypt5'>Abmeldung</a>
</td>
</tr>";
$nname[] = "$nachname5";
$vname[] = "$vorname5";
}
$text .="
</table>
<br>
Link zur Registrierung: <a href=\"http://gd.nak-btb.de\">Registrierung zum Gottesdienst</a>
<p>
Diese Mail wurde automatisch generiert!<br>
Antworten Sie daher nicht auf diese Mail<br>
<br>
Vielen Dank
</body>
</html>";
$text = stripslashes($text);
if($row_termin['fellbach_gd'] == 'N'){
$headers = "MIME-Version: 1.0\n";
#$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers .= "From: Gottesdienstregistrierung <service@nak-btb.de>\n";
#$headers .= "Bcc: \n";
$return = @mail($empfaenger, $betreff, $text, $headers);
}else{
require_once("./mpdf/vendor/autoload.php");
$mpdf = new \Mpdf\Mpdf([
'mode' => 'utf-8',
'format' => 'A4',
'orientation' => 'P',
'margin_top' => 10,
'margin_bottom' => 20,
'margin_left' => 10,
'margin_right' => 16,
'default_font' => 'arial',
]);
$buffer = '<page backtop="7mm" backbottom="10mm" style="font-size: 11pt">';
$buffer.="<table cellspacing='2' cellpadding='2' border='1'
style='border-collapse: collapse;
font-size: 12px;
font-weight: 700;
margin-top: 5px;
border-top: 1px solid #777;
width: 100%;'>
<tr>";
$cnt=0;
for($i=0;$i<count($nname);$i++){
if($cnt == 3){
$buffer.="</tr><tr>";
}
$qr_id = generate_qr_by_name($nname[$i], $vname[$i]);
if($qr_id != 'NA'){
$buffer.="
<td align='center' width='100'>
QR-Code zur Erfassung der Gottesdienstteilnehmer in der Neuapostolischen Kirche Fellbach<br>
<br>
<img width='60' src='./admin/phpqrcode/temp/".$qr_id.".png' /><br>
$qr_id
<h3 style='text-align: center;'>$vname[$i] $nname[$i]</h3><br>
Dieser QR-Code dient lediglich zur Einlasskontrolle in die KircheFellbach und enthält keine persönlichen Daten.<br><br>
Neuapostolische Kirche Fellbach<br>
Kastanienweg 5<br>
70734 Fellbach
</td>";
}else{
$buffer.="
<td align='center' width='100'>
Kein QR Code vorhanden!
<br>
<h3 style='text-align: center;'>$vname[$i] $nname[$i]</h3>
</td>";
}
if($cnt == 3){
#$buffer.="<tr>";
$cnt = 0;
}
$cnt++;
}
$buffer.="
</tr>
</table>
</page>";
$mpdf->WriteHTML($buffer);
$mpdf->Output("./admin/pdfs/QR_Codes_Fellbach_$nachname1.pdf", F);
$pdfLocation = "./admin/pdfs/QR_Codes_Fellbach_$nachname1.pdf"; // file location
$pdfName = "QR_Codes_Fellbach_$nachname1.pdf"; // pdf file name recipient will get
$filetype = "application/pdf"; // type
// create headers and mime boundry
$eol = PHP_EOL;
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers = "From: Gottesdienstregistrierung <service@nak-btb.de>$eol" .
"MIME-Version: 1.0$eol" .
"Content-Type: multipart/mixed;$eol" .
" boundary=\"$mime_boundary\"";
// add html message body
$message = "--$mime_boundary$eol" .
"Content-Type: text/html; charset=\"utf-8\"$eol" .
"Content-Transfer-Encoding: 7bit$eol$eol" .
$text . $eol;
// fetch pdf
$file = fopen($pdfLocation, 'rb');
$data = fread($file, filesize($pdfLocation));
fclose($file);
$pdf = chunk_split(base64_encode($data));
// attach pdf to email
$message .= "--$mime_boundary$eol" .
"Content-Type: $filetype;$eol" .
" name=\"$pdfName\"$eol" .
"Content-Disposition: attachment;$eol" .
" filename=\"$pdfName\"$eol" .
"Content-Transfer-Encoding: base64$eol$eol" .
$pdf . $eol .
"--$mime_boundary--";
// Send the email
$return = @mail($empfaenger, $betreff, $message, $headers);
unlink($pdfLocation);
}
}
}
session_destroy();
}
$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");
?>

View File

@ -1,142 +0,0 @@
<?php
if(!isset($_SESSION)) { session_start(); }
include_once 'classes/TestProjektSmarty.class.php';
require_once("config.inc.php");
require_once("func_get_sitzplatz.php");
require_once("func_get_lfd_haushalt.php");
require_once("func_get_parameter.php");
require_once("config/func_cryption.php");
$smarty = new Smarty();
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
require_once "language/german.inc.php";
$action = $_GET['action'];
if ($action == '') {
$key = rawurldecode($_GET['key']);
$decrypt = cryption("$key", 'd');
$expl = explode("|", $decrypt);
$bid = $expl[0];
$nachname = $expl[1];
$termin = $expl[2];
$_SESSION["sabmelde_bid"] = $bid;
$result = $db->query("SELECT count(*) Anz
FROM gd_buchung
WHERE bid = $bid
AND tid = $termin");
$row = $result->fetch_array();
if($row['Anz'] == 0 or $row['Anz'] >1){
$smarty->assign('abmelde_error', 1);
}else{
$smarty->assign('abmelde_error', 0);
$query_termin = $db->query("SELECT date_format(datum, '%d.%m.%Y - %H:%i') beginn, hinweis
FROM gd_termine
WHERE tid = $termin
LIMIT 1
");
$row_termin = $query_termin->fetch_array();
$smarty->assign('abmelde_termin', $row_termin['beginn']);
$_SESSION["sabmelde_termin"] = $row_termin['beginn'];
$_SESSION["sabmelde_tid"] = $termin;
$result_name = $db->query("SELECT nachname, vorname
FROM gd_buchung
WHERE bid = $bid");
$row_name = $result_name->fetch_array();
$smarty->assign('abmelde_vorname', $row_name['vorname']);
$smarty->assign('abmelde_nachname', $row_name['nachname']);
$_SESSION["sabmelde_vorname"] = $row_name['vorname'];
$_SESSION["sabmelde_nachname"] = $row_name['nachname'];
}
}
if ($action == 'del') {
$bid = $_SESSION["sabmelde_bid"];
$antwort = $_GET['antwort'];
$termin = $_SESSION["sabmelde_termin"];
$vorname = $_SESSION["sabmelde_vorname"];
$nachname = $_SESSION["sabmelde_nachname"];
$tid = $_SESSION["sabmelde_tid"];
if($antwort == 'Y'){
$sql1 = $db->query("DELETE FROM gd_buchung WHERE bid = $bid");
$ausgabe = "Sie haben $vorname $nachname vom Gottesdienst am $termin Uhr abgemeldet";
$anmeldestopp = get_parameter(3);
$result_stop = $db->query("SELECT 1 offen
FROM gd_termine
WHERE tid = $tid
AND (DATE_SUB(datum, INTERVAL $anmeldestopp HOUR) > now()
OR loginstop != '0000-00-00 00:00:00')");
$row_stop = $result_stop->fetch_array();
if($row_stop['offen'] != '1'){
# Anmeldungen sind bereits gesperrt, dann Mail senden
$to = get_parameter(5); // addresses to email pdf to
$from = "NAK Beutelsbach <nak-beutelsbach@gmx.de>"; // address message is sent from
$subject = "Abmeldung zum Gottesdienst am ".$termin; // email subject
$body = "<html>
<head>
<title>Abmeldung zum Gottesdienst</title>
</head>
<body>
<font face='Arial' size='2'>
Guten Tag!<br><br>
Folgende Abmeldungen zum Gottesdienstes haben sich ergeben:
<br><br>
Datum: $termin<br>
Person: $nachname, $vorname
<br>
<p>
Ggf. wird dadurch ein Sitzplatz verfügbar!
Antworten Sie daher nicht auf diese Mail<br>
<br>
Vielen Dank
</body>
</html>";
$pdfLocation = "./pdfs/".$row_get_termin['datum_output']."_Gottesdienstteilnehmer.pdf"; // file location
$pdfName = $row_get_termin['datum_output']."_Gottesdienstteilnehmer.pdf"; // pdf file name recipient will get
$filetype = "application/pdf"; // type
// create headers and mime boundry
$eol = PHP_EOL;
$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";
$headers = "From: $from$eol" .
"MIME-Version: 1.0$eol" .
"Content-Type: multipart/mixed;$eol" .
" boundary=\"$mime_boundary\"";
// add html message body
$message = "--$mime_boundary$eol" .
"Content-Type: text/html; charset=\"iso-8859-1\"$eol" .
"Content-Transfer-Encoding: 7bit$eol$eol" .
$body . $eol;
// Send the email
mail($to, $subject, $message, $headers);
}
}else{
$ausgabe = "Sie haben $vorname $nachname vom Gottesdienst am $termin Uhr <b>NICHT</b> abgemeldet";
}
$smarty->assign('abmelde_ausgabe', $ausgabe);
session_destroy();
}
$smarty->assign('action', "$action");
$smarty->display("$template/$templatename");
?>

14
admin/#config.php Normal file
View File

@ -0,0 +1,14 @@
<?php
#error_reporting(0);
define('DB_NAME', 'survey');
define('DB_USER', 'root');
define('DB_PASSWORD', '');
define('DB_HOST', 'localhost');
// Create connection
$db = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
// Check connection
if ($db->connect_error) {
die("Connection failed: " . $db->connect_error);
}
?>

142
admin/sort_table.html Normal file
View File

@ -0,0 +1,142 @@
<?php include_once('config.php'); ?>
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<!------ Include the above in your HEAD tag ---------->
<!-- Pulled from http://www.avtex.com/blog/2015/01/27/drag-and-drop-sorting-of-table-rows-in-priority-order/ -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Steven Ray: Drag and drop sorting of table rows</title>
<link href="../demo.css" type="text/css" rel="stylesheet" />
<!-- Bootstrap CSS -->
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<!-- jQuery
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
-->
<script src="../jquery/jquery-1.12.4.js"></script>
<!-- jQuery UI CSS
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
-->
<script src="../jquery/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//Helper function to keep table row from collapsing when being sorted
var fixHelperModified = function(e, tr) {
var $originals = tr.children();
var $helper = tr.clone();
$helper.children().each(function(index)
{
$(this).width($originals.eq(index).width())
});
return $helper;
};
//Make diagnosis table sortable
$("#diagnosis_list tbody").sortable({
helper: fixHelperModified,
stop: function(event,ui) {renumber_table('#diagnosis_list')}
}).disableSelection();
//Delete button in table rows
$('table').on('click','.btn-delete',function() {
tableID = '#' + $(this).closest('table').attr('id');
alert(tableID);
r = confirm('Delete this item?');
if(r) {
$(this).closest('tr').remove();
renumber_table(tableID);
}
});
});
//Renumber table rows
function renumber_table(tableID) {
$(tableID + " tr").each(function() {
count = $(this).parent().children().index($(this)) + 1;
$(this).find('.priority').html(count);
});
}
</script>
<script>
$(document).ready(function(e) {
$('#sortable tbody').diagnosis_list({
handle: 'i.fa-arrows-alt',
placeholder: "ui-state-highlight",
//opacity: 0.9,
update : function () {
var order = $('#diagnosis_list tbody').diagnosis_list('toArray', { attribute: 'data-sort-id'});
console.log(order.join(','));
sortOrder = order.join(',');
$.post(
'action-form.ajax.php',
{'action':'updateSortedRows','sortOrder':sortOrder},
function(data){
var a = data.split('|***|');
if(a[1]=="update"){
$('#msg').html(a[0]);
}
}
);
}
});
$( "#diagnosis_list" ).disableSelection();
$('[data-toggle="tooltip"]').tooltip();
});
</script>
<style type="text/css">
.ui-sortable tr {
cursor:pointer;
}
.ui-sortable tr:hover {
background:rgba(244,251,17,0.45);
}
</style>
</head>
<body>
<div id="content" class="container">
<h1>Sortable table</h1>
<table class="table" id="diagnosis_list">
<thead>
<tr><th>Priority</th><th>Name</th><th>Favorite fruit</th><th>Vegetarian?</th><th> </th></tr>
</thead>
<tbody>
<tr><td class='priority'>1</td><td>George Washington</td><td>Apple</td><td>N</td><td><a class='btn btn-delete btn-danger'>Delete</a></td></tr>
<tr><td class='priority'>2</td><td>John Adams</td><td>Pear</td><td>Y</td><td><a class='btn btn-delete btn-danger'>Delete</a></td></tr>
<tr><td class='priority'>3</td><td>Thomas Jefferson</td><td>Banana</td><td>Y</td><td><a class='btn btn-delete btn-danger'>Delete</a></td></tr>
<tr><td class='priority'>4</td><td>Ben Franklin</td><td>Kumquat</td><td>N</td><td><a class='btn btn-delete btn-danger'>Delete</a></td></tr>
<tr><td class='priority'>5</td><td>Alexander Hamilton</td><td>Red grapes</td><td>N</td><td><a class='btn btn-delete btn-danger'>Delete</a></td></tr>
</tbody>
</table>
</div>
</body>
</html>

145
admin/sort_table.php Normal file
View File

@ -0,0 +1,145 @@
<?php include_once('config.php'); ?>
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<!------ Include the above in your HEAD tag ---------->
<!-- Pulled from http://www.avtex.com/blog/2015/01/27/drag-and-drop-sorting-of-table-rows-in-priority-order/ -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Steven Ray: Drag and drop sorting of table rows</title>
<link href="../demo.css" type="text/css" rel="stylesheet" />
<!-- Bootstrap CSS -->
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<!-- jQuery
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
-->
<script src="../jquery/jquery-1.12.4.js"></script>
<!-- jQuery UI CSS
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
-->
<script src="../jquery/jquery-ui.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//Helper function to keep table row from collapsing when being sorted
var fixHelperModified = function(e, tr) {
var $originals = tr.children();
var $helper = tr.clone();
$helper.children().each(function(index)
{
$(this).width($originals.eq(index).width())
});
return $helper;
};
//Make diagnosis table sortable
$("#sortable tbody").sortable({
helper: fixHelperModified,
stop: function(event,ui) {
renumber_table('#sortable')
var order = $('#sortable tbody').sortable('toArray', { attribute: 'data-sort-id'});
console.log(order.join(','));
sortOrder = order.join(',');
$.post(
'action-form.ajax.php',
{'action':'updateSortedRows','sortOrder':sortOrder},
function(data){
var a = data.split('|***|');
if(a[1]=="update"){
$('#msg').html(a[0]);
}
}
);
}
}).disableSelection();
//Delete button in table rows
$('table').on('click','.btn-delete',function() {
tableID = '#' + $(this).closest('table').attr('id');
r = confirm('Delete this item?');
if(r) {
$(this).closest('tr').remove();
renumber_table(tableID);
}
});
});
//Renumber table rows
function renumber_table(tableID) {
$(tableID + " tr").each(function() {
count = $(this).parent().children().index($(this)) + 1;
$(this).find('.priority').html(count);
});
}
</script>
<style type="text/css">
.ui-sortable tr {
cursor:pointer;
}
.ui-sortable tr:hover {
background:rgba(244,251,17,0.45);
}
</style>
</head>
<body>
<div id="content" class="container">
<h1>Sortable table</h1>
<table class="table" id="sortable">
<thead>
<tr>
<th width="20">Action</th>
<th width="120" class="text-center">Inset DT</th>
<th>User Name</th>
<th>User Country</th>
<th>User Email</th>
<th>User Phone#</th>
</tr>
</thead>
<tbody id="tb">
<?php
$result = $db->query("SELECT * FROM reorderusers WHERE 1 ORDER BY userorder ASC ");
if($result->num_rows>0){
$i=0;
while($val = $result->fetch_assoc()){
$i++;
?>
<tr data-sort-id="<?php echo $val['id'];?>">
<td class="priority" align="center"><?php echo $i; ?></td>
<td align="center"><?php echo $val['dt']; ?></td>
<td><?php echo mb_strtoupper($val['username'],'UTF-8'); ?></td>
<td><?php echo mb_strtoupper($counrtyName[$val['usercountry']],'UTF-8'); ?></td>
<td><?php echo $val['useremail']; ?></td>
<td><?php echo $val['userphone']; ?></td>
</tr>
<?php
}
} ?>
</tbody>
</table>
<div id="msg"></div>
</div>
</body>
</html>

View File

@ -1,188 +1,191 @@
<?php
if (!isset($_SESSION)) {
session_start();
session_start();
}
include_once '../classes/TestProjektSmarty.class_subdir.php';
require_once("../config.inc.php");
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
$smarty = new SmartyAdmin();
require_once "../language/german.inc.php";
#require_once("../func_get_restplatz.php");
#require_once("../func_get_parameter.php");
require_once("../func_get_sitzplatz.php");
require_once("../func_get_lfd_haushalt.php");
require_once("../config/func_cryption.php");
if (isset($_GET['action'])) {
$action = $_GET['action'];
$action = $_GET['action'];
} else {
$action = '';
$action = '';
}
if ($action == '') {
# if (isset($_GET['edit'])) {
# $_SESSION["umfrageerf_status"] = 'edit';
# $yid = $_GET['edit'];
# $_SESSION["umfrageerf_yid"] = $yid;
# } else {
# $_SESSION["umfrageerf_status"] = 'neu';
# }
#
# # -- Fehlermeldungen -- #
if (isset($_GET['error'])) {
# if (isset($_GET['edit'])) {
# $_SESSION["umfrageerf_status"] = 'edit';
# $yid = $_GET['edit'];
# $_SESSION["umfrageerf_yid"] = $yid;
# } else {
# $_SESSION["umfrageerf_status"] = 'neu';
# }
#
# # -- Fehlermeldungen -- #
if (isset($_GET['error'])) {
$errorno = $_GET['error'];
$smarty->assign('umfrageerf_error', 1);
$smarty->assign('umfrageerf_value_datumvon', $_SESSION["umfrageerf_value_datumvon"]);
$smarty->assign('umfrageerf_value_zeitvon', $_SESSION["umfrageerf_value_zeitvon"]);
$smarty->assign('umfrageerf_value_datumbis', $_SESSION["umfrageerf_value_datumbis"]);
$smarty->assign('umfrageerf_value_zeitbis', $_SESSION["umfrageerf_value_zeitbis"]);
$smarty->assign('umfrageerf_value_headline', $_SESSION["umfrageerf_value_headline"]);
if ($errorno == 1) {
# Pflichtfelder
$smarty->assign('umfrageerf_error_text', "Bitte füllen Sie alle Felder aus");
}
if ($errorno == 2) {
# Datumsformat
$smarty->assign('umfrageerf_error_text', "Ein Datumsformat ist falsch");
}
} else {
unset($_SESSION["umfrageerf_value_datumvon"]);
unset($_SESSION["umfrageerf_value_zeitvon"]);
unset($_SESSION["umfrageerf_value_datumbis"]);
unset($_SESSION["umfrageerf_value_zeitbis"]);
unset($_SESSION["umfrageerf_value_headline"]);
unset($_SESSION["umfrageerf_umid"]);
unset($_SESSION["umfrageerf_ufid"]);
unset($_SESSION["umfrageerf_uaid"]);
}
#
# # --- Wenn Werte editiert werden ------------
# if ($_SESSION["umfrageerf_status"] == 'edit') {
# $result_edit = $db->query("SELECT yid, date_format(datum, '%d.%m.%Y') datum, date_format(datum, '%H:%i') zeit, url
# FROM jumi_youtube_termine
# WHERE yid = $yid");
# $row_edit = $result_edit->fetch_array();
# $smarty->assign('umfrageerf_value_datum', "$row_edit[datum]");
# $smarty->assign('umfrageerf_value_zeit', "$row_edit[zeit]");
# $smarty->assign('umfrageerf_value_url', "$row_edit[url]");
#
# }
# # --- Wenn Werte editiert werden Ende -------
#
# if ($_GET['editende'] == 1) {
# # Editieren ist beendet, als ein update auf einen Datensatz. Dann ist der status wieder Neu, damit wird wieder ein Insert durchgeführt
# $_SESSION["umfrageerf_status"] = 'neu';
# }
#
#
# # Gespeicherte Werte
# $query1 = "SELECT yid, date_format(datum, '%d.%m.%Y') datum_form, date_format(datum, '%H:%i') zeit, url
# FROM jumi_youtube_termine
# WHERE datum > DATE_SUB( NOW() , INTERVAL 14 DAY )
# ORDER BY datum desc, zeit ASC";
#
# $result1 = $db->query($query1) or die("Cannot execute query1a");
#
# while ($row1 = $result1->fetch_array()) {
# $table_data1[] = $row1;
# }
# $smarty->assign('table_data1', $table_data1);
$errorno = $_GET['error'];
$smarty->assign('umfrageerf_error', 1);
$smarty->assign('umfrageerf_value_datumvon', $_SESSION["umfrageerf_value_datumvon"]);
$smarty->assign('umfrageerf_value_zeitvon', $_SESSION["umfrageerf_value_zeitvon"]);
$smarty->assign('umfrageerf_value_datumbis', $_SESSION["umfrageerf_value_datumbis"]);
$smarty->assign('umfrageerf_value_zeitbis', $_SESSION["umfrageerf_value_zeitbis"]);
$smarty->assign('umfrageerf_value_headline', $_SESSION["umfrageerf_value_headline"]);
if ($errorno == 1) {
# Pflichtfelder
$smarty->assign('umfrageerf_error_text', "Bitte füllen Sie alle Felder aus");
}
if ($errorno == 2) {
# Datumsformat
$smarty->assign('umfrageerf_error_text', "Ein Datumsformat ist falsch");
}
}else{
unset($_SESSION["umfrageerf_value_datumvon"]);
unset($_SESSION["umfrageerf_value_zeitvon"]);
unset($_SESSION["umfrageerf_value_datumbis"]);
unset($_SESSION["umfrageerf_value_zeitbis"]);
unset($_SESSION["umfrageerf_value_headline"]);
unset($_SESSION["umfrageerf_umid"]);
unset($_SESSION["umfrageerf_value_frage"]);
unset($_SESSION["umfrageerf_ufid"]);
unset($_SESSION["umfrageerf_uaid"]);
}
#
# # --- Wenn Werte editiert werden ------------
# if ($_SESSION["umfrageerf_status"] == 'edit') {
# $result_edit = $db->query("SELECT yid, date_format(datum, '%d.%m.%Y') datum, date_format(datum, '%H:%i') zeit, url
# FROM jumi_youtube_termine
# WHERE yid = $yid");
# $row_edit = $result_edit->fetch_array();
# $smarty->assign('umfrageerf_value_datum', "$row_edit[datum]");
# $smarty->assign('umfrageerf_value_zeit', "$row_edit[zeit]");
# $smarty->assign('umfrageerf_value_url', "$row_edit[url]");
#
# }
# # --- Wenn Werte editiert werden Ende -------
#
# if ($_GET['editende'] == 1) {
# # Editieren ist beendet, als ein update auf einen Datensatz. Dann ist der status wieder Neu, damit wird wieder ein Insert durchgeführt
# $_SESSION["umfrageerf_status"] = 'neu';
# }
#
#
# # Gespeicherte Werte
# $query1 = "SELECT yid, date_format(datum, '%d.%m.%Y') datum_form, date_format(datum, '%H:%i') zeit, url
# FROM jumi_youtube_termine
# WHERE datum > DATE_SUB( NOW() , INTERVAL 14 DAY )
# ORDER BY datum desc, zeit ASC";
#
# $result1 = $db->query($query1) or die("Cannot execute query1a");
#
# while ($row1 = $result1->fetch_array()) {
# $table_data1[] = $row1;
# }
# $smarty->assign('table_data1', $table_data1);
}
if ($action == 'fragen') {
if(isset($_POST['datumvon']) and $_POST['datumvon'] != ''){
$datumvon = $_POST['datumvon'];
$_SESSION["umfrageerf_value_datumvon"] = $datumvon;
}else{
if($_SESSION["umfrageerf_value_datumvon"] == ''){
echo "<meta http-equiv=\"refresh\" content=\"3; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
$umid = $_SESSION["umfrageerf_umid"];
# Focus/Session setzen
$result = $db->query("SELECT count(*) Anz FROM jumi_umfragen_fragen WHERE umid='$umid'");
$row = $result->fetch_array();
# Wenn man bei mehreren Fragen eine Frage löscht ist Anz nicht 0 und der Focus sitzt bei Antwort
if ($umid == '' or $_GET['tabufid'] == "neuefrage" or $row['Anz'] == '0') {
$smarty->assign('umfrageerf_focus', "frage");
unset($_SESSION["umfrageerf_ufid"]);
unset($_SESSION["umfrageerf_uaid"]);
} else {
$smarty->assign('umfrageerf_focus', "antwort");
}
}
if(isset($_POST['zeitvon']) and $_POST['zeitvon'] != ''){
$zeitvon = $_POST['zeitvon'];
$_SESSION["umfrageerf_value_zeitvon"] = $zeitvon;
}else{
if($_SESSION["umfrageerf_value_zeitvon"] == ''){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
}
}
if(isset($_POST['datumbis']) and $_POST['datumbis'] != ''){
$datumbis = $_POST['datumbis'];
$_SESSION["umfrageerf_value_datumbis"] = $datumbis;
}else{
if($_SESSION["umfrageerf_value_datumbis"] == ''){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
}
}
if(isset($_POST['zeitbis']) and $_POST['zeitbis'] != ''){
$zeitbis = $_POST['zeitbis'];
$_SESSION["umfrageerf_value_zeitbis"] = $zeitbis;
}else{
if($_SESSION["umfrageerf_value_zeitbis"] == ''){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
}
}
if(isset($_POST['headline']) and trim($_POST['headline']) != ''){
$headline = trim($_POST['headline']);
$_SESSION["umfrageerf_value_headline"] = $headline;
}else{
if($_SESSION["umfrageerf_value_headline"] == ''){
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
}
}
$umid = $_SESSION["umfrageerf_umid"];
if($umid == ''){
$datumvon_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $datumvon);
$datumbis_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $datumbis);
$datum_von = $datumvon_form . " " . $zeitvon . ":00";
$datum_bis = $datumbis_form . " " . $zeitbis . ":00";
function validateDate($date, $format = 'Y-m-d')
{
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
if (isset($_POST['datumvon']) and $_POST['datumvon'] != '') {
$datumvon = $_POST['datumvon'];
$_SESSION["umfrageerf_value_datumvon"] = $datumvon;
} else {
if ($_SESSION["umfrageerf_value_datumvon"] == '') {
echo "<meta http-equiv=\"refresh\" content=\"3; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
}
}
if (!validateDate($datumvon_form)) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2\">";
exit;
if (isset($_POST['zeitvon']) and $_POST['zeitvon'] != '') {
$zeitvon = $_POST['zeitvon'];
$_SESSION["umfrageerf_value_zeitvon"] = $zeitvon;
} else {
if ($_SESSION["umfrageerf_value_zeitvon"] == '') {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
}
}
if (!validateDate($datumbis_form)) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2\">";
exit;
if (isset($_POST['datumbis']) and $_POST['datumbis'] != '') {
$datumbis = $_POST['datumbis'];
$_SESSION["umfrageerf_value_datumbis"] = $datumbis;
} else {
if ($_SESSION["umfrageerf_value_datumbis"] == '') {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
}
}
# Prüfen, ob schon eine Umfrage an diesem Tag ist
}
if ( $umid == ''){
$sql1 = $db->query("INSERT INTO jumi_umfragen ( datum_von
if (isset($_POST['zeitbis']) and $_POST['zeitbis'] != '') {
$zeitbis = $_POST['zeitbis'];
$_SESSION["umfrageerf_value_zeitbis"] = $zeitbis;
} else {
if ($_SESSION["umfrageerf_value_zeitbis"] == '') {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
}
}
if (isset($_POST['headline']) and trim($_POST['headline']) != '') {
$headline = trim($_POST['headline']);
$_SESSION["umfrageerf_value_headline"] = $headline;
} else {
if ($_SESSION["umfrageerf_value_headline"] == '') {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=1\">";
}
}
if ($umid == '') {
$datumvon_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $datumvon);
$datumbis_form = preg_replace('/^(\\d{2})\\.(\\d{2})\\.(\\d{4})$/', '$3-$2-$1', $datumbis);
$datum_von = $datumvon_form . " " . $zeitvon . ":00";
$datum_bis = $datumbis_form . " " . $zeitbis . ":00";
function validateDate($date, $format = 'Y-m-d')
{
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
if (!validateDate($datumvon_form)) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2\">";
exit;
}
if (!validateDate($datumbis_form)) {
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?error=2\">";
exit;
}
# Prüfen, ob schon eine Umfrage an diesem Tag ist
}
if ($umid == '') {
$datum = date("Y-m-d H:i:s");
$sql1 = $db->query("INSERT INTO jumi_umfragen ( datum_von
, datum_bis
, headline
, uid
@ -196,33 +199,78 @@ if ($action == 'fragen') {
, '$datum'
)
");
$umid = $db->insert_id;
$_SESSION["umfrageerf_umid"] = $umid;
}
$ufid = $_SESSION["umfrageerf_ufid"];
if ( $ufid != ''){
# Ausgabe wenn die Frage
$smarty->assign('umfrageerf_value_frage', htmlspecialchars($_SESSION["umfrageerf_value_frage"]));
}
$umid = $db->insert_id;
$_SESSION["umfrageerf_umid"] = $umid;
}
if (isset($_GET['tabufid']) and $_GET['tabufid'] != '') {
if ($_GET['tabufid'] == "neuefrage") {
$_SESSION["umfrageerf_ufid"] = "";
} else {
$_SESSION["umfrageerf_ufid"] = $_GET['tabufid'];
}
}
$ufid = $_SESSION["umfrageerf_ufid"];
if ($ufid != '') {
$result_frage = $db->query("SELECT frage
FROM jumi_umfragen_fragen
WHERE ufid = $ufid");
$row_frage = $result_frage->fetch_array();
$smarty->assign('umfrageerf_value_frage', htmlspecialchars($row_frage['frage']));
$smarty->assign('umfrageerf_value_ufid', $ufid);
}
# Gespeicherte Werte
if ($umid != '') {
$query1 = "SELECT ufid, frage
FROM jumi_umfragen_fragen
WHERE umid=$umid
ORDER BY ufid ASC";
$result1 = $db->query($query1) or die("Cannot execute query1a");
while ($row1 = $result1->fetch_array()) {
$table_data1[] = $row1;
}
}
$smarty->assign('table_data1', $table_data1);
if ($ufid != '') {
$smarty->assign('umfrageerf_gesp_werte_value_ufid2', "$ufid");
$query2 = "SELECT uaid, antwort
FROM jumi_umfragen_antworten
WHERE ufid=$ufid
ORDER BY userorder ASC, uaid ASC";
$result2 = $db->query($query2) or die("Cannot execute query2");
$anzahl = $result2->num_rows;
$smarty->assign('table_data2_anz', $anzahl);
while ($row2 = $result2->fetch_array()) {
$table_data2[] = $row2;
}
$smarty->assign('table_data2', $table_data2);
}
}
if ($action == 'save') {
$umid = $_SESSION["umfrageerf_umid"];
if(isset($_POST['frage'])){
$frage = $_POST['frage'];
$_SESSION["umfrageerf_value_frage"] = $frage;
}
if(isset($_POST['antwort'])){
$antwort = $_POST['antwort'];
}
if ($action == 'save') {
$umid = $_SESSION["umfrageerf_umid"];
# Gibt es die Frage schon
$result = $db->query("SELECT count(*) Anz FROM jumi_umfragen_fragen WHERE umid='$umid' and frage='$frage'");
$row = $result->fetch_array();
if($row['Anz'] == '0'){
$sql1 = $db->query("INSERT INTO jumi_umfragen_fragen ( umid
if (isset($_POST['frage'])) {
$frage = $_POST['frage'];
}
if (isset($_POST['antwort'])) {
$antwort = $_POST['antwort'];
}
# Gibt es die Frage schon
$result = $db->query("SELECT count(*) Anz FROM jumi_umfragen_fragen WHERE umid='$umid' and frage='$frage'");
$row = $result->fetch_array();
if ($row['Anz'] == '0' and $frage != '') {
$sql1 = $db->query("INSERT INTO jumi_umfragen_fragen ( umid
, frage
)
VALUES
@ -230,16 +278,22 @@ if ($action == 'save') {
, '$frage'
)
");
$ufid = $db->insert_id;
$_SESSION["umfrageerf_ufid"] = $ufid;
}
$ufid = $_SESSION["umfrageerf_ufid"];
# Gibt es diese Antwort schon
$result2 = $db->query("SELECT count(*) Anz FROM jumi_umfragen_antworten WHERE ufid='$ufid' and antwort='$antwort'");
$row2 = $result2->fetch_array();
if($row2['Anz'] == '0'){
$sql1 = $db->query("INSERT INTO jumi_umfragen_antworten ( ufid
$ufid = $db->insert_id;
$_SESSION["umfrageerf_ufid"] = $ufid;
} else {
$ufid = $_SESSION["umfrageerf_ufid"];
$update = $db->query("UPDATE jumi_umfragen_fragen
SET frage ='$frage'
WHERE ufid = $ufid
");
}
$ufid = $_SESSION["umfrageerf_ufid"];
# Gibt es diese Antwort schon
$result2 = $db->query("SELECT count(*) Anz FROM jumi_umfragen_antworten WHERE ufid='$ufid' and antwort='$antwort'");
$row2 = $result2->fetch_array();
if ($row2['Anz'] == '0' and $antwort != '') {
$sql1 = $db->query("INSERT INTO jumi_umfragen_antworten ( ufid
, antwort
)
VALUES
@ -247,14 +301,14 @@ if ($action == 'save') {
, '$antwort'
)
");
$uaid = $db->insert_id;
$_SESSION["umfrageerf_uaid"] = $uaid;
}
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=fragen\">";
$uaid = $db->insert_id;
$_SESSION["umfrageerf_uaid"] = $uaid;
}
echo "<meta http-equiv=\"refresh\" content=\"0; URL=" . $_SERVER['PHP_SELF'] . "?action=fragen\">";
}
$smarty->assign('action', "$action");
$smarty->display("$template/admin/$templatename");
?>
?>

View File

@ -0,0 +1,38 @@
<?php
require_once("../config.inc.php");
$function = $_POST['function'];
if($function == 'delete'){
$tabelle = $_POST['tabelle'];
$spalte = $_POST['spalte'];
$id = $_POST['id'];
$stmt = $db->query("DELETE FROM $tabelle WHERE $spalte = $id");
if($stmt){
echo "success";
}else{
echo -1;
}
}
if($function == 'deleteQuestion'){
$id2 = $_POST['id2'];
$stmt1 = $db->query("DELETE FROM jumi_umfragen_antworten WHERE ufid = $id2");
$stmt2 = $db->query("DELETE FROM jumi_umfragen_fragen WHERE ufid = $id2");
# ggf. bereis Abstimmergebnisse löschen
# Sonst werden keine neue Fragen erfasst
# unset($_SESSION["umfrageerf_ufid"]);
if($stmt1 and $stmt2){
echo "DELETE FROM jumi_umfragen_antworten WHERE ufid = $id2 | DELETE FROM jumi_umfragen_fragen WHERE ufid = $id2";
}else{
echo "Nicht geklappt";
}
}
?>

View File

@ -0,0 +1,12 @@
<?php
require_once("../config.inc.php");
if(isset($_REQUEST['action']) and $_REQUEST['action']=="updateSortedRows"){
$newOrder = explode(",",$_REQUEST['sortOrder']);
$n = '0';
foreach($newOrder as $id){
$db->query('UPDATE jumi_umfragen_antworten SET userorder="'.$n.'" WHERE uaid="'.$id.'" ');
$n++;
}
echo '<div class="alert alert-success"><i class="fa fa-fw fa-thumbs-up"></i> Reihenfolge angepasst!</div>|***|update';
}

View File

@ -1,33 +0,0 @@
<?php
#require_once("config.inc.php");
#require_once("config/func_cryption.php");
function doppelanmelder($termin, $vorname, $nachname){
$vorname1 =mb_strtoupper($vorname);
$nachname1 =mb_strtoupper($nachname);
$db = dbconnect();
$query_angemeldet = $db->query("SELECT bid, nachname, vorname
FROM jumi_buchung
WHERE upper(vorname)='$vorname1'
AND upper(nachname)='$nachname1'
AND tid=$termin
");
$row_angemeldet= $query_angemeldet->fetch_array();
if($row_angemeldet['bid'] != ''){
$bid = $row_angemeldet['bid'];
$value = cryption("$bid|$nachname|$termin", 'e');;
}else{
$value = FALSE;
}
return $value;
}
#if($return = doppelanmelder(6, 'Alexander', 'Schwarz')){
# echo "$return";
#}else{
# echo "keine Treffer";
#}
?>

View File

@ -1,74 +0,0 @@
<?php
#require_once("config.inc.php");
include('admin/phpqrcode/qrlib.php');
function generate_qr_by_name($nachname, $vorname){
$vorname1 =mb_strtoupper($vorname);
$nachname1 =mb_strtoupper($nachname);
$db = dbconnect();
$query_qr = $db->query("SELECT qr
FROM jumi_qr_fellbach
WHERE upper(vorname)='$vorname1'
AND upper(nachname)='$nachname1'
");
$row_qr= $query_qr->fetch_array();
if($row_qr['qr'] != ''){
$PNG_TEMP_DIR = dirname(__FILE__).DIRECTORY_SEPARATOR.'admin'.DIRECTORY_SEPARATOR.'phpqrcode'.DIRECTORY_SEPARATOR.'temp'.DIRECTORY_SEPARATOR;
$PNG_WEB_DIR = 'phpqrcode/temp/';
$filename = $PNG_TEMP_DIR.$row_qr['qr'].'.png';
QRcode::png($row_qr['qr'], $filename, H, 10, 2);
return $row_qr['qr'];
}else{
$empfaenger = "service@nak-btb.de";
$betreff = "Fehlender QR Code";
$text = "
<html>
<head>
<title>Fehlender QR Code</title>
</head>
<body>
<font face='Arial' size='2'>
Guten Tag!<br><br>
Für nachfolgende Person fehlt ein QR Code für die Gemeinde Fellbach
<br>
<br>
<table>
<tr>
<td valign='top' width='100'>
<b>Name:</b>
</td>
<td valign='top' colspan='2'>
$nachname, $vorname
</font>
</td>
</tr>
</table>
<br>
<br>
Link zur Gottesdienstadministration: <a href=\"http://gd.nak-btb.de/admin\">Gottesdienstadministration</a>
<p>
Diese Mail wurde automatisch generiert!<br>
Antworten Sie daher nicht auf diese Mail<br>
<br>
Vielen Dank
</body>
</html>";
$text = stripslashes($text);
$headers = "MIME-Version: 1.0\n";
#$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers .= "From: Gottesdienstregistrierung <service@nak-btb.de>\n";
#$headers .= "Bcc: \n";
$mail_return = @mail($empfaenger, $betreff, $text, $headers);
return 'NA';
}
}
#echo generate_qr_by_name('Bantleon', 'Lea');
?>

View File

@ -1,21 +0,0 @@
<?php
#require_once("config.inc.php");
function get_lfd_haushalt($tid){
$db = dbconnect();
$query_get_lfd_haushalt = $db->query("SELECT max(lfd_haushalt)+1 lfd_hhnr FROM jumi_buchung WHERE tid=$tid");
$row_get_lfd_haushalt = $query_get_lfd_haushalt->fetch_array();
if($row_get_lfd_haushalt['lfd_hhnr']==''){
$next = 1;
}else{
$next = $row_get_lfd_haushalt['lfd_hhnr'];
}
return $next;
}
#echo get_lfd_haushalt(4);
?>

View File

@ -1,16 +0,0 @@
<?php
#require_once("config.inc.php");
function get_parameter($pid){
$db = dbconnect();
$query_get_parameter = $db->query("SELECT wert FROM jumi_parameter WHERE pid=$pid");
$row_get_parameter= $query_get_parameter->fetch_array();
$wert = $row_get_parameter['wert'];
return $wert;
}
#echo get_parameter(6);
?>

View File

@ -1,22 +0,0 @@
<?php
#require_once("config.inc.php");
function get_sitzplatz($nachname, $vorname){
$db = dbconnect();
$query_getplatz = $db->query("SELECT reihe, platz FROM jumi_standardsitzplatz WHERE nachname='$nachname' AND vorname='$vorname'");
$row_getplatz = $query_getplatz->fetch_array();
if($row_getplatz['reihe'] != ''){
$platz = "$row_getplatz[reihe]|$row_getplatz[platz]";
}else{
$platz = "|";
}
return $platz;
}
#echo get_sitzplatz('Schwarz', 'Alexander');
?>

View File

@ -1,89 +0,0 @@
<?php
#require_once("config.inc.php");
function kritische_haushalte($termin){
$db = dbconnect();
$query_get_parameter_mail = $db->query("SELECT wert FROM jumi_parameter WHERE pid=1");
$row_get_parameter_mail= $query_get_parameter_mail->fetch_array();
$query_get_parameter = $db->query("SELECT wert FROM jumi_parameter WHERE pid=2");
$row_get_parameter= $query_get_parameter->fetch_array();
$query_get_sperrung = $db->query("SELECT wert FROM jumi_parameter WHERE pid=4");
$row_get_sperrung= $query_get_sperrung->fetch_array();
$marke = $row_get_parameter['wert'];
$sperrung = $row_get_sperrung['wert'];
$query_ist = $db->query("SELECT count(distinct lfd_haushalt) ANZ_IST
FROM jumi_buchung
WHERE tid=$termin");
$row_ist= $query_ist->fetch_array();
$query_termin = $db->query("SELECT date_format(datum, '%d.%m.%Y - %H:%i') beginn, hinweis
FROM jumi_termine
WHERE tid = $termin
LIMIT 1
");
$row_termin = $query_termin->fetch_array();
if($row_ist['ANZ_IST'] >= $sperrung){
$datum = date("Y-m-d H:i:s");
$update = $db->query("UPDATE jumi_termine
SET loginstop ='$datum'
WHERE tid = $termin
");
$hinweis = "<br><font color='red'>Die Maximalmarke wurde überschritten. Der Gottesdienst wurde automatisch gesperrt</font>";
}
if($row_ist['ANZ_IST'] >= $marke){
$empfaenger = "$row_get_parameter_mail[wert]";
$betreff = "Gottesdienst: Kritische Marke am $row_termin[beginn] Uhr erreicht";
$text = "
<html>
<head>
<title>Kritische Marke</title>
</head>
<body>
<font face='Arial' size='2'>
Guten Tag!<br><br>
Die Anzahl der kritischen Marke von $marke Haushalten wurde erreicht.
<br>
Aktuelle Zahl der Haushaltsanmeldungen: $row_ist[ANZ_IST]
<br>";
if($hinweis != ''){
$text .= "
$hinweis
<br>
";
}
$text .= "
<br>
Link zur Registrierung: <a href=\"http://gd.nak-btb.de/admin\">Administration zum Gottesdienst</a>
<p>
Diese Mail wurde automatisch generiert!<br>
Antworten Sie daher nicht auf diese Mail<br>
<br>
Vielen Dank
</body>
</html>";
$text = stripslashes($text);
$headers = "MIME-Version: 1.0\n";
#$headers .= "Content-type: text/html; charset=iso-8859-1\n";
$headers .= "Content-type: text/html; charset=utf-8\n";
$headers .= "From: Gottesdienstregistrierung <service@nak-btb.de>\n";
#$headers .= "Bcc: \n";
$return = @mail($empfaenger, $betreff, $text, $headers);
}
}
#echo get_parameter(6);
?>

View File

@ -0,0 +1,43 @@
function onClickDelete(id){
document.getElementById("antwort").value= "";
r = confirm('Antwort löschen?');
if(r) {
$.ajax({
type: 'POST',
url: '../controller/admin_erfassen.php',
data: {
'function': 'delete',
'tabelle': 'jumi_umfragen_antworten',
'spalte': 'uaid',
'id': id
},
success: function(result){
// document.getElementById("del").innerHTML = "<strong>entfernt</strong>";
//Text einblenden geht nicht, da ein Refresh gemacht wird. Dann sieht man den Text nicht
}
});
}
}
function onClickDeleteQuestion(id2){
document.getElementById("frage").value = "";
document.getElementById("antwort").value= "";
r = confirm('Gesamte Frage löschen?');
if(r) {
$.ajax({
type: 'POST',
url: '../controller/admin_erfassen.php',
data: {
'function': 'deleteQuestion',
'id2': id2
},
success: function(result){
// document.getElementById("del").innerHTML = "<strong>entfernt</strong>";
//Text einblenden geht nicht, da ein Refresh gemacht wird. Dann sieht man den Text nicht
}
});
}
}

5
js/popper/popper.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,11 +1,11 @@
-- phpMyAdmin SQL Dump
-- version 5.2.0
-- version 5.1.1
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Erstellungszeit: 14. Mrz 2023 um 14:37
-- Server-Version: 10.4.27-MariaDB
-- PHP-Version: 8.0.25
-- Erstellungszeit: 17. Mrz 2023 um 12:46
-- Server-Version: 10.4.20-MariaDB
-- PHP-Version: 8.0.9
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
START TRANSACTION;
@ -29,11 +29,11 @@ SET time_zone = "+00:00";
CREATE TABLE `jumi_admin` (
`bpmuid` int(11) NOT NULL,
`vorname` varchar(20) NOT NULL DEFAULT '',
`nachname` varchar(20) NOT NULL DEFAULT '',
`mail` varchar(100) NOT NULL,
`uid` varchar(23) NOT NULL DEFAULT '',
`passwort` varchar(32) NOT NULL DEFAULT ''
`vorname` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`nachname` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`mail` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`uid` varchar(23) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`passwort` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT ''
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Benutzer';
--
@ -55,8 +55,8 @@ INSERT INTO `jumi_admin` (`bpmuid`, `vorname`, `nachname`, `mail`, `uid`, `passw
CREATE TABLE `jumi_adminlog` (
`lid` int(11) NOT NULL,
`Datum` datetime NOT NULL,
`IP` varchar(15) NOT NULL DEFAULT '',
`user_agent` varchar(255) NOT NULL,
`IP` varchar(15) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`user_agent` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`bpmuid` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Logins der Anwender';
@ -1405,7 +1405,26 @@ INSERT INTO `jumi_adminlog` (`lid`, `Datum`, `IP`, `user_agent`, `bpmuid`) VALUE
(1335, '2023-03-13 18:29:02', '46.91.131.172', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.69', 3),
(1336, '2023-03-14 06:40:27', '93.235.8.238', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0', 1),
(1337, '2023-03-14 08:21:16', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0', 1),
(1338, '2023-03-14 09:26:08', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0', 1);
(1338, '2023-03-14 09:26:08', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/110.0', 1),
(1339, '2023-03-15 07:55:16', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0', 1),
(1340, '2023-03-16 08:10:16', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1341, '2023-03-16 09:10:56', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0', 1),
(1342, '2023-03-16 09:27:43', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1343, '2023-03-16 09:39:27', '127.0.0.1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0', 1),
(1344, '2023-03-16 13:10:51', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1345, '2023-03-16 13:18:54', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1346, '2023-03-16 13:32:22', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1347, '2023-03-16 13:38:02', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1348, '2023-03-16 13:42:58', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1);
INSERT INTO `jumi_adminlog` (`lid`, `Datum`, `IP`, `user_agent`, `bpmuid`) VALUES
(1349, '2023-03-16 14:44:38', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1350, '2023-03-16 14:52:07', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1351, '2023-03-16 14:57:44', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1352, '2023-03-16 15:10:52', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1353, '2023-03-16 15:37:57', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1354, '2023-03-16 15:40:01', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1355, '2023-03-16 15:46:15', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1),
(1356, '2023-03-16 15:48:15', '::1', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36', 1);
-- --------------------------------------------------------
@ -1426,7 +1445,7 @@ CREATE TABLE `jumi_buchung` (
`lfd_haushalt` int(11) NOT NULL,
`mail` varchar(250) NOT NULL,
`save_date` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Daten für Tabelle `jumi_buchung`
@ -7204,7 +7223,7 @@ CREATE TABLE `jumi_daueranmeldung` (
`vorname` varchar(250) NOT NULL,
`mail` varchar(250) NOT NULL,
`lfd_haushalt` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
@ -7217,7 +7236,7 @@ CREATE TABLE `jumi_parameter` (
`beschreibung` varchar(250) NOT NULL,
`wert` varchar(250) NOT NULL,
`sort` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Daten für Tabelle `jumi_parameter`
@ -7243,7 +7262,7 @@ CREATE TABLE `jumi_qr_fellbach` (
`vorname` varchar(250) NOT NULL,
`qr` varchar(250) NOT NULL,
`mail` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Daten für Tabelle `jumi_qr_fellbach`
@ -7372,7 +7391,7 @@ CREATE TABLE `jumi_standardsitzplatz` (
`vorname` varchar(250) NOT NULL,
`reihe` varchar(50) NOT NULL,
`platz` varchar(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Daten für Tabelle `jumi_standardsitzplatz`
@ -7527,7 +7546,7 @@ CREATE TABLE `jumi_termine` (
`loginstop` datetime NOT NULL,
`hinweis` varchar(250) NOT NULL,
`fellbach_gd` enum('J','N') NOT NULL DEFAULT 'N'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Daten für Tabelle `jumi_termine`
@ -7625,14 +7644,14 @@ CREATE TABLE `jumi_umfragen` (
`headline` varchar(255) NOT NULL,
`uid` int(11) NOT NULL,
`datum_erfasst` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Daten für Tabelle `jumi_umfragen`
--
INSERT INTO `jumi_umfragen` (`umid`, `datum_von`, `datum_bis`, `headline`, `uid`, `datum_erfasst`) VALUES
(2, '2023-03-14 20:00:00', '2023-03-15 10:00:00', 'Umfrage Jugendchorprobe 14.03.2023', 1, '0000-00-00 00:00:00');
(1, '2023-03-17 00:00:00', '2023-03-18 17:30:00', 'Umfrage zur Singstunde 1', 1, '2023-03-17 06:53:51');
-- --------------------------------------------------------
@ -7643,8 +7662,25 @@ INSERT INTO `jumi_umfragen` (`umid`, `datum_von`, `datum_bis`, `headline`, `uid`
CREATE TABLE `jumi_umfragen_antworten` (
`uaid` int(11) NOT NULL,
`ufid` int(11) NOT NULL,
`antwort` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
`antwort` varchar(250) NOT NULL,
`userorder` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Daten für Tabelle `jumi_umfragen_antworten`
--
INSERT INTO `jumi_umfragen_antworten` (`uaid`, `ufid`, `antwort`, `userorder`) VALUES
(1, 1, 'gut', 1),
(2, 1, 'mittel', 2),
(3, 1, 'schlecht', 3),
(4, 1, 'mega', 0),
(5, 1, 'ganz schlecht', 4),
(6, 2, 'ja', 0),
(7, 2, 'nein', 0),
(12, 3, 'ja', 0),
(13, 4, 'ja', 0),
(14, 4, 'nein', 0);
-- --------------------------------------------------------
@ -7655,8 +7691,18 @@ CREATE TABLE `jumi_umfragen_antworten` (
CREATE TABLE `jumi_umfragen_fragen` (
`ufid` int(11) NOT NULL,
`umid` int(11) NOT NULL,
`frage` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
`frage` varchar(255) NOT NULL,
`multiple` enum('0','1') NOT NULL DEFAULT '0' COMMENT '0=Einfachantwort,1=Mehrfachantworten '
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
--
-- Daten für Tabelle `jumi_umfragen_fragen`
--
INSERT INTO `jumi_umfragen_fragen` (`ufid`, `umid`, `frage`, `multiple`) VALUES
(1, 1, 'Wie gefällt euch das Lied \"Wo zwei oder drei\"?', '1'),
(2, 1, 'Gings zu lange', '0'),
(4, 1, 'Treffpunkt Beutelsbach OK', '0');
-- --------------------------------------------------------
@ -7669,7 +7715,7 @@ CREATE TABLE `jumi_verfplaetze` (
`reihe` varchar(50) NOT NULL,
`platz` varchar(1) NOT NULL,
`gesperrt` enum('N','Y') NOT NULL DEFAULT 'N'
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
--
-- Daten für Tabelle `jumi_verfplaetze`
@ -7792,7 +7838,7 @@ CREATE TABLE `jumi_youtube_termine` (
`yid` int(11) NOT NULL,
`datum` datetime NOT NULL,
`url` varchar(250) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
@ -7802,10 +7848,10 @@ CREATE TABLE `jumi_youtube_termine` (
CREATE TABLE `qr_temp` (
`id` int(11) NOT NULL DEFAULT 0,
`nachname` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`vorname` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`qr` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
`mail` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL
`nachname` varchar(250) CHARACTER SET utf8mb4 NOT NULL,
`vorname` varchar(250) CHARACTER SET utf8mb4 NOT NULL,
`qr` varchar(250) CHARACTER SET utf8mb4 NOT NULL,
`mail` varchar(250) CHARACTER SET utf8mb4 NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
--
@ -7966,7 +8012,7 @@ ALTER TABLE `jumi_admin`
-- AUTO_INCREMENT für Tabelle `jumi_adminlog`
--
ALTER TABLE `jumi_adminlog`
MODIFY `lid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1339;
MODIFY `lid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1357;
--
-- AUTO_INCREMENT für Tabelle `jumi_buchung`
@ -8008,19 +8054,19 @@ ALTER TABLE `jumi_termine`
-- AUTO_INCREMENT für Tabelle `jumi_umfragen`
--
ALTER TABLE `jumi_umfragen`
MODIFY `umid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
MODIFY `umid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
--
-- AUTO_INCREMENT für Tabelle `jumi_umfragen_antworten`
--
ALTER TABLE `jumi_umfragen_antworten`
MODIFY `uaid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;
MODIFY `uaid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=15;
--
-- AUTO_INCREMENT für Tabelle `jumi_umfragen_fragen`
--
ALTER TABLE `jumi_umfragen_fragen`
MODIFY `ufid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;
MODIFY `ufid` int(11) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;
--
-- AUTO_INCREMENT für Tabelle `jumi_verfplaetze`

163
survey/index.php Normal file
View File

@ -0,0 +1,163 @@
<?php
## INDEX gegen DB
if(!isset($_SESSION)) { session_start(); }
#$_SESSION['sessionid'] = session_id();
include_once '../classes/TestProjektSmarty.class_subdir.php';
#require_once("../config.inc.php");
require_once("../config/datenbankanbindung.php");
$smarty = new SmartyAdmin();
$templatename = substr(basename($_SERVER['PHP_SELF']),0,-3)."html";
require_once "../language/german.inc.php";
$action = $_GET['action'];
if($action == ''){
$db = dbconnect();
// Datendefinition
$start = (isset($_POST['start'])) ? abs((int)$_POST['start']) : 0;
$ip = $_SERVER["REMOTE_ADDR"];
$limit = 1; // Fragen pro Seite
#############################################################################
$umid=1;
#############################################################################
####################### Speichern der Antworten #############################
if(isset($_POST['save'])){
$frage = $_POST['save'];
$result_multiple = $db->query("SELECT multiple
FROM jumi_umfragen_fragen
WHERE ufid = $frage;");
$row_multiple = $result_multiple->fetch_array();
if($row_multiple['multiple'] == '0'){
echo "Antwort: $_POST[antwort]<br>";
}
if($row_multiple['multiple'] == '1'){
$query = "SELECT uaid
FROM jumi_umfragen_antworten
WHERE ufid = $frage
ORDER BY ufid ASC";
$result = $db->query( $query);
while ($row = $result->fetch_array()){
$antwort = $_POST['antwort_'.$row['uaid']];
if($antwort != ''){
echo "Antwort: $antwort<br>";
}
}
}
}
####################### Ausgabe der Fragen #####################################
$last = floor($total/$limit)*$limit; //Sprungziel zur letzten Seite BSP abrunden(1954/13)*13 ==> 150*13=1950 Sprungmarke auf Zeile 1950, 4 DS werden angezeigt
$akt = round((($start-$limit)/$limit+2),0);
$result0 = $db->query("SELECT headline
FROM jumi_umfragen
WHERE umid = $umid;");
$row0 = $result0->fetch_array();
$smarty->assign('umfrage_headline', $row0['headline']);
$result = $db->query("SELECT count(*)-1 Anz_limit, round(100/count(*)*$akt,1) progress, count(*) total
FROM jumi_umfragen_fragen
WHERE umid = $umid;");
$row = $result->fetch_array();
$smarty->assign('umfrage_progress', $row['progress']);
$total = $row['total'];
#$show = ceil($total/$limit); //Seitenzahlen aufrunden
if(isset($_POST['start'])){
echo "hier|$total|$limit|$start";
$start = ($_POST['start'] >= $total) ? $total - $limit : $start;
}else{
$start = 0;
}
echo"
<hr>
$start
<hr>
";
#echo "$row[Anz_limit]<br>";
// Datenbankabfrage ausführen.
$query = "SELECT ufid, frage, multiple
FROM jumi_umfragen_fragen
WHERE umid = 1
ORDER BY ufid ASC
LIMIT ".$start.",1";
$result = $db->query( $query);
// Ergebnisse lesen und an den Client ausgeben
while ($row = $result->fetch_array()){
$value2 = '';
$query2 = "SELECT uaid, antwort
FROM jumi_umfragen_antworten
WHERE ufid = $row[ufid]
ORDER BY userorder ASC
";
$result2 = $db->query( $query2)
or die ("Cannot execute query2");
$ln2 = 0;
while ($row2 = $result2->fetch_array()){
$inner1[$ln2]['uaid'] = $row2['uaid'];
$inner1[$ln2]['antwort'] = $row2['antwort'];
$value2 = $inner1;
$ln2++;
}
$row['inner'] = $value2;
$table_data[] = $row;
}
$smarty->assign('table_data', $table_data);
#echo"<pre>";
#print_r($table_data);
#echo"</pre>";
// Zurück- und Vorblättern
if ($start > 0){
$newStart = ($start - $limit < 0) ? 0 : ($start-$limit); // wenn $start-$limit kleiner 0 dann $newstart=0 sonst $start-$limit
$smarty->assign('umfrage_start0', "1");
$smarty->assign('umfrage_start_newstart', "$newStart");
}else{
$smarty->assign('umfrage_start0', "2");
}
if ($start + $limit < $total){
$newStart = $start + $limit;
$smarty->assign('umfrage_end0', "1");
$smarty->assign('umfrage_end_newstart', "$newStart");
$smarty->assign('umfrage_end_last', "$last");
}else{
$smarty->assign('umfrage_end0', "2");
}
}
$smarty->assign('action', "$action");
$smarty->display("modern/survey/$templatename");
?>

View File

@ -1,7 +1,7 @@
<html>
<head>
<title>{$titel_head_umfrage}</title>
<link type="text/css" rel="stylesheet" href="../css/styles_refill.css">
<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css">
</head>
<style type='text/css'>

View File

@ -1,420 +1,455 @@
{if $action == ''}
<html>
<head>
<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css">
<link rel="stylesheet" href="../jquery/jquery-ui.css">
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
<script src="../jquery/jquery-1.12.4.js"></script>
<script src="../jquery/jquery-ui.js"></script>
<script src="../jquery/globalize.js"></script>
<script src="../jquery/globalize.culture.de-DE.js"></script>
<script src="../jquery/jquery.mousewheel.js"></script>
<script src="../jquery/jquery.timepicker.min.js"></script>
<style type="text/css">
.spinner {
width: 112px;
height: 15px;
font-size: 12px !important;
}
</style>
<script>
$( function() {
$( ".spinner" ).spinner({
change: function (event, ui) {
<!--calc_erm_78();-->
},
spin: function (event, ui) {
<!--calc_erm_78();-->
},
start: function (event, ui) {
<!--calc_erm_78();-->
},
stop: function (event, ui) {
<!--calc_erm_78();-->
},
step: 1,
numberFormat: "i",
min:0,
decimals:0
});
Globalize.culture( "de-DE" );
} );
<head>
function trackKeys(evnt,regEx) {
var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which;
return !!String.fromCharCode(keyCode).match(regEx);
<link rel="stylesheet" href="../jquery/jquery-ui.css">
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
<script src="../jquery/jquery-1.12.4.js"></script>
<script src="../jquery/jquery-ui.js"></script>
<script src="../jquery/globalize.js"></script>
<script src="../jquery/globalize.culture.de-DE.js"></script>
<script src="../jquery/jquery.mousewheel.js"></script>
<script src="../jquery/jquery.timepicker.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css">
<style type="text/css">
.spinner {
width: 112px;
height: 15px;
font-size: 12px !important;
}
//-->
</script>
<script type="text/javascript">
$(function() {
$(".datepicker").datepicker({
prevText: '&#x3c; zur&uuml;ck', prevStatus: '',
prevJumpText: '&#x3c;&#x3c;', prevJumpStatus: '',
changeMonth: true,
changeYear: true,
nextText: 'Vor &#x3e;', nextStatus: '',
nextJumpText: '&#x3e;&#x3e;', nextJumpStatus: '',
currentText: 'Heute', currentStatus: '',
todayText: 'Heute', todayStatus: '',
clearText: '-', clearStatus: '',
closeText: 'schlie&szlig;en', closeStatus: '',
monthNames: ['Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','M&auml;r','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
weekHeader: 'Wo',
weekStatus: 'Woche des Monats',
showMonthAfterYear: false,
showOn: 'focus',
firstDay: 1,
numberOfMonths : 1,
yearRange: "c-5:+5",
showButtonPanel : true,
altField : "#datepicker_input",
dateFormat : "dd.mm.yy",
showWeek: true
});
$.datepicker._gotoToday = function(id) {
$(id).datepicker('setDate', new Date()).datepicker('hide').blur();
}
</style>
<script>
$( function() {
$( ".spinner" ).spinner({
change: function (event, ui) {
<!--calc_erm_78();-->
},
spin: function (event, ui) {
<!--calc_erm_78();-->
},
start: function (event, ui) {
<!--calc_erm_78();-->
},
stop: function (event, ui) {
<!--calc_erm_78();-->
},
step: 1,
numberFormat: "i",
min:0,
decimals:0
});
Globalize.culture( "de-DE" );
} );
});
</script>
function trackKeys(evnt,regEx) {
var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which;
return !!String.fromCharCode(keyCode).match(regEx);
}
//-->
</script>
<script type="text/javascript">
$(function() {
$(".datepicker").datepicker({
prevText: '&#x3c; zur&uuml;ck', prevStatus: '',
prevJumpText: '&#x3c;&#x3c;', prevJumpStatus: '',
changeMonth: true,
changeYear: true,
nextText: 'Vor &#x3e;', nextStatus: '',
nextJumpText: '&#x3e;&#x3e;', nextJumpStatus: '',
currentText: 'Heute', currentStatus: '',
todayText: 'Heute', todayStatus: '',
clearText: '-', clearStatus: '',
closeText: 'schlie&szlig;en', closeStatus: '',
monthNames: ['Januar','Februar','M&auml;rz','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','M&auml;r','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
weekHeader: 'Wo',
weekStatus: 'Woche des Monats',
showMonthAfterYear: false,
showOn: 'focus',
firstDay: 1,
numberOfMonths : 1,
yearRange: "c-5:+5",
showButtonPanel : true,
altField : "#datepicker_input",
dateFormat : "dd.mm.yy",
showWeek: true
});
$.datepicker._gotoToday = function(id) {
$(id).datepicker('setDate', new Date()).datepicker('hide').blur();
}
<script type="text/javascript">
$(document).ready(function(){
$('input.timepicker').timepicker({
timeFormat: 'HH:mm',
interval: 30,
minTime: '00:00',
maxTime: '23:00',
startTime: '0',
dynamic: false,
dropdown: true,
scrollbar: true
});
});
</script>
<style>
.StandardTable thead th{
background: lightgray;
border: 1px solid #656565;
font-size:12px;
font-family:Arial;
padding-top:5px;
padding-bottom:5px;
padding-left:5px;
padding-right:5px;
}
textarea{
border: 1px solid #888;
height: 6.7em;
width: 48.5em;
}
select{
width:630px;
}
</style>
</head>
<body>
<form action="?action=fragen" method='post' name='erfassen'>
{if $umfrageerf_error == '1'}
<table width="70%" class="errorTable" align="center">
<tr>
<td>
<img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif">
</td>
<td><b>Achtung!</b><br>
{$umfrageerf_error_text}
</td>
</tr>
</table>
<br />
{/if}
<fieldset>
<legend>
<b>Zeitraum der Umfrage und Bezeichnung</b>
</legend>
<br />
<br />
<table cellspacing="0" cellpadding="0" width="100%" border="0" class="StandardTable">
</script>
<script type="text/javascript">
$(document).ready(function(){
$('input.timepicker').timepicker({
timeFormat: 'HH:mm',
interval: 30,
minTime: '00:00',
maxTime: '23:00',
startTime: '0',
dynamic: false,
dropdown: true,
scrollbar: true
});
});
</script>
<style>
.StandardTable thead th{
background: lightgray;
border: 1px solid #656565;
font-size:12px;
font-family:Arial;
padding-top:5px;
padding-bottom:5px;
padding-left:5px;
padding-right:5px;
}
textarea{
border: 1px solid #888;
height: 6.7em;
width: 48.5em;
}
select{
width:630px;
}
.form-control{
width:50%;
}
</style>
</head>
<body>
<form action="?action=fragen" method='post' name='erfassen'>
{if $umfrageerf_error == '1'}
<table width="70%" class="errorTable" align="center">
<tr>
<td width="30%">
Link verfügbar ab Datum:
</td>
<td>
<input type="text" class="datepicker" name="datumvon" id="datumvon" value="{$umfrageerf_value_datumvon}">
</td>
<td>
<img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif">
</td>
<td><b>Achtung!</b><br>
{$umfrageerf_error_text}
</td>
</tr>
<tr>
<td width="30%">&nbsp;
</td>
<td>&nbsp;
</td>
<tr>
<tr>
<td width="30%">
Link verfügbar ab Uhrzeit:
</td>
<td>
<input type="text" class="timepicker" name="zeitvon" id="zeitvon" value="{$umfrageerf_value_zeitvon}" onKeypress="return trackKeys(event,/[0-9,:]/);">
</td>
</tr>
<tr>
<td width="30%">&nbsp;
</td>
<td>&nbsp;
</td>
</tr>
<tr>
<td width="30%">
Link verfügbar bis Datum:
</td>
<td>
<input type="text" class="datepicker" name="datumbis" id="datumbis" value="{$umfrageerf_value_datumbis}">
</td>
</tr>
<tr>
<td width="30%">&nbsp;
</td>
<td>&nbsp;
</td>
<tr>
<tr>
<td width="30%">
Link verfügbar bis Uhrzeit:
</td>
<td>
<input type="text" class="timepicker" name="zeitbis" id="zeitbis" value="{$umfrageerf_value_zeitbis}" onKeypress="return trackKeys(event,/[0-9,:]/);">
</td>
</tr>
<tr>
<td width="30%">&nbsp;
</td>
<td>&nbsp;
</td>
</tr>
<tr>
<td>
Headline der Umfrage:
</td>
<td valign="top">
<input type="text" name="headline" id="headline" value="{$umfrageerf_value_headline}" size="60">
</td>
</tr>
<tr>
<td>&nbsp;
</td>
<td>&nbsp;
</td>
</tr>
</table>
<br />
<p align='center'>
<input type='submit' name='senden' value="Weiter - Fragen erfassen">
</p>
<br />
</fieldset>
</form>
</body>
</table>
<br />
{/if}
<fieldset>
<legend>
<b>Zeitraum der Umfrage und Bezeichnung</b>
</legend>
<br />
<br />
<table cellspacing="0" cellpadding="0" width="100%" border="0" class="StandardTable">
<tr>
<td width="30%">
Link verfügbar ab Datum:
</td>
<td>
<input type="text" class="datepicker form-control" name="datumvon" id="datumvon" value="{$umfrageerf_value_datumvon}">
</td>
</tr>
<tr>
<td width="30%">&nbsp;
</td>
<td>&nbsp;
</td>
<tr>
<tr>
<td width="30%">
Link verfügbar ab Uhrzeit:
</td>
<td>
<input type="text" class="timepicker form-control" name="zeitvon" id="zeitvon" value="{$umfrageerf_value_zeitvon}" onKeypress="return trackKeys(event,/[0-9,:]/);">
</td>
</tr>
<tr>
<td width="30%">&nbsp;
</td>
<td>&nbsp;
</td>
</tr>
<tr>
<td width="30%">
Link verfügbar bis Datum:
</td>
<td>
<input type="text" class="datepicker form-control" name="datumbis" id="datumbis" value="{$umfrageerf_value_datumbis}">
</td>
</tr>
<tr>
<td width="30%">&nbsp;
</td>
<td>&nbsp;
</td>
<tr>
<tr>
<td width="30%">
Link verfügbar bis Uhrzeit:
</td>
<td>
<input type="text" class="timepicker form-control" name="zeitbis" id="zeitbis" value="{$umfrageerf_value_zeitbis}" onKeypress="return trackKeys(event,/[0-9,:]/);">
</td>
</tr>
<tr>
<td width="30%">&nbsp;
</td>
<td>&nbsp;
</td>
</tr>
<tr>
<td>
Headline der Umfrage:
</td>
<td valign="top">
<input class="form-control" type="text" name="headline" id="headline" value="{$umfrageerf_value_headline}" size="60">
</td>
</tr>
<tr>
<td>&nbsp;
</td>
<td>&nbsp;
</td>
</tr>
</table>
<br />
<p align='center'>
<input type='submit' class="btn btn-primary" name='senden' value="Weiter - Fragen erfassen">
</p>
<br />
</fieldset>
</form>
</body>
</html>
{/if}
{if $action == 'fragen'}
<html>
<head>
<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css">
<head>
<meta charset="utf-8">
<meta name="description" content="Scrollable tab for Bootstrap 5">
<meta name="keywords" content="Bootstrap, Bootstrap 5, Tabs">
<meta name="author" content="Federico Navarrete">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
.StandardTable thead th{
background: lightgray;
border: 1px solid #656565;
font-size:12px;
font-family:Arial;
padding-top:5px;
padding-bottom:5px;
padding-left:5px;
padding-right:5px;
}
textarea{
border: 1px solid #888;
height: 6.7em;
width: 48.5em;
}
select{
width:630px;
}
</style>
</head>
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
<script src="../jquery/jquery-1.12.4.js"></script>
<!-- jQuery UI CSS
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"></script>
-->
<script src="../jquery/jquery-ui.js"></script>
<script type="text/javascript">
{literal}
<body>
<form action="?action=save" method='post' name='erfassen'>
{if $umfrageerf_error == '1'}
<table width="70%" class="errorTable" align="center">
<tr>
<td>
<img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif">
</td>
<td><b>Achtung!</b><br>
{$umfrageerf_error_text}
</td>
</tr>
</table>
<br />
{/if}
<fieldset>
<legend>
<b>Frage & Antworten erfassen</b>
</legend>
<br />
<br />
<table cellspacing="0" cellpadding="0" width="100%" border="0" class="StandardTable">
$(document).ready(function() {
//Helper function to keep table row from collapsing when being sorted
var fixHelperModified = function(e, tr) {
var $originals = tr.children();
var $helper = tr.clone();
$helper.children().each(function(index)
{
$(this).width($originals.eq(index).width())
});
return $helper;
};
//Make diagnosis table sortable
$("#sortable tbody").sortable({
helper: fixHelperModified,
stop: function(event,ui) {
renumber_table('#sortable')
var order = $('#sortable tbody').sortable('toArray', { attribute: 'data-sort-id'});
console.log(order.join(','));
sortOrder = order.join(',');
$.post(
'../controller/reihenfolge.ajax.php',
{'action':'updateSortedRows','sortOrder':sortOrder},
function(data){
var a = data.split('|***|');
if(a[1]=="update"){
$('#msg').show().delay(1000).fadeOut(500);
$('#msg').html(a[0]);
}
}
);
}
}).disableSelection();
});
//Renumber table rows
function renumber_table(tableID) {
$(tableID + " tr").each(function() {
count = $(this).parent().children().index($(this)) + 1;
$(this).find('.priority').html(count);
});
}
{/literal}
</script>
<style type="text/css">
.ui-sortable tr {
cursor:pointer;
}
.ui-sortable tr:hover {
background:rgba(244,251,17,0.45);
}
</style>
<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css">
<style>
.StandardTable thead th{
background: lightgray;
border: 1px solid #656565;
font-size:12px;
font-family:Arial;
padding-top:5px;
padding-bottom:5px;
padding-left:5px;
padding-right:5px;
}
textarea{
border: 1px solid #888;
height: 6.7em;
width: 48.5em;
}
select{
width:630px;
}
.form-control{
width:50%;
}
</style>
</head>
<body onload="if(document.erfassen)document.erfassen.{$umfrageerf_focus}.focus();return false;">
<!--Anwendung-->
<script src="../js/components/admin_erfassen.js"></script>
<form action="?action=save" method='post' name='erfassen'>
{if $umfrageerf_error == '1'}
<table width="70%" class="errorTable" align="center">
<tr>
<td>
Frage:
</td>
<td valign="top">
<input type="text" name="frage" id="frage" value="{$umfrageerf_value_frage}" size="60">
</td>
<td>
<img src="../templates/{$global_template}/images/pflichtfelder/achtung_gross.gif">
</td>
<td><b>Achtung!</b><br>
{$umfrageerf_error_text}
</td>
</tr>
<tr>
<td>&nbsp;
</td>
<td>&nbsp;
</td>
</tr>
<tr>
<td>
Antwort:
</td>
<td valign="top">
<input type="text" name="antwort" id="antwort" value="{$umfrageerf_value_antwort}" size="60">
</td>
</tr>
</table>
<br />
<p align='center'>
<input type='submit' name='senden' value="Speichern">
</p>
<br />
</fieldset>
<br>
<br>
<fieldset>
<legend>
<b> Vorschau der Frage</b>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="description" content="Scrollable tab for Bootstrap 5">
<meta name="keywords" content="Bootstrap, Bootstrap 5, Tabs">
<meta name="author" content="Federico Navarrete">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Scrollable Tabs Bootstrap 5</title>
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
</head>
<body>
<div class="w-100 pt-3">
<div class="scroller scroller-left float-start mt-2"><i class="bi bi-caret-left-fill"></i></div>
<div class="scroller scroller-right float-end mt-2"><i class="bi bi-caret-right-fill"></i></div>
<div class="wrapper-nav">
<nav class="nav nav-tabs list mt-2" id="myTab" role="tablist">
<a class="nav-item nav-link pointer active" data-bs-toggle="tab" data-bs-target="#tab1" role="tab" aria-controls="public" aria-selected="true">Tab1</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab2" role="tab" data-bs-toggle="tab">Tab 2</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab3" role="tab" data-bs-toggle="tab">Tab 3</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab4" role="tab" data-bs-toggle="tab">Tab 4</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab5" role="tab" data-bs-toggle="tab">Tab 5</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab6" role="tab" data-bs-toggle="tab">Tab 6</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab7" role="tab" data-bs-toggle="tab">Tab 7</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab8" role="tab" data-bs-toggle="tab">Tab 8</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab9" role="tab" data-bs-toggle="tab">Tab 9</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab10" role="tab" data-bs-toggle="tab">Tab 10</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab11" role="tab" data-bs-toggle="tab">Tab 11</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab12" role="tab" data-bs-toggle="tab">Tab 12</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab13" role="tab" data-bs-toggle="tab">Tab 13</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab14" role="tab" data-bs-toggle="tab">Tab 14</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab15" role="tab" data-bs-toggle="tab">Tab 15</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab16" role="tab" data-bs-toggle="tab">Tab 16</a>
</nav>
</div>
<div class="tab-content p-3" id="myTabContent">
<div role="tabpanel" class="tab-pane fade active show mt-2" id="tab1" aria-labelledby="public-tab" >
This is the content of Tab 1...
</div>
<div class="tab-pane fade mt-2" id="tab2" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 2...
</div>
<div class="tab-pane fade mt-2" id="tab3" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 3...
</div>
<div class="tab-pane fade mt-2" id="tab4" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 4...
</div>
<div class="tab-pane fade mt-2" id="tab5" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 5...
</div>
<div class="tab-pane fade mt-2" id="tab6" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 6...
</div>
<div class="tab-pane fade mt-2" id="tab7" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 7...
</div>
<div class="tab-pane fade mt-2" id="tab8" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 8...
</div>
<div class="tab-pane fade mt-2" id="tab9" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 9...
</div>
<div class="tab-pane fade mt-2" id="tab10" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 10...
</div>
<div class="tab-pane fade mt-2" id="tab11" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 11...
</div>
<div class="tab-pane fade mt-2" id="tab12" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 12...
</div>
<div class="tab-pane fade mt-2" id="tab13" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 13...
</div>
<div class="tab-pane fade mt-2" id="tab14" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 14...
</div>
<div class="tab-pane fade mt-2" id="tab15" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 15...
</div>
<div class="tab-pane fade mt-2" id="tab16" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
This is the content of Tab 16...
</div>
</div>
</div>
<script src="../bootstrap/node_modules/move-js/move.js"></script>
<link href="../bootstrap/dist/scrollable-tabs.min.css" rel="stylesheet">
<script src="../bootstrap/dist/scrollable-tabs.min.js"></script>
</body>
</table>
<br />
{/if}
<fieldset>
<legend>
<b>Frage & Antworten erfassen</b>
</legend>
<br />
<br />
<table cellspacing="0" cellpadding="0" width="100%" border="0" class="StandardTable">
<tr>
<td>
Frage:
</td>
<td valign="top">
<input class="form-control" type="text" name="frage" id="frage" value="{$umfrageerf_value_frage}" size="60">
</td>
</tr>
<tr>
<td>&nbsp;
</td>
<td>&nbsp;
</td>
</tr>
<tr>
<td>
Antwort:
</td>
<td valign="top">
<input class="form-control" type="text" name="antwort" id="antwort" value="{$umfrageerf_value_antwort}" size="60">
</td>
</tr>
</table>
<br />
<p align='center'>
<input type='submit' class="btn btn-primary" name='senden' value="Speichern">
</p>
<br />
</fieldset>
<br>
<br>
<fieldset>
<legend>
<b>Vorschau der Fragen</b>
</legend>
<div class="w-100 pt-3">
<div class="scroller scroller-left float-start mt-2"><i class="bi bi-caret-left-fill"></i></div>
<div class="scroller scroller-right float-end mt-2"><i class="bi bi-caret-right-fill"></i></div>
<div class="wrapper-nav">
<nav class="nav nav-tabs list mt-2" id="myTab" role="tablist">
{section name=table_data1 loop=$table_data1}
<a {if $table_data1[table_data1].ufid == $umfrageerf_gesp_werte_value_ufid2} class="nav-item nav-link pointer active" {else} class="nav-item nav-link pointer" {/if} data-bs-target="#tab{$table_data1[table_data1].ufid}" href="?action=fragen&tabufid={$table_data1[table_data1].ufid}"role="tab" aria-controls="public" {if $smarty.section.table_data1.rownum == $umfrageerf_gesp_werte_value_ufid2} aria-selected="true" {/if}>Frage {$smarty.section.table_data1.rownum}</a>
<!--
<a class="nav-item nav-link pointer active" data-bs-toggle="tab" data-bs-target="#tab1" role="tab" aria-controls="public" aria-selected="true">Tab1</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab2" role="tab" data-bs-toggle="tab">Tab 2</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab3" role="tab" data-bs-toggle="tab">Tab 3</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab4" role="tab" data-bs-toggle="tab">Tab 4</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab5" role="tab" data-bs-toggle="tab">Tab 5</a>
<a class="nav-item nav-link pointer" data-bs-target="#tab6" role="tab" data-bs-toggle="tab">Tab 6</a>
-->
{/section}
<a class="nav-item nav-link pointer" data-bs-target="#neuefrage" href="?action=fragen&tabufid=neuefrage" role="tab">Neue Frage</a>
</nav>
</div>
<div class="tab-content p-3" id="myTabContent">
<div role="tabpanel" class="tab-pane fade active show mt-2" id="tab{$umfrageerf_gesp_werte_value_ufid2}" aria-labelledby="public-tab" >
<h2>{$umfrageerf_value_frage}</h2>
<br>
{if $table_data2_anz > 0}
<table class="table" id="sortable">
<thead>
<tr>
<th>Sortierung</th>
<th>Antwortmöglichkeit</th>
<th>Löschen</th>
</tr>
</thead>
<tbody id="tb">
{section name=table_data2 loop=$table_data2}
<tr data-sort-id="{$table_data2[table_data2].uaid}">
<td valign="middle" class="priority">{$smarty.section.table_data2.rownum}</td>
<td valign="middle">{$table_data2[table_data2].antwort}</td>
<td valign="middle"><button class="btn btn-delete btn-danger" onclick="onClickDelete({$table_data2[table_data2].uaid})">Löschen</button></td>
</tr>
{/section}
</table>
<div id="msg"></div>
</form>
<p align='center'><button class="btn btn-delete btn-danger" onclick="onClickDeleteQuestion({$umfrageerf_value_ufid})">Frage Löschen</button></p>
{/if}
</div>
<div class="tab-pane fade mt-2" id="neuefrage" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
</div>
</div>
</div>
<script src="../bootstrap/node_modules/move-js/move.js"></script>
<link href="../bootstrap/dist/scrollable-tabs.min.css" rel="stylesheet">
<script src="../bootstrap/dist/scrollable-tabs.min.js"></script>
</body>
</html>
</legend>
</form>
</body>
</body>
</html>
{/if}

View File

@ -1,7 +1,7 @@
<html>
<head>
<title>Youtube Links</title>
<link type="text/css" rel="stylesheet" href="../css/styles_refill.css">
<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css">
</head>

View File

@ -6,28 +6,9 @@
<link type="text/css" rel="stylesheet" href="../templates/{$global_template}/css/styles_refill.css">
<script type="text/javascript" src="../ajaxtabs/ajaxtabs.js">
/***********************************************
* Ajax Tabs Content script v2.2- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
***********************************************/
</script>
</head>
<style type="text/css">
body {
background-image: url("templates/{$global_template}/images/backgr/ground.png");
background-repeat: repeat-x;
background-position: left -1614px;
}
</style>
<body>
<table width="100%" cellpadding="0" cellspacing="0" border="0">

View File

@ -0,0 +1,161 @@
<!doctype html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Umfrage</title>
<!-- https://www.budde-mediendesign.de/blog/programmierung/das-bootstrap-4-grid-system-->
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<!--
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">
-->
<style type="text/css">
body {
background-color : #FFF;
}
.headline {
padding-top: 10px;
padding-bottom: 10px;
padding-left: 20px;
}
.question {
padding-top: 10px;
padding-bottom: 1px;
padding-left: 10px;
border-top-left-radius: 10px;
border-top-right-radius: 10px;
border-bottom-right-radius: 10px;
border-bottom-left-radius: 10px;
color: #FFF;
background-color: #35B6BB;
}
.answer {
padding-top: 20px;
padding-bottom: 20px;
padding-left: 20px;
}
.prog-col {
background-color: #35B6BB;
}
.btn-outline-primary{
--bs-btn-color: #0D7377;
--bs-btn-border-color: #0D7377;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #0D7377;
--bs-btn-hover-border-color: #0D7377;
--bs-btn-focus-shadow-rgb: 13, 110, 253;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #0D7377;
--bs-btn-active-border-color: #0D7377;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #0D7377;
--bs-btn-disabled-bg: transparent;
--bs-btn-disabled-border-color: #0D7377;
--bs-gradient: none;
background-color: #F8F9F9;
}
.btn-group-vertical > .btn{
margin-bottom:20px;
border-radius:20px !important;
}
.btn-group > .btn{
margin-bottom:20px;
border-radius:20px !important;
}
.btn-primary {
--bs-btn-color: #fff;
--bs-btn-bg: #0D7377;
--bs-btn-border-color: #0D7377;
--bs-btn-hover-color: #fff;
--bs-btn-hover-bg: #35B6BB;
--bs-btn-hover-border-color: #0BA7AD;
--bs-btn-focus-shadow-rgb: 49, 132, 253;
--bs-btn-active-color: #fff;
--bs-btn-active-bg: #0BA7AD;
--bs-btn-active-border-color: #0a53be;
--bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
--bs-btn-disabled-color: #fff;
--bs-btn-disabled-bg: #0D7377;
--bs-btn-disabled-border-color: #0D7377;
}
.smaller{
font-size: 0.6em;
}
</style>
</head>
<body >
<!-- hier kommt der Inhalt der Seite hin -->
<div class="container">
<div class="progress" style="height: 5px;">
<div class="progress-bar prog-col" role="progressbar" style="width:{$umfrage_progress}%" aria-valuenow="{$umfrage_progress}" aria-valuemin="0" aria-valuemax="100"></div>
</div>
<div class="grid">
<div class="headline col-12 bg-white">
<h2>
<p class="text-center">{$umfrage_headline}</p>
</h2>
</div>
<form action="" method='post' name='erfassen'>
{section name=table_data loop=$table_data}
<div class="question col-12 ">
<h4>
<p class="text-center">{$table_data[table_data].frage}</p>
</h4>
{if $table_data[table_data].multiple == '1'}<p class="text-center small">Mehrfachantworten möglich</p>{/if}
</div>
<br>
<div class="col-12 btn-group-vertical btn-toolbar" role="group" aria-label="Basic radio toggle button group">
{section name=inner loop=$table_data[table_data].inner}
{if $table_data[table_data].multiple == '0'}
<input value="{$table_data[table_data].inner[inner].uaid}" type="radio" class="btn-check" name="antwort" id="btnradio{$smarty.section.inner.rownum}" autocomplete="off">
{else}
<input value="{$table_data[table_data].inner[inner].uaid}" type="checkbox" class="btn-check" name="antwort_{$table_data[table_data].inner[inner].uaid}" id="btnradio{$smarty.section.inner.rownum}" autocomplete="off">
{/if}
<label class="answer btn btn-outline-primary" for="btnradio{$smarty.section.inner.rownum}">{$table_data[table_data].inner[inner].antwort}</label>
{/section}
</div>
<div class="col-12 btn-group">
{if $umfrage_start0 == '1'}
<!--<a href="?start={$umfrage_start_newstart}" class="btn btn-light">Zurück</a>-->
<input type="hidden" name="start" value="{$umfrage_start_newstart}">
<input type='submit' class="btn btn-light" name='senden' value="Zurück">
{/if}
{if $umfrage_start0 == '2'}
<a disabled class="btn btn-light">Zurück</a>
{/if}
{if $umfrage_end0 == '1'}
<!--<a href="?start={$umfrage_end_newstart}&save={$table_data[table_data].ufid}" class="btn btn-primary">Weiter</a>-->
<input type="hidden" name="start" value="{$umfrage_end_newstart}">
<input type="hidden" name="save" value="{$table_data[table_data].ufid}">
<input type='submit' class="btn btn-primary" name='senden' value="Weiter">
{/if}
{if $umfrage_end0 == '2'}
<!--<a href="?start={$umfrage_end_newstart}&save={$table_data[table_data].ufid}&exit=1" class="btn btn-primary">Umfrage beenden</a>-->
<input type="hidden" name="start" value="{$umfrage_end_newstart}">
<input type="hidden" name="save" value="{$table_data[table_data].ufid}">
<input type="hidden" name="exit" value="1">
<input type='submit' class="btn btn-primary" name='senden' value="Umfrage beenden">
{/if}
</div>
{/section}
</div>
</form>
</div>
<!--
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-a5N7Y/aK3qNeh15eJKGWxsqtnX/wWdSZSKp+81YjTmS15nvnvxKHuzaWwXHDli+4" crossorigin="anonymous"></script>
-->
<script src="../jquery/jquery-3.4.1.min.js"></script>
<script src="../bootstrap/node_modules/@popperjs/core/dist/umd/popper.min.js"></script>
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>