Dashboard weiter ausgebaut

This commit is contained in:
aschwarz 2023-03-23 14:30:30 +01:00
parent 8ab6cd63e9
commit ec8b611c93
54 changed files with 2132 additions and 831 deletions

View File

@ -5,6 +5,7 @@
{
$db = @new mysqli( 'localhost', 'root', '', 'survey' );
$db->query("set sql_mode = 'ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'");
$db->set_charset('utf8mb4');
$db->query("SET NAMES 'utf8mb4'");
return $db;

26
controller/admin_edit.php Normal file
View File

@ -0,0 +1,26 @@
<?php
require_once("../config.inc.php");
$function = $_POST['function'];
if ($function == 'deleteSurvey') {
$umid = $_POST['id'];
$stmt1 = $db->query("DELETE FROM jumi_umfragen_erg_freitext WHERE umid = $umid");
$stmt2 = $db->query("DELETE FROM jumi_umfragen_ende WHERE umid = $umid");
$stmt4 = $db->query("DELETE FROM jumi_umfragen_ergebnisse WHERE ufid IN (SELECT ufid FROM jumi_umfragen_fragen WHERE umid = $umid)");
$stmt4 = $db->query("DELETE FROM jumi_umfragen_antworten WHERE ufid IN (SELECT ufid FROM jumi_umfragen_fragen WHERE umid = $umid)");
$stmt5 = $db->query("DELETE FROM jumi_umfragen_fragen WHERE umid = $umid");
$stmt6 = $db->query("DELETE FROM jumi_umfragen WHERE umid = $umid");
if ($stmt1 and $stmt2 and $stmt3 and $stmt4 and $stmt5 and $stmt6) {
echo "Success";
} else {
echo "Nicht geklappt";
}
}
?>

View File

@ -130,9 +130,9 @@ if ($function == 'deleteQuestion') {
if ($stmt1 and $stmt2) {
echo "DELETE FROM jumi_umfragen_antworten WHERE ufid = $id2 | DELETE FROM jumi_umfragen_fragen WHERE ufid = $id2";
echo "Success";
} else {
echo "Nicht geklappt";
echo "Error";
}
}

View File

@ -0,0 +1,37 @@
<?php
require_once("../config.inc.php");
$function = $_POST['function'];
if ($function == 'saveParameter') {
$query2 = "SELECT pid
FROM jumi_parameter
ORDER BY pid ASC";
$result2 = $db->query( $query2)
or die ("Cannot execute query2");
while ($row2 = $result2->fetch_array()){
$pid = $row2['pid'];
$pid_value = $_POST[$pid];
$sql1 = $db->query( "UPDATE jumi_parameter
SET wert = '$pid_value'
WHERE pid = $pid
" );
}
if(!$sql1){
echo "Success";
}else{
echo "Error: PDATE jumi_parameter
SET wert = '$pid_value'
WHERE pid = $pid";
}
}
?>

View File

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>404 Error - SB Admin</title>
<link href="css/styles.css" rel="stylesheet" />
<script src="https://use.fontawesome.com/releases/v6.3.0/js/all.js" crossorigin="anonymous"></script>
</head>
<body>
<div id="layoutError">
<div id="layoutError_content">
<main>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-6">
<div class="text-center mt-4">
<h1 class="display-1">401</h1>
<p class="lead">Unauthorized</p>
<p>Access to this resource is denied.</p>
<a href="index.html">
<i class="fas fa-arrow-left me-1"></i>
Return to Dashboard
</a>
</div>
</div>
</div>
</div>
</main>
</div>
<div id="layoutError_footer">
<footer class="py-4 bg-light mt-auto">
<div class="container-fluid px-4">
<div class="d-flex align-items-center justify-content-between small">
<div class="text-muted">Copyright &copy; Your Website 2023</div>
<div>
<a href="#">Privacy Policy</a>
&middot;
<a href="#">Terms &amp; Conditions</a>
</div>
</div>
</div>
</footer>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="js/scripts.js"></script>
</body>
</html>

View File

@ -1,52 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>404 Error - SB Admin</title>
<link href="css/styles.css" rel="stylesheet" />
<script src="https://use.fontawesome.com/releases/v6.3.0/js/all.js" crossorigin="anonymous"></script>
</head>
<body>
<div id="layoutError">
<div id="layoutError_content">
<main>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-6">
<div class="text-center mt-4">
<h1 class="display-1">401</h1>
<p class="lead">Unauthorized</p>
<p>Access to this resource is denied.</p>
<a href="index.html">
<i class="fas fa-arrow-left me-1"></i>
Return to Dashboard
</a>
</div>
</div>
</div>
</div>
</main>
</div>
<div id="layoutError_footer">
<footer class="py-4 bg-light mt-auto">
<div class="container-fluid px-4">
<div class="d-flex align-items-center justify-content-between small">
<div class="text-muted">Copyright &copy; Your Website 2023</div>
<div>
<a href="#">Privacy Policy</a>
&middot;
<a href="#">Terms &amp; Conditions</a>
</div>
</div>
</div>
</footer>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="js/scripts.js"></script>
</body>
</html>

View File

@ -1,51 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>404 Error - SB Admin</title>
<link href="css/styles.css" rel="stylesheet" />
<script src="https://use.fontawesome.com/releases/v6.3.0/js/all.js" crossorigin="anonymous"></script>
</head>
<body>
<div id="layoutError">
<div id="layoutError_content">
<main>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-6">
<div class="text-center mt-4">
<img class="mb-4 img-error" src="assets/img/error-404-monochrome.svg" />
<p class="lead">This requested URL was not found on this server.</p>
<a href="index.html">
<i class="fas fa-arrow-left me-1"></i>
Return to Dashboard
</a>
</div>
</div>
</div>
</div>
</main>
</div>
<div id="layoutError_footer">
<footer class="py-4 bg-light mt-auto">
<div class="container-fluid px-4">
<div class="d-flex align-items-center justify-content-between small">
<div class="text-muted">Copyright &copy; Your Website 2023</div>
<div>
<a href="#">Privacy Policy</a>
&middot;
<a href="#">Terms &amp; Conditions</a>
</div>
</div>
</div>
</footer>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="js/scripts.js"></script>
</body>
</html>

View File

@ -1,51 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>404 Error - SB Admin</title>
<link href="css/styles.css" rel="stylesheet" />
<script src="https://use.fontawesome.com/releases/v6.3.0/js/all.js" crossorigin="anonymous"></script>
</head>
<body>
<div id="layoutError">
<div id="layoutError_content">
<main>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-6">
<div class="text-center mt-4">
<img class="mb-4 img-error" src="assets/img/error-404-monochrome.svg" />
<p class="lead">This requested URL was not found on this server.</p>
<a href="index.html">
<i class="fas fa-arrow-left me-1"></i>
Return to Dashboard
</a>
</div>
</div>
</div>
</div>
</main>
</div>
<div id="layoutError_footer">
<footer class="py-4 bg-light mt-auto">
<div class="container-fluid px-4">
<div class="d-flex align-items-center justify-content-between small">
<div class="text-muted">Copyright &copy; Your Website 2023</div>
<div>
<a href="#">Privacy Policy</a>
&middot;
<a href="#">Terms &amp; Conditions</a>
</div>
</div>
</div>
</footer>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="js/scripts.js"></script>
</body>
</html>

View File

@ -1,51 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>404 Error - SB Admin</title>
<link href="css/styles.css" rel="stylesheet" />
<script src="https://use.fontawesome.com/releases/v6.3.0/js/all.js" crossorigin="anonymous"></script>
</head>
<body>
<div id="layoutError">
<div id="layoutError_content">
<main>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-6">
<div class="text-center mt-4">
<h1 class="display-1">500</h1>
<p class="lead">Internal Server Error</p>
<a href="index.html">
<i class="fas fa-arrow-left me-1"></i>
Return to Dashboard
</a>
</div>
</div>
</div>
</div>
</main>
</div>
<div id="layoutError_footer">
<footer class="py-4 bg-light mt-auto">
<div class="container-fluid px-4">
<div class="d-flex align-items-center justify-content-between small">
<div class="text-muted">Copyright &copy; Your Website 2023</div>
<div>
<a href="#">Privacy Policy</a>
&middot;
<a href="#">Terms &amp; Conditions</a>
</div>
</div>
</div>
</footer>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="js/scripts.js"></script>
</body>
</html>

View File

@ -1,51 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>404 Error - SB Admin</title>
<link href="css/styles.css" rel="stylesheet" />
<script src="https://use.fontawesome.com/releases/v6.3.0/js/all.js" crossorigin="anonymous"></script>
</head>
<body>
<div id="layoutError">
<div id="layoutError_content">
<main>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-6">
<div class="text-center mt-4">
<h1 class="display-1">500</h1>
<p class="lead">Internal Server Error</p>
<a href="index.html">
<i class="fas fa-arrow-left me-1"></i>
Return to Dashboard
</a>
</div>
</div>
</div>
</div>
</main>
</div>
<div id="layoutError_footer">
<footer class="py-4 bg-light mt-auto">
<div class="container-fluid px-4">
<div class="d-flex align-items-center justify-content-between small">
<div class="text-muted">Copyright &copy; Your Website 2023</div>
<div>
<a href="#">Privacy Policy</a>
&middot;
<a href="#">Terms &amp; Conditions</a>
</div>
</div>
</div>
</footer>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>
<script src="js/scripts.js"></script>
</body>
</html>

View File

@ -1,54 +0,0 @@
// Set new default font family and font color to mimic Bootstrap's default styling
Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#292b2c';
// Area Chart Example
var ctx = document.getElementById("myAreaChart");
var myLineChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Mar 1", "Mar 2", "Mar 3", "Mar 4", "Mar 5", "Mar 6", "Mar 7", "Mar 8", "Mar 9", "Mar 10", "Mar 11", "Mar 12", "Mar 13"],
datasets: [{
label: "Sessions",
lineTension: 0.3,
backgroundColor: "rgba(2,117,216,0.2)",
borderColor: "rgba(2,117,216,1)",
pointRadius: 5,
pointBackgroundColor: "rgba(2,117,216,1)",
pointBorderColor: "rgba(255,255,255,0.8)",
pointHoverRadius: 5,
pointHoverBackgroundColor: "rgba(2,117,216,1)",
pointHitRadius: 50,
pointBorderWidth: 2,
data: [10000, 30162, 26263, 18394, 18287, 28682, 31274, 33259, 25849, 24159, 32651, 31984, 38451],
}],
},
options: {
scales: {
xAxes: [{
time: {
unit: 'date'
},
gridLines: {
display: false
},
ticks: {
maxTicksLimit: 7
}
}],
yAxes: [{
ticks: {
min: 0,
max: 40000,
maxTicksLimit: 5
},
gridLines: {
color: "rgba(0, 0, 0, .125)",
}
}],
},
legend: {
display: false
}
}
});

View File

@ -1,46 +0,0 @@
// Set new default font family and font color to mimic Bootstrap's default styling
Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#292b2c';
// Bar Chart Example
var ctx = document.getElementById("myBarChart");
var myLineChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ["January", "February", "March", "April", "May", "June"],
datasets: [{
label: "Revenue",
backgroundColor: "rgba(2,117,216,1)",
borderColor: "rgba(2,117,216,1)",
data: [4215, 5312, 6251, 7841, 9821, 14984],
}],
},
options: {
scales: {
xAxes: [{
time: {
unit: 'month'
},
gridLines: {
display: false
},
ticks: {
maxTicksLimit: 6
}
}],
yAxes: [{
ticks: {
min: 0,
max: 15000,
maxTicksLimit: 5
},
gridLines: {
display: true
}
}],
},
legend: {
display: false
}
}
});

View File

@ -1,16 +0,0 @@
// Set new default font family and font color to mimic Bootstrap's default styling
Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#292b2c';
// Pie Chart Example
var ctx = document.getElementById("myPieChart");
var myPieChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ["Blue", "Red", "Yellow", "Green"],
datasets: [{
data: [12.21, 15.58, 11.25, 8.32],
backgroundColor: ['#007bff', '#dc3545', '#ffc107', '#28a745'],
}],
},
});

View File

@ -1,4 +0,0 @@
// Call the dataTables jQuery plugin
$(document).ready(function() {
$('#dataTable').DataTable();
});

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.0 KiB

View File

@ -1,54 +0,0 @@
// Set new default font family and font color to mimic Bootstrap's default styling
Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#292b2c';
// Area Chart Example
var ctx = document.getElementById("myAreaChart");
var myLineChart = new Chart(ctx, {
type: 'line',
data: {
labels: ["Mar 1", "Mar 2", "Mar 3", "Mar 4", "Mar 5", "Mar 6", "Mar 7", "Mar 8", "Mar 9", "Mar 10", "Mar 11", "Mar 12", "Mar 13"],
datasets: [{
label: "Sessions",
lineTension: 0.3,
backgroundColor: "rgba(2,117,216,0.2)",
borderColor: "rgba(2,117,216,1)",
pointRadius: 5,
pointBackgroundColor: "rgba(2,117,216,1)",
pointBorderColor: "rgba(255,255,255,0.8)",
pointHoverRadius: 5,
pointHoverBackgroundColor: "rgba(2,117,216,1)",
pointHitRadius: 50,
pointBorderWidth: 2,
data: [10000, 30162, 26263, 18394, 18287, 28682, 31274, 33259, 25849, 24159, 32651, 31984, 38451],
}],
},
options: {
scales: {
xAxes: [{
time: {
unit: 'date'
},
gridLines: {
display: false
},
ticks: {
maxTicksLimit: 7
}
}],
yAxes: [{
ticks: {
min: 0,
max: 40000,
maxTicksLimit: 5
},
gridLines: {
color: "rgba(0, 0, 0, .125)",
}
}],
},
legend: {
display: false
}
}
});

View File

@ -1,46 +0,0 @@
// Set new default font family and font color to mimic Bootstrap's default styling
Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#292b2c';
// Bar Chart Example
var ctx = document.getElementById("myBarChart");
var myLineChart = new Chart(ctx, {
type: 'bar',
data: {
labels: ["January", "February", "March", "April", "May", "June"],
datasets: [{
label: "Revenue",
backgroundColor: "rgba(2,117,216,1)",
borderColor: "rgba(2,117,216,1)",
data: [4215, 5312, 6251, 7841, 9821, 14984],
}],
},
options: {
scales: {
xAxes: [{
time: {
unit: 'month'
},
gridLines: {
display: false
},
ticks: {
maxTicksLimit: 6
}
}],
yAxes: [{
ticks: {
min: 0,
max: 15000,
maxTicksLimit: 5
},
gridLines: {
display: true
}
}],
},
legend: {
display: false
}
}
});

View File

@ -1,16 +0,0 @@
// Set new default font family and font color to mimic Bootstrap's default styling
Chart.defaults.global.defaultFontFamily = '-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif';
Chart.defaults.global.defaultFontColor = '#292b2c';
// Pie Chart Example
var ctx = document.getElementById("myPieChart");
var myPieChart = new Chart(ctx, {
type: 'pie',
data: {
labels: ["Blue", "Red", "Yellow", "Green"],
datasets: [{
data: [12.21, 15.58, 11.25, 8.32],
backgroundColor: ['#007bff', '#dc3545', '#ffc107', '#28a745'],
}],
},
});

View File

@ -1,4 +0,0 @@
// Call the dataTables jQuery plugin
$(document).ready(function() {
$('#dataTable').DataTable();
});

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.0 KiB

82
dashboard/parameter.php Normal file
View File

@ -0,0 +1,82 @@
<?php
if(!isset($_SESSION)) { session_start(); }
include_once '../classes/TestProjektSmarty.class_subdir.php';
require_once("../config.inc.php");
$smarty = new SmartyAdmin();
$templatename = substr(basename($_SERVER['PHP_SELF']), 0, -3) . "html";
require_once "../language/german.inc.php";
if (isset($_GET['action'])) {
$action = $_GET['action'];
} else {
$action = '';
}
if ($action == '') {
$query1 = "SELECT pid, beschreibung, wert
FROM jumi_parameter
ORDER BY sort ASC";
$result1 = $db->query($query1) or die("Cannot execute query1");
while ($row1 = $result1->fetch_array()) {
# Passwort für die Praxisstellen wird verschlüsselt gespeichert
if(!isset($zaehler) or $zaehler == 1){
$zaehler = 0;
}else{
$zaehler = 1;
}
$row1['zaehler'] = $zaehler;
$table_data1[] = $row1;
}
$smarty->assign('table_data1', $table_data1);
}
if($action == 'save'){
$query2 = "SELECT pid
FROM jumi_parameter
ORDER BY pid ASC";
$result2 = $db->query( $query2)
or die ("Cannot execute query2");
while ($row2 = $result2->fetch_array()){
$pid = $row2['pid'];
$pid_value = $_POST[$pid];
$sql1 = $db->query( "UPDATE jumi_parameter
SET wert = '$pid_value'
WHERE pid = $pid
" );
}
if(!$sql1){
$error = TRUE;
$error_reason .= "Fehler beim Update [jumi_parameter]<br>";
}else{
$error = FALSE;
$smarty->assign('parameter_inserterr', "2");
echo "<meta http-equiv=\"refresh\" content=\"2; URL=".$_SERVER['PHP_SELF'] ."?\">";
}
if($error){
$smarty->assign('parameter_inserterr', "1");
$smarty->assign('parameter_reason', "$error_reason"); // Kein Mailversand
} // Ende IF : Insert hat geklappt
}
$smarty->assign('action', "$action");
$smarty->display("$template/dashboard/$templatename");
?>

157
dashboard/result_latest.php Normal file
View File

@ -0,0 +1,157 @@
<?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();
if(isset($_GET['editumid']) and $_GET['editumid'] != ''){
# Aus externer Seite - survey_edit
$umid = $_GET['editumid'];
}else{
# Sonst Wert einer zuletzt angefangener Umfrage
$query_umid = $db->query("SELECT max(umid) umid
FROM jumi_umfragen
WHERE datum_von < now()
");
$row_umid = $query_umid->fetch_array();
$umid = $row_umid['umid'];
}
$query_umid_detail = $db->query("SELECT headline, date_format(datum_von, '%d.%m.%Y - %H:%i') datum_von, date_format(datum_bis, '%d.%m.%Y - %H:%i') datum_bis, freitext
FROM jumi_umfragen
WHERE umid=$umid
");
$row_umid_detail = $query_umid_detail->fetch_array();
$smarty->assign('result_headline', "$row_umid_detail[headline]");
$smarty->assign('result_datum_von', "$row_umid_detail[datum_von]");
$smarty->assign('result_datum_bis', "$row_umid_detail[datum_bis]");
# Anzahl abgeschlossene Umfragen
$query_fertige = $db->query("SELECT count(*) Anz_abgeschlossen
FROM jumi_umfragen_ende
WHERE umid =$umid
");
$row_fertige = $query_fertige->fetch_array();
$smarty->assign('result_anz_fertige', "$row_fertige[Anz_abgeschlossen]");
# Anzahl angefangener Teilnehmer
$query_angefangen = $db->query("SELECT count(distinct concat(ip,session))-$row_fertige[Anz_abgeschlossen] Anz_angefangen
FROM jumi_umfragen_ergebnisse
WHERE ufid in (select ufid from jumi_umfragen_fragen where umid =$umid)
");
$row_angefangen = $query_angefangen->fetch_array();
$smarty->assign('result_anz_angefangen', "$row_angefangen[Anz_angefangen]");
$query = "SELECT ufid, frage, multiple
FROM jumi_umfragen_fragen
WHERE umid = $umid";
$result = $db->query($query);
// Ergebnisse lesen und an den Client ausgeben
while ($row = $result->fetch_array()) {
$value2 = '';
unset($inner1);
# Wie viele User haben Frage 1 beantwortet
$result_anz_userfrage = $db->query("SELECT count(distinct concat(ip,session)) Anz
FROM jumi_umfragen_ergebnisse
WHERE ufid = $row[ufid]
");
$row_anz_userfrage = $result_anz_userfrage->fetch_array();
# Wie viele Antworten gibt es zur Frage: Das sind 100%
$result_anz_antworten = $db->query("SELECT count(ufid) Anz
FROM jumi_umfragen_ergebnisse
WHERE ufid = $row[ufid]
");
$row_anz_antworten = $result_anz_antworten->fetch_array();
$query2 = "SELECT uaid, antwort
FROM jumi_umfragen_antworten
WHERE ufid=$row[ufid]
ORDER BY userorder ASC, uaid ASC
";
$result2 = $db->query($query2) or die("Cannot execute query2");
$ln2 = 0;
while ($row2 = $result2->fetch_array()) {
# Wie viele haben Antwort auf aktuelle Frage gegeben
$result_cur_antw = $db->query("SELECT count(*) Anz
FROM jumi_umfragen_ergebnisse
WHERE uaid = $row2[uaid]");
$row_cur_antw = $result_cur_antw->fetch_array();
if($row_anz_antworten['Anz'] != '0'){
$prozent = round(100/$row_anz_antworten['Anz']*$row_cur_antw['Anz'],0);
}else{
$prozent = 0;
}
$inner1[$ln2]['prozent'] = $prozent;
$inner1[$ln2]['uaid'] = $row2['uaid'];
$inner1[$ln2]['antwort'] = $row2['antwort'];
$value2 = $inner1;
$ln2++;
}
if($row_anz_userfrage['Anz'] != 0){
$anz_userfrage = $row_anz_userfrage['Anz'];
}else{
$anz_userfrage = 0;
}
$row['inner'] = $value2;
$row['anz_userfrage'] = $anz_userfrage;
$row['anz_antworten_frage'] = $row_anz_antworten['Anz'];
$table_data[] = $row;
}
$smarty->assign('table_data', $table_data);
# echo"<pre>";
# print_r($table_data);
# echo"</pre>";
$query3 = "SELECT freitext
FROM jumi_umfragen_erg_freitext
WHERE umid = $umid
ORDER BY uefid desc";
$result3 = $db->query($query3);
// Ergebnisse lesen und an den Client ausgeben
while ($row3 = $result3->fetch_array()) {
$table_data3[] = $row3;
}
$smarty->assign('table_data3', $table_data3);
}
$smarty->assign('action', "$action");
$smarty->display("modern/admin/$templatename");
?>

226
dashboard/survey_edit.php Normal file
View File

@ -0,0 +1,226 @@
<?php
if (!isset($_SESSION)) {
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";
if (isset($_GET['action'])) {
$action = $_GET['action'];
} else {
$action = '';
}
if ($action == '') {
$query1 = "SELECT umid, date_format(datum_von, '%d.%m.%Y (%h:%i)') datum_von, date_format(datum_bis, '%d.%m.%Y (%h:%i)') datum_bis, headline
FROM jumi_umfragen
ORDER BY umid DESC";
$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') {
$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['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\">";
}
$datumvon = $_SESSION["umfrageerf_value_datumvon"];
}
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\">";
}
$zeitvon = $_SESSION["umfrageerf_value_zeitvon"];
}
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\">";
}
$datumbis = $_SESSION["umfrageerf_value_datumbis"];
}
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\">";
}
$zeitbis = $_SESSION["umfrageerf_value_zeitbis"];
}
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\">";
}
$headline = $_SESSION["umfrageerf_value_headline"];
}
if(!isset($_GET['erfassen'])){
if (isset($_POST['freitext']) and trim($_POST['freitext']) != '') {
$freitext = '1';
$_SESSION["umfrageerf_value_freitext"] = $freitext;
}else{
$freitext = '0';
$_SESSION["umfrageerf_value_freitext"] = $freitext;
}
}else{
$freitext = $_SESSION["umfrageerf_value_freitext"];
}
$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;
}
if(!isset($_GET['erfassen'])){
if ($umid == '') {
$datum = date("Y-m-d H:i:s");
$sql1 = $db->query("INSERT INTO jumi_umfragen ( datum_von
, datum_bis
, headline
, uid
, datum_erfasst
, freitext
)
VALUES
( '$datum_von'
, '$datum_bis'
, '$headline'
, '$uid'
, '$datum'
, '$freitext'
)
");
$umid = $db->insert_id;
$_SESSION["umfrageerf_umid"] = $umid;
}else{
$update = $db->query("UPDATE jumi_umfragen
SET datum_von ='$datum_von'
,datum_bis ='$datum_bis'
,headline = '$headline'
,freitext = '$freitext'
WHERE 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, multiple
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_multiple', $row_frage['multiple']);
$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);
}
}
$smarty->assign('action', "$action");
$smarty->display("$template/dashboard/$templatename");
?>

View File

@ -27,6 +27,7 @@ if ($action == '') {
# }
#
# # -- Fehlermeldungen -- #
if($_GET['new'] == 1){
unset($_SESSION["umfrageerf_value_datumvon"]);
unset($_SESSION["umfrageerf_value_zeitvon"]);
@ -41,6 +42,31 @@ if ($action == '') {
# $_SESSION["umfrageerf_new"] = 1;
}else{
if($_GET['edit'] == 1){
$umid = $_GET['umid'];
$_SESSION["umfrageerf_umid"] = $umid;
$result_edit = $db->query("SELECT date_format(datum_von, '%d.%m.%Y') datum_von
, date_format(datum_von, '%H:%i') zeit_von
, date_format(datum_bis, '%d.%m.%Y') datum_bis
, date_format(datum_bis, '%H:%i') zeit_bis
, headline
, freitext
FROM jumi_umfragen
WHERE umid = $umid");
$row_edit = $result_edit->fetch_array();
$_SESSION["umfrageerf_value_datumvon"] = $row_edit['datum_von'];
$_SESSION["umfrageerf_value_zeitvon"] = $row_edit['zeit_von'];
$_SESSION["umfrageerf_value_datumbis"] = $row_edit['datum_bis'];
$_SESSION["umfrageerf_value_zeitbis"] = $row_edit['zeit_bis'];
$_SESSION["umfrageerf_value_headline"] = $row_edit['headline'];
$_SESSION["umfrageerf_value_freitext"] = $row_edit['freitext'];
# Erste Frage selektieren, damit der Reiter für die Frage gleich aktiv ist
$result_q1 = $db->query("SELECT min(ufid) ufid
FROM jumi_umfragen_fragen
WHERE umid = $umid");
$row_q1 = $result_q1->fetch_array();
$_SESSION["umfrageerf_ufid"] = $row_q1['ufid'];
}
$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"]);
@ -106,18 +132,18 @@ if ($action == '') {
if ($action == 'fragen') {
$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 ($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['datumvon']) and $_POST['datumvon'] != '') {
@ -239,14 +265,18 @@ if ($action == 'fragen') {
}
}
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, multiple
FROM jumi_umfragen_fragen
@ -259,11 +289,12 @@ if ($action == 'fragen') {
# 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()) {
@ -275,10 +306,9 @@ if ($action == 'fragen') {
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";
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);

View File

@ -0,0 +1,20 @@
function onClickDeleteSurvey(id) {
r = confirm('Gesamte Umfrage löschen?');
if (r) {
$.ajax({
type: 'POST',
url: '../controller/admin_edit.php',
data: {
'function': 'deleteSurvey',
'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
$(document).ajaxStop(function(){
window.location = "?";
});
}
});
}
}

View File

@ -0,0 +1,17 @@
function onClickSaveParameter() {
$.ajax({
type: 'POST',
url: '../controller/admin_parameter.php',
data: {
'function': 'saveParameter'
},
success: function(result) {
alert(result);
// document.getElementById("del").innerHTML = "<strong>entfernt</strong>";
//Text einblenden geht nicht, da ein Refresh gemacht wird. Dann sieht man den Text nicht
$(document).ajaxStop(function(){
window.location = "?";
});
}
});
}

View File

@ -1,243 +0,0 @@
<!-- index gegen LDAP und DB bei externer Kennung-->
{if $action == ''}
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<title>Registrierung und Terminbuchung für Gottesdienste in Weinstadt-Beutelsbach</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="templates/{$global_template}/css/styles_login.css" type="text/css">
<style>
.squarebutton_blue{
width:100px;
}
</style>
<link rel="stylesheet" type="text/css" href="fancybox/jquery.fancybox-1.3.4.css" media="screen" />
<script type="text/javascript" src="./fancybox/jquery-1.5.1.min.js"></script>
<!-- DATEI GIBTS NICHT <script>!window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');</script>-->
<script type="text/javascript" src="./fancybox/jquery.mousewheel-3.0.4.pack.js"></script>
<script type="text/javascript" src="./fancybox/jquery.fancybox-1.3.4.pack.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".box").fancybox({
'width' : '75%',
'height' : '75%',
'autoScale' : true,
'transitionIn' : 'elastic',
'transitionOut' : 'elastic',
'type' : 'iframe'
});
});
</script>
<style>
.container {
display: flex;
justify-content: center;
}
.button {
font: bold 11px Arial;
text-decoration: none;
background-color: #EEEEEE;
color: #333333;
padding: 2px 6px 2px 6px;
border-top: 1px solid #CCCCCC;
border-right: 1px solid #333333;
border-bottom: 1px solid #333333;
border-left: 1px solid #CCCCCC;
}
</style>
</head>
<body>
<table height="100%" width="100%">
<tr>
<td width="5%">
&nbsp;
</td>
<td width="90%">
<div class="Header">
<div>
{if $abmelde_error == 1}
<div align="center">Fehler bei der Abmeldung</div>
{/if}
{if $abmelde_error == 0}
<div align="center">Abmeldung vom Gottesdienst am {$abmelde_termin} Uhr</div>
{/if}
</div>
</div>
<div class="pat_list_box">
<p>
{if $index_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>
{$index_error_text}
</td>
</tr>
</table>
<br />
{/if}
<table align="center" border="0" bordercolordark="white" bordercolorlight="" cellspacing="0" width="96%" >
<tr>
<td align="left">
<table width="100%" border="0">
<form action=?action=terminwahl method="POST" name="persdat">
{if $abmelde_error == 1}
<tr>
<td width="80%">
<table width="100%" border=0>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">
Es ist ein Fehler aufgetreten. Die Buchung konnte nicht gelöscht werden oder ist bereits gelöscht.<br>
<br>
Im Zweifel kontaktieren Sie den <a href="mailto:nak-beutelsbach@gmx.de">Administrator</a>.
</td>
<td width="30%">&nbsp;</td>
</tr>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">&nbsp;</td>
<td width="30%">&nbsp;</td>
</tr>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">
</td>
<td width="30%">&nbsp;</td>
</tr>
</table>
{/if}
{if $abmelde_error == 0}
<tr>
<td width="80%">
<table width="100%" border=0>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">
<p align="center">
Sie möchten <b>{$abmelde_vorname} {$abmelde_nachname}</b> vom Gottesdienst am {$abmelde_termin} Uhr abmelden?
<br>
<br>
<br>
Sind Sie sich sicher?
<br>
<br>
<a href="?action=del&antwort=N">
<img title = "Nein" border="0" src="./templates/{$global_template}/images/nein.gif"></a>
&nbsp;
<a href="?action=del&antwort=Y">
<img title = "Ja"border="0" src="./templates/{$global_template}/images/ja.gif"></a>
</p>
</td>
<td width="30%">&nbsp;</td>
</tr>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">&nbsp;</td>
<td width="30%">&nbsp;</td>
</tr>
<tr>
<td width="30%">&nbsp;</td>
<td width="40%">
</td>
<td width="30%">&nbsp;</td>
</tr>
</table>
{/if}
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</td>
<td width="5%">
&nbsp;
</td>
</tr>
</table>
</form>
</body>
</html>
{/if}
{if $action == 'del'}
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<title>Abmeldung beendet</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="templates/{$global_template}/css/styles_login.css" type="text/css">
</head>
<body onselectstart="return false" ondragstart="return false" oncontextmenu="return false" oncontext="return false">
<table height="100%" width="100%">
<tr>
<td width="15%">
&nbsp;
</td>
<td width="70%">
<div class="Header">
<div>
<div align="center">Abmeldung beendet</div>
</div>
</div>
<div class="pat_list_box">
<p>
{if $save_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>
{$save_error_text}
</td>
</tr>
</table>
<br />
{else}
<br>
<br>
<table align="center" border="0" bordercolordark="white" bordercolorlight="lightgray" cellspacing="0" width="96%" >
<tr>
<td align="left">
<table width="100%" border="0">
<form action=?action=save method="POST" name="save">
<tr>
<td width="80%">
<p align='center'>
{$abmelde_ausgabe}
</p>
<br>
</td>
</tr>
</table>
</td>
</tr>
</table>
<br>
<br>
{/if}
</div>
</td>
<td width="15%">
&nbsp;
</td>
</tr>
</table>
</form>
</body>
</html>
{/if}

View File

@ -1,13 +1,13 @@
{if $action == ''}
<!DOCTYPE html>
<html lang="en">
<html lang="de">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Login - SB Admin</title>
<title>JU & MI Administration</title>
<link href="css/styles.css" rel="stylesheet" />
<script src="all.js" crossorigin="anonymous"></script>
<script src="../jquery/jquery-3.4.1.min.js"></script>
@ -41,12 +41,13 @@
{$index_error_text}
</div>
{/if}
<div class="lottie-container" id="lottie-container"></div>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-5">
<div class="card shadow-lg border-0 rounded-lg mt-5">
<div class="card-header">
<h3 class="text-center font-weight-light my-4">JU & MI Login</h3>
<h3 class="text-center font-weight-light my-4">Login</h3>
</div>
<div class="card-body">
<form action=?action=anmeld method="POST" name="login">

View File

@ -4,14 +4,18 @@
<div class="nav">
<!--<div class="sb-sidenav-menu-heading">Core</div>-->
<a class="nav-link" href="startseite.php">
<div class="sb-nav-link-icon"><i class="fas fa-tachometer-alt"></i></div>
<div class="sb-nav-link-icon"><i class="fas fa-house"></i></div>
Home
</a>
<div class="sb-sidenav-menu-heading">Umfrage</div>
<a class="nav-link" href="survey_erfassen.php?new=1">
<div class="sb-nav-link-icon"><i class="fas fa-tachometer-alt"></i></div>
<div class="sb-nav-link-icon"><i class="fas fa fa-pie-chart"></i></div>
Erstellen
</a>
<a class="nav-link" href="survey_edit.php?new=1">
<div class="sb-nav-link-icon"><i class="fas fa-edit"></i></div>
Bearbeiten
</a>
<!--
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#collapseLayouts" aria-expanded="false" aria-controls="collapseLayouts">
<div class="sb-nav-link-icon"><i class="fas fa-columns"></i></div>
@ -57,8 +61,8 @@
</div>
-->
<div class="sb-sidenav-menu-heading">Administration</div>
<a class="nav-link" href="startseite.php">
<div class="sb-nav-link-icon"><i class="fas fa-chart-area"></i></div>
<a class="nav-link" href="parameter.php">
<div class="sb-nav-link-icon"><i class="fas fa-cog"></i></div>
Systemparameter
</a>
<!--

View File

@ -0,0 +1,61 @@
{if $action == ''}
<!DOCTYPE html>
<html lang="en">
<head>
<title>JU & MI Systemparameter</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
<!-- icons in nav-->
<script src="all.js" crossorigin="anonymous"></script>
<script src="../jquery/jquery-3.4.1.min.js"></script>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
</head>
<body class="sb-nav-fixed">
<div id="navtop"></div>
{literal}
<script>
$(function(){
// im Navbar muss der toggle in der Callbackfunktion definiert werden. Sonst findet jquery getelementbyID nicht
$("#navtop").load('navtop.php', null, function(){$.getScript('js/scripts.js');});
$("#navleft").load("nav.php");
$("#footer").load("footer.php");
});
</script>
{/literal}
<div id="layoutSidenav">
<!-- Navigation left -->
<div id="navleft"></div>
<div id="layoutSidenav_content">
<main>
<!--Anwendung-->
<script src="../js/components/admin_parameter.js"></script>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Systemparameter
</div>
<div class="card-body">
{section name=table_data1 loop=$table_data1}
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">{$table_data1[table_data1].beschreibung}</div>
<div class="col-12 col-md-8"><input type="text" class="form-control" name="parameter[]" value="{$table_data1[table_data1].wert}"></div>
</div>
{/section}
</div>
</div>
</div>
<div class="col-12 btn-group">
<a class="btn btn-primary mt-3" onclick="onClickSaveParameter()"><i class="fa fa-save" style="width:18px;"></i></a>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
</body>
</html>
{/if}

View File

@ -0,0 +1,116 @@
{if $action == ''}
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Auswertung</title>
<!-- https://www.budde-mediendesign.de/blog/programmierung/das-bootstrap-4-grid-system-->
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.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;
}
.container2 {
width: 80%;
}
.progress {
height: 28px;
}
.progress-bar {
background-color: #0BA7AD;
font-size: 16px;
line-height: 28px;
}
span {
position: absolute;
right: 20px;
color: #002C6C;
}
p {
margin: 0;
padding: 0;
}
</style>
</head>
<body>
<div class="container">
<div class="grid">
<div class="headline col-12 bg-white">
<h2>
<p class="text-center">{$result_headline}</p>
</h2>
<p class="text-center small">({$result_datum_von} bis {$result_datum_bis})</p>
</div>
<div class="col-12 ">
<table class="table table-sm">
<tbody>
<tr>
<th scope="row">Vollständige Teilnehmer</th>
<td>{$result_anz_fertige}</td>
<tr>
<th scope="row">Teilweise beantwortet</th>
<td>{$result_anz_angefangen}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="container">
{section name=table_data loop=$table_data}
<p class="text-primary">{$table_data[table_data].frage}<br>({$table_data[table_data].anz_userfrage} Personen)</p>
{if $table_data[table_data].multiple == '1'}
<p class="small">(Multiple Choice Frage)</p>
{/if}
{section name=inner loop=$table_data[table_data].inner}
<div class="row">
<div class="col-5">
<label>
<p class="small">{$table_data[table_data].inner[inner].antwort}</p>
</label>
</div>
<div class="col-7">
<div class="progress">
<div class="progress-bar" role="progressbar" aria-valuenow="{$table_data[table_data].inner[inner].prozent}" aria-valuemin="0" aria-valuemax="100" style="width: {$table_data[table_data].inner[inner].prozent}%;"><span>{$table_data[table_data].inner[inner].prozent}%</span></div>
</div>
</div>
</div>
{/section}
<br>
{/section}
</div>
<div class="container">
<div class="grid">
<div class="col-12 ">
<table class="table table-striped">
{section name=table_data3 loop=$table_data3}
{if $smarty.section.table_data3.rownum == 1}
<thead>
<tr>
<th scope="col"><p class="text-primary">Bemerkungen</p></th>
</tr>
</thead>
<tbody>
{/if}
<tr>
<td>{$table_data3[table_data3].freitext}</td>
</tr>
{/section}
</tbody>
</table>
</div>
</div>
</div>
</body>
</html>
{/if}

View File

@ -1,13 +1,13 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>JU & MI Startseite</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>Dashboard - SB Admin</title>
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
<!-- icons in nav-->

View File

@ -0,0 +1,116 @@
{if $action == ''}
<!DOCTYPE html>
<html lang="de">
<head>
<title>JU & MI Umfragen bearbeiten</title>
<link rel="stylesheet" href="../jquery/jquery-ui.css">
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="../jquery/jquery-3.4.1.min.js"></script>
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
<!-- icons in nav-->
<script src="all.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
</head>
<body class="sb-nav-fixed">
<div id="navtop"></div>
{literal}
<script>
$(function(){
// im Navbar muss der toggle in der Callbackfunktion definiert werden. Sonst findet jquery getelementbyID nicht
$("#navtop").load('navtop.php', null, function(){$.getScript('js/scripts.js');});
$("#navleft").load("nav.php");
$("#footer").load("footer.php");
});
</script>
{/literal}
<div id="layoutSidenav">
<!-- Navigation left -->
<div id="navleft"></div>
<div id="layoutSidenav_content">
<main>
<!--Anwendung-->
<script src="../js/components/admin_edit.js"></script>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Erfasste Umfragen
</div>
<div class="card-body">
<div class="row">
<!-- bei mobilen Geäten ausblenden: d-none d-lg-block -->
<div class="col-1 d-none d-lg-block"><b>Nr</b></div>
<div class="col-5 d-none d-lg-block"><b>Überschrift</b></div>
<div class="col-2 d-none d-lg-block"><b>Startdatum</b></div>
<div class="col-2 d-none d-lg-block"><b>Enddatum</b></div>
<div class="col-2 d-none d-lg-block"><b>Bearbeiten</b></div>
</div>
{section name=table_data1 loop=$table_data1}
<div class="row mt-0 mb-0">
<div class="col-1 col-lg-1 mb-2 mb-sm-3">{$smarty.section.table_data1.rownum}</div>
<div class="col-9 col-lg-5 mb-2 mb-sm-3">{$table_data1[table_data1].headline}
<div class="d-block d-lg-none">{$table_data1[table_data1].datum_von} -</div>
<div class="d-block d-lg-none">{$table_data1[table_data1].datum_bis}</div>
</div>
<div class="d-none d-lg-block col-lg-2 mb-2 mb-sm-3">{$table_data1[table_data1].datum_von}</div>
<div class="d-none d-lg-block col-lg-2 mb-2 mb-sm-3">{$table_data1[table_data1].datum_bis}</div>
<div class="col-2 col-lg-2 mb-2 mb-sm-3">
<a href="survey_erfassen.php?edit=1&umid={$table_data1[table_data1].umid}" class="btn btn-primary btn-rounded btn-icon btn-sm"><i class="fa fa-edit" style="width:18px;"></i></a>
<a class="btn btn-success btn-rounded btn-icon btn-sm" data-bs-toggle="modal" value="{$table_data1[table_data1].umid}" onclick="ShowDetails(this)" data-bs-target="#exampleModal"><i class="fa fa-eye" style="width:18px;"></i></a>
<a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="onClickDeleteSurvey({$table_data1[table_data1].umid})"><i class="fa fa-trash" style="width:18px;"></i></a>
</div>
</div>
{/section}
<!-- Modal -->
<div class="modal" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Umfrageergebnis</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<!--<button type="button" class="btn btn-primary">Save changes</button>-->
</div>
</div>
</div>
</div>
<hr>
<!-- Lösen Sie das Modal mit einem Button aus -->
{literal}
<script>
function ShowDetails(a){
let value = a.getAttribute("value");
$( '.modal-body' ).load( 'result_latest.php?editumid='+value , function () {
$( '#exampleModal' ).modal({show: true });
});
}
</script>
{/literal}
</div>
</div>
</div>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
</body>
</html>
{/if}

View File

@ -1,6 +1,8 @@
{if $action == ''}
<html>
<!DOCTYPE html>
<html lang="de">
<head>
<title>JU & MI Umfragen erfassen</title>
<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>
@ -10,7 +12,7 @@
<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">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
@ -168,7 +170,7 @@
</div>
</div>
<div class="col-12 btn-group">
<input type='submit' class="btn btn-primary" name='senden' value="Weiter - Fragen erfassen">
<input type='submit' class="btn btn-primary mt-3" name='senden' value="Weiter - Fragen erfassen">
</div>
</form>
</main>
@ -188,7 +190,7 @@
<meta name="keywords" content="Bootstrap, Bootstrap 5, Tabs">
<meta name="author" content="Federico Navarrete">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.ali.css" rel="stylesheet">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
@ -315,8 +317,8 @@
</div>
<p align='center'>
<div class="col-12">
<a type="submit" href="?" class="btn btn-light btn-sm">Zurück</a>
<button class="btn btn-primary btn-sm" id="save" onclick="erfassensave();">Speichern</button>
<a type="submit" href="?" class="btn btn-light btn-sm mt-3">Zurück</a>
<button class="btn btn-primary btn-sm mt-3" id="save" onclick="erfassensave();">Speichern</button>
</div>
</p>
<div class="card">
@ -344,8 +346,8 @@
<thead>
<tr>
<th width="20%">Sortierung</th>
<th width="60%">Antwort</th>
<th width="20%">Löschen</th>
<th width="70%">Antwort</th>
<th width="10%">Löschen</th>
</tr>
</thead>
<tbody id="tb">
@ -353,7 +355,7 @@
<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 btn-sm" onclick="onClickDelete({$table_data2[table_data2].uaid})">Löschen</button></td>
<td valign="middle"><button class="btn btn-delete btn-danger btn-rounded btn-icon" onclick="onClickDelete({$table_data2[table_data2].uaid})"><i class="fa fa-trash"></i></button></td>
</tr>
{/section}
</table>

View File

@ -0,0 +1,54 @@
<?php
/* Smarty version 3.1.39, created on 2023-03-23 07:11:30
from 'F:\git\survey\templates\modern\dashboard\navtop.html' */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.39',
'unifunc' => 'content_641bed923ff229_64042105',
'has_nocache_code' => false,
'file_dependency' =>
array (
'15b779282fc1667ebc65227c3ff810b1d3ec06fd' =>
array (
0 => 'F:\\git\\survey\\templates\\modern\\dashboard\\navtop.html',
1 => 1679507927,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_641bed923ff229_64042105 (Smarty_Internal_Template $_smarty_tpl) {
?><!--Navigation top-->
<nav class="bg-juandmi sb-topnav navbar navbar-expand navbar-dark">
<!-- Navbar Brand-->
<a class="navbar-brand ps-3" href="index.html">Administration JU & MI</a>
<!-- Sidebar Toggle: js/scripts.js in der callbackfunktion vom Load aufrufen beim einbetten-->
<button class="btn btn-link btn-sm order-1 order-lg-0 me-4 me-lg-0" id="sidebarToggle" href="#!"><i class="fas fa-bars"></i></button>
<!-- Navbar Search-->
<form class="d-none d-md-inline-block form-inline ms-auto me-0 me-md-3 my-2 my-md-0">
<!--
<div class="input-group">
<input class="form-control" type="text" placeholder="Search for..." aria-label="Search for..." aria-describedby="btnNavbarSearch" />
<button class="btn btn-primary" id="btnNavbarSearch" type="button"><i class="fas fa-search"></i></button>
</div>
-->
</form>
<!-- Navbar-->
<ul class="navbar-nav ms-auto ms-md-0 me-3 me-lg-4">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" id="navbarDropdown" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false"><i class="fas fa-user fa-fw"></i></a>
<ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown">
<!--
<li><a class="dropdown-item" href="tables.html">Settings</a></li>
<li><a class="dropdown-item" href="#!">Activity Log</a></li>
<li><hr class="dropdown-divider" /></li>
-->
<li><a class="dropdown-item" href="logout.php">Logout</a></li>
</ul>
</li>
</ul>
</nav><?php }
}

View File

@ -0,0 +1,88 @@
<?php
/* Smarty version 3.1.39, created on 2023-03-23 13:32:44
from 'F:\git\survey\templates\modern\dashboard\startseite.html' */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.39',
'unifunc' => 'content_641c46ece59a94_89854142',
'has_nocache_code' => false,
'file_dependency' =>
array (
'1d7d9664b76f0bd4587451aa9401c286ca72b20b' =>
array (
0 => 'F:\\git\\survey\\templates\\modern\\dashboard\\startseite.html',
1 => 1679574760,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_641c46ece59a94_89854142 (Smarty_Internal_Template $_smarty_tpl) {
?><!DOCTYPE html>
<html lang="en">
<head>
<title>JU & MI Startseite</title>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
<!-- icons in nav-->
<?php echo '<script'; ?>
src="all.js" crossorigin="anonymous"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?>
>
</head>
<body class="sb-nav-fixed">
<div id="navtop"></div>
<?php echo '<script'; ?>
>
$(function(){
// im Navbar muss der toggle in der Callbackfunktion definiert werden. Sonst findet jquery getelementbyID nicht
$("#navtop").load('navtop.php', null, function(){$.getScript('js/scripts.js');});
$("#navleft").load("nav.php");
$("#footer").load("footer.php");
});
<?php echo '</script'; ?>
>
<div id="layoutSidenav">
<!-- Navigation left -->
<div id="navleft"></div>
<div id="layoutSidenav_content">
<main>
<br>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-user me-1"></i>
Herzlich willkommen <?php echo $_smarty_tpl->tpl_vars['startseite_name']->value;?>
</div>
<div class="card-body">
<p class="card-text">Herzlich willkommen zur Administration von Jugendchor & Miteinander.<br><br>
Bitte Treffen Sie im Menü eine Auswahl!
</p>
</div>
</div>
</div>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
<?php echo '<script'; ?>
src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?>
>
</body>
</html><?php }
}

View File

@ -1,18 +1,18 @@
<?php
/* Smarty version 3.1.39, created on 2023-03-21 13:01:37
/* Smarty version 3.1.39, created on 2023-03-23 12:39:16
from 'F:\git\survey\templates\modern\survey\index.html' */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.39',
'unifunc' => 'content_64199ca19a0628_70063958',
'unifunc' => 'content_641c3a64aed3c1_00839520',
'has_nocache_code' => false,
'file_dependency' =>
array (
'2b06f8f36ebdb45c10ebd7bf157223e300660449' =>
array (
0 => 'F:\\git\\survey\\templates\\modern\\survey\\index.html',
1 => 1679400092,
1 => 1679507927,
2 => 'file',
),
),
@ -20,7 +20,7 @@ if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
array (
),
),false)) {
function content_64199ca19a0628_70063958 (Smarty_Internal_Template $_smarty_tpl) {
function content_641c3a64aed3c1_00839520 (Smarty_Internal_Template $_smarty_tpl) {
if ($_smarty_tpl->tpl_vars['action']->value == '') {?>
<!doctype html>
<html lang="de">
@ -44,7 +44,7 @@ if ($_smarty_tpl->tpl_vars['action']->value == '') {?>
}
</style>
<?php echo '<script'; ?>
src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.9.1/lottie.min.js"><?php echo '</script'; ?>
src="../js/lottie_bodymovin/lottie.min.js"><?php echo '</script'; ?>
>
<style type="text/css">

View File

@ -0,0 +1,172 @@
<?php
/* Smarty version 3.1.39, created on 2023-03-23 13:32:17
from 'F:\git\survey\templates\modern\dashboard\survey_edit.html' */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.39',
'unifunc' => 'content_641c46d17fad41_50365386',
'has_nocache_code' => false,
'file_dependency' =>
array (
'45042613f06e24e667146e342f6be5541d4940ee' =>
array (
0 => 'F:\\git\\survey\\templates\\modern\\dashboard\\survey_edit.html',
1 => 1679574735,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_641c46d17fad41_50365386 (Smarty_Internal_Template $_smarty_tpl) {
if ($_smarty_tpl->tpl_vars['action']->value == '') {?>
<!DOCTYPE html>
<html lang="de">
<head>
<title>JU & MI Umfragen bearbeiten</title>
<link rel="stylesheet" href="../jquery/jquery-ui.css">
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php echo '<script'; ?>
src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?>
>
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<?php echo '<script'; ?>
src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?>
>
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
<!-- icons in nav-->
<?php echo '<script'; ?>
src="all.js" crossorigin="anonymous"><?php echo '</script'; ?>
>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
</head>
<body class="sb-nav-fixed">
<div id="navtop"></div>
<?php echo '<script'; ?>
>
$(function(){
// im Navbar muss der toggle in der Callbackfunktion definiert werden. Sonst findet jquery getelementbyID nicht
$("#navtop").load('navtop.php', null, function(){$.getScript('js/scripts.js');});
$("#navleft").load("nav.php");
$("#footer").load("footer.php");
});
<?php echo '</script'; ?>
>
<div id="layoutSidenav">
<!-- Navigation left -->
<div id="navleft"></div>
<div id="layoutSidenav_content">
<main>
<!--Anwendung-->
<?php echo '<script'; ?>
src="../js/components/admin_edit.js"><?php echo '</script'; ?>
>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Erfasste Umfragen
</div>
<div class="card-body">
<div class="row">
<!-- bei mobilen Geäten ausblenden: d-none d-lg-block -->
<div class="col-1 d-none d-lg-block"><b>Nr</b></div>
<div class="col-5 d-none d-lg-block"><b>Überschrift</b></div>
<div class="col-2 d-none d-lg-block"><b>Startdatum</b></div>
<div class="col-2 d-none d-lg-block"><b>Enddatum</b></div>
<div class="col-2 d-none d-lg-block"><b>Bearbeiten</b></div>
</div>
<?php
$__section_table_data1_0_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data1']->value) ? count($_loop) : max(0, (int) $_loop));
$__section_table_data1_0_total = $__section_table_data1_0_loop;
$_smarty_tpl->tpl_vars['__smarty_section_table_data1'] = new Smarty_Variable(array());
if ($__section_table_data1_0_total !== 0) {
for ($__section_table_data1_0_iteration = 1, $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] = 0; $__section_table_data1_0_iteration <= $__section_table_data1_0_total; $__section_table_data1_0_iteration++, $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']++){
$_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum'] = $__section_table_data1_0_iteration;
?>
<div class="row mt-0 mb-0">
<div class="col-1 col-lg-1 mb-2 mb-sm-3"><?php echo (isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum'] : null);?>
</div>
<div class="col-9 col-lg-5 mb-2 mb-sm-3"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['headline'];?>
<div class="d-block d-lg-none"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['datum_von'];?>
-</div>
<div class="d-block d-lg-none"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['datum_bis'];?>
</div>
</div>
<div class="d-none d-lg-block col-lg-2 mb-2 mb-sm-3"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['datum_von'];?>
</div>
<div class="d-none d-lg-block col-lg-2 mb-2 mb-sm-3"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['datum_bis'];?>
</div>
<div class="col-2 col-lg-2 mb-2 mb-sm-3">
<a href="survey_erfassen.php?edit=1&umid=<?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['umid'];?>
" class="btn btn-primary btn-rounded btn-icon btn-sm"><i class="fa fa-edit" style="width:18px;"></i></a>
<a class="btn btn-success btn-rounded btn-icon btn-sm" data-bs-toggle="modal" value="<?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['umid'];?>
" onclick="ShowDetails(this)" data-bs-target="#exampleModal"><i class="fa fa-eye" style="width:18px;"></i></a>
<a class="btn btn-danger btn-rounded btn-icon btn-sm" onclick="onClickDeleteSurvey(<?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['umid'];?>
)"><i class="fa fa-trash" style="width:18px;"></i></a>
</div>
</div>
<?php
}
}
?>
<!-- Modal -->
<div class="modal" id="exampleModal" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Umfrageergebnis</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<!--<button type="button" class="btn btn-primary">Save changes</button>-->
</div>
</div>
</div>
</div>
<hr>
<!-- Lösen Sie das Modal mit einem Button aus -->
<?php echo '<script'; ?>
>
function ShowDetails(a){
let value = a.getAttribute("value");
$( '.modal-body' ).load( 'result_latest.php?editumid='+value , function () {
$( '#exampleModal' ).modal({show: true });
});
}
<?php echo '</script'; ?>
>
</div>
</div>
</div>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
</body>
</html>
<?php }
}
}

View File

@ -0,0 +1,106 @@
<?php
/* Smarty version 3.1.39, created on 2023-03-23 13:57:28
from 'F:\git\survey\templates\modern\dashboard\nav.html' */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.39',
'unifunc' => 'content_641c4cb8808ec8_48165588',
'has_nocache_code' => false,
'file_dependency' =>
array (
'8054340f19cd19b00acdfcb9f2ad878a473b1db6' =>
array (
0 => 'F:\\git\\survey\\templates\\modern\\dashboard\\nav.html',
1 => 1679576221,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_641c4cb8808ec8_48165588 (Smarty_Internal_Template $_smarty_tpl) {
?><div id="layoutSidenav_nav">
<nav class="bg-juandmi sb-sidenav accordion sb-sidenav-dark" id="sidenavAccordion">
<div class="sb-sidenav-menu">
<div class="nav">
<!--<div class="sb-sidenav-menu-heading">Core</div>-->
<a class="nav-link" href="startseite.php">
<div class="sb-nav-link-icon"><i class="fas fa-house"></i></div>
Home
</a>
<div class="sb-sidenav-menu-heading">Umfrage</div>
<a class="nav-link" href="survey_erfassen.php?new=1">
<div class="sb-nav-link-icon"><i class="fas fa fa-pie-chart"></i></div>
Erstellen
</a>
<a class="nav-link" href="survey_edit.php?new=1">
<div class="sb-nav-link-icon"><i class="fas fa-edit"></i></div>
Bearbeiten
</a>
<!--
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#collapseLayouts" aria-expanded="false" aria-controls="collapseLayouts">
<div class="sb-nav-link-icon"><i class="fas fa-columns"></i></div>
Erstellen
<div class="sb-sidenav-collapse-arrow"><i class="fas fa-angle-down"></i></div>
</a>
<div class="collapse" id="collapseLayouts" aria-labelledby="headingOne" data-bs-parent="#sidenavAccordion">
<nav class="sb-sidenav-menu-nested nav">
<a class="nav-link" href="layout-static.html">Static Navigation</a>
<a class="nav-link" href="layout-sidenav-light.html">Light Sidenav</a>
</nav>
</div>
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#collapsePages" aria-expanded="false" aria-controls="collapsePages">
<div class="sb-nav-link-icon"><i class="fas fa-book-open"></i></div>
Pages
<div class="sb-sidenav-collapse-arrow"><i class="fas fa-angle-down"></i></div>
</a>
<div class="collapse" id="collapsePages" aria-labelledby="headingTwo" data-bs-parent="#sidenavAccordion">
<nav class="sb-sidenav-menu-nested nav accordion" id="sidenavAccordionPages">
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#pagesCollapseAuth" aria-expanded="false" aria-controls="pagesCollapseAuth">
Authentication
<div class="sb-sidenav-collapse-arrow"><i class="fas fa-angle-down"></i></div>
</a>
<div class="collapse" id="pagesCollapseAuth" aria-labelledby="headingOne" data-bs-parent="#sidenavAccordionPages">
<nav class="sb-sidenav-menu-nested nav">
<a class="nav-link" href="login.html">Login</a>
<a class="nav-link" href="register.html">Register</a>
<a class="nav-link" href="password.html">Forgot Password</a>
</nav>
</div>
<a class="nav-link collapsed" href="#" data-bs-toggle="collapse" data-bs-target="#pagesCollapseError" aria-expanded="false" aria-controls="pagesCollapseError">
Error
<div class="sb-sidenav-collapse-arrow"><i class="fas fa-angle-down"></i></div>
</a>
<div class="collapse" id="pagesCollapseError" aria-labelledby="headingOne" data-bs-parent="#sidenavAccordionPages">
<nav class="sb-sidenav-menu-nested nav">
<a class="nav-link" href="401.html">401 Page</a>
<a class="nav-link" href="404.html">404 Page</a>
<a class="nav-link" href="500.html">500 Page</a>
</nav>
</div>
</nav>
</div>
-->
<div class="sb-sidenav-menu-heading">Administration</div>
<a class="nav-link" href="parameter.php">
<div class="sb-nav-link-icon"><i class="fas fa-cog"></i></div>
Systemparameter
</a>
<!--
<a class="nav-link" href="tables.html">
<div class="sb-nav-link-icon"><i class="fas fa-table"></i></div>
Tables
</a>
-->
</div>
</div>
<div class="bg-juandmi sb-sidenav-footer">
<div class="small">Eingeloggt als:</div>
<?php echo $_smarty_tpl->tpl_vars['nav_name']->value;?>
</div>
</nav>
</div><?php }
}

View File

@ -0,0 +1,490 @@
<?php
/* Smarty version 3.1.39, created on 2023-03-23 13:36:39
from 'F:\git\survey\templates\modern\dashboard\survey_erfassen.html' */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.39',
'unifunc' => 'content_641c47d786a1c9_55890007',
'has_nocache_code' => false,
'file_dependency' =>
array (
'85403c192b4eecdf6efb10ab95d6ca8c2bf3e350' =>
array (
0 => 'F:\\git\\survey\\templates\\modern\\dashboard\\survey_erfassen.html',
1 => 1679574998,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_641c47d786a1c9_55890007 (Smarty_Internal_Template $_smarty_tpl) {
if ($_smarty_tpl->tpl_vars['action']->value == '') {?>
<!DOCTYPE html>
<html lang="de">
<head>
<title>JU & MI Umfragen erfassen</title>
<link rel="stylesheet" href="../jquery/jquery-ui.css">
<link rel="stylesheet" href="../jquery/jquery.timepicker.min.css">
<?php echo '<script'; ?>
src="../jquery/jquery-1.12.4.js"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="../jquery/jquery-ui.js"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="../jquery/globalize.js"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="../jquery/globalize.culture.de-DE.js"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="../jquery/jquery.mousewheel.js"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="../jquery/jquery.timepicker.min.js"><?php echo '</script'; ?>
>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<?php echo '<script'; ?>
src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?>
>
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
<!-- icons in nav-->
<?php echo '<script'; ?>
src="all.js" crossorigin="anonymous"><?php echo '</script'; ?>
>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
<style type="text/css">
.spinner {
width: 112px;
height: 15px;
font-size: 12px !important;
}
.btn-group > .btn{
margin-bottom:20px;
border-radius:20px !important;
}
</style>
<?php echo '<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" );
} );
function trackKeys(evnt,regEx) {
var keyCode = evnt.keyCode ? evnt.keyCode : evnt.which;
return !!String.fromCharCode(keyCode).match(regEx);
}
//-->
<?php echo '</script'; ?>
>
<?php echo '<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();
}
});
<?php echo '</script'; ?>
>
<?php echo '<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
});
});
<?php echo '</script'; ?>
>
</head>
<body class="sb-nav-fixed">
<div id="navtop"></div>
<?php echo '<script'; ?>
>
$(function(){
// im Navbar muss der toggle in der Callbackfunktion definiert werden. Sonst findet jquery getelementbyID nicht
$("#navtop").load('navtop.php', null, function(){$.getScript('js/scripts.js');});
$("#navleft").load("nav.php");
$("#footer").load("footer.php");
});
<?php echo '</script'; ?>
>
<div id="layoutSidenav">
<!-- Navigation left -->
<div id="navleft"></div>
<div id="layoutSidenav_content">
<main>
<form action="?action=fragen" method='post' name='erfassen'>
<?php if ($_smarty_tpl->tpl_vars['umfrageerf_error']->value == '1') {?>
<div class="alert alert-warning" role="alert">
<?php echo $_smarty_tpl->tpl_vars['umfrageerf_error_text']->value;?>
</div>
<?php }?>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Zeitraum der Umfrage und Bezeichnung
</div>
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">Link verfügbar ab Datum:</div>
<div class="col-12 col-md-8"><input type="text" class="datepicker form-control" name="datumvon" id="datumvon" value="<?php echo $_smarty_tpl->tpl_vars['umfrageerf_value_datumvon']->value;?>
"></div>
</div>
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">Link verfügbar ab Uhrzeit:</div>
<div class="col-12 col-md-8"><input type="text" class="timepicker form-control" name="zeitvon" id="zeitvon" value="<?php echo $_smarty_tpl->tpl_vars['umfrageerf_value_zeitvon']->value;?>
" onKeypress="return trackKeys(event,/[0-9,:]/);"></div>
</div>
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">Link verfügbar bis Datum:</div>
<div class="col-12 col-md-8"><input type="text" class="datepicker form-control" name="datumbis" id="datumbis" value="<?php echo $_smarty_tpl->tpl_vars['umfrageerf_value_datumbis']->value;?>
"></div>
</div>
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">Link verfügbar bis Uhrzeit:</div>
<div class="col-12 col-md-8"><input type="text" class="timepicker form-control" name="zeitbis" id="zeitbis" value="<?php echo $_smarty_tpl->tpl_vars['umfrageerf_value_zeitbis']->value;?>
" onKeypress="return trackKeys(event,/[0-9,:]/);"></div>
</div>
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">Headline der Umfrage:</div>
<div class="col-12 col-md-8"><input class="form-control" type="text" name="headline" id="headline" value="<?php echo $_smarty_tpl->tpl_vars['umfrageerf_value_headline']->value;?>
" size="60"></div>
</div>
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">Bemerkungsfeld am Ende der Umfrage:</div>
<div class="col-12 col-md-8">
<div class="form-check form-switch">
<input class="form-check-input" type="checkbox" name="freitext" id="freitext" value="<?php echo $_smarty_tpl->tpl_vars['umfrageerf_value_freitext']->value;?>
" <?php if ($_smarty_tpl->tpl_vars['umfrageerf_value_freitext']->value == 1) {?> checked <?php }?>>
</div>
</div>
</div>
</div>
</div>
<div class="col-12 btn-group">
<input type='submit' class="btn btn-primary mt-3" name='senden' value="Weiter - Fragen erfassen">
</div>
</form>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
</body>
</html>
<?php }
if ($_smarty_tpl->tpl_vars['action']->value == 'fragen') {?>
<!doctype html>
<html lang="de">
<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">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<?php echo '<script'; ?>
src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?>
>
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
<!-- icons in nav-->
<?php echo '<script'; ?>
src="all.js" crossorigin="anonymous"><?php echo '</script'; ?>
>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
<?php echo '<script'; ?>
src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?>
>
<!-- jQuery UI CSS
<?php echo '<script'; ?>
src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.2/jquery-ui.min.js"><?php echo '</script'; ?>
>
-->
<?php echo '<script'; ?>
src="../jquery/jquery-ui.js"><?php echo '</script'; ?>
>
<style>
.btn-group > .btn{
margin-bottom:20px;
border-radius:20px !important;
}
</style>
<?php echo '<script'; ?>
type="text/javascript">
function keysave(ele) {
if(event.key === 'Enter') {
erfassensave();
}
}
$(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);
});
}
<?php echo '</script'; ?>
>
<style type="text/css">
.ui-sortable tr {
cursor:pointer;
}
.ui-sortable tr:hover {
background:rgba(244,251,17,0.45);
}
</style>
</head>
<!--<body onload="if(document.erfassen)document.erfassen.<?php echo $_smarty_tpl->tpl_vars['umfrageerf_focus']->value;?>
.focus();return false;">-->
<body class="sb-nav-fixed">
<div id="navtop"></div>
<?php echo '<script'; ?>
>
$(function(){
// im Navbar muss der toggle in der Callbackfunktion definiert werden. Sonst findet jquery getelementbyID nicht
$("#navtop").load('navtop.php', null, function(){$.getScript('js/scripts.js');});
$("#navleft").load("nav.php");
$("#footer").load("footer.php");
});
<?php echo '</script'; ?>
>
<div id="layoutSidenav">
<!-- Navigation left -->
<div id="navleft"></div>
<div id="layoutSidenav_content">
<main>
<!--Anwendung-->
<?php echo '<script'; ?>
src="../js/components/admin_erfassen.js"><?php echo '</script'; ?>
>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Frage & Antworten erfassen
</div>
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">Frage:</div>
<div class="col-12 col-md-8"><input class="form-control" type="text" name="frage" id="frage" value="<?php echo $_smarty_tpl->tpl_vars['umfrageerf_value_frage']->value;?>
" size="60" onkeydown="keysave(this)"></div>
</div>
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">Antwort:</div>
<div class="col-12 col-md-8"><input class="form-control" type="text" name="antwort" id="antwort" value="<?php echo $_smarty_tpl->tpl_vars['umfrageerf_value_antwort']->value;?>
" size="60" onkeydown="keysave(this)"></div>
</div>
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4">Mehrfachantworten erlauben:</div>
<div class="col-12 col-md-8"><input class="form-check-input" type="checkbox" name="multiple" id="multiple" value="1" onclick="erf_multiple();" <?php if ($_smarty_tpl->tpl_vars['umfrageerf_value_multiple']->value == 1) {?> checked <?php }?>></div>
</div>
</div>
<p align='center'>
<div class="col-12">
<a type="submit" href="?" class="btn btn-light btn-sm">Zurück</a>
<button class="btn btn-primary btn-sm" id="save" onclick="erfassensave();">Speichern</button>
</div>
</p>
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Vorschau der Fragen
</div>
<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">
<?php
$__section_table_data1_0_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data1']->value) ? count($_loop) : max(0, (int) $_loop));
$__section_table_data1_0_total = $__section_table_data1_0_loop;
$_smarty_tpl->tpl_vars['__smarty_section_table_data1'] = new Smarty_Variable(array());
if ($__section_table_data1_0_total !== 0) {
for ($__section_table_data1_0_iteration = 1, $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] = 0; $__section_table_data1_0_iteration <= $__section_table_data1_0_total; $__section_table_data1_0_iteration++, $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']++){
$_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum'] = $__section_table_data1_0_iteration;
?>
<a <?php if ($_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['ufid'] == $_smarty_tpl->tpl_vars['umfrageerf_gesp_werte_value_ufid2']->value) {?> class="nav-item nav-link pointer active" <?php } else { ?> class="nav-item nav-link pointer" <?php }?> data-bs-target="#tab<?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['ufid'];?>
" href="?action=fragen&tabufid=<?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['ufid'];?>
&erfassen=1"role="tab" aria-controls="public" <?php if ((isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum'] : null) == $_smarty_tpl->tpl_vars['umfrageerf_gesp_werte_value_ufid2']->value) {?> aria-selected="true" <?php }?>>Frage <?php echo (isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['rownum'] : null);?>
</a>
<?php
}
}
?>
<a class="nav-item nav-link pointer" data-bs-target="#neuefrage" href="?action=fragen&tabufid=neuefrage&erfassen=1" 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<?php echo $_smarty_tpl->tpl_vars['umfrageerf_gesp_werte_value_ufid2']->value;?>
" aria-labelledby="public-tab" >
<h6><?php echo $_smarty_tpl->tpl_vars['umfrageerf_value_frage']->value;?>
</h6>
<br>
<?php if ($_smarty_tpl->tpl_vars['table_data2_anz']->value > 0) {?>
<table class="table" id="sortable">
<thead>
<tr>
<th width="20%">Sortierung</th>
<th width="70%">Antwort</th>
<th width="10%">Löschen</th>
</tr>
</thead>
<tbody id="tb">
<?php
$__section_table_data2_1_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data2']->value) ? count($_loop) : max(0, (int) $_loop));
$__section_table_data2_1_total = $__section_table_data2_1_loop;
$_smarty_tpl->tpl_vars['__smarty_section_table_data2'] = new Smarty_Variable(array());
if ($__section_table_data2_1_total !== 0) {
for ($__section_table_data2_1_iteration = 1, $_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['index'] = 0; $__section_table_data2_1_iteration <= $__section_table_data2_1_total; $__section_table_data2_1_iteration++, $_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['index']++){
$_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['rownum'] = $__section_table_data2_1_iteration;
?>
<tr data-sort-id="<?php echo $_smarty_tpl->tpl_vars['table_data2']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['index'] : null)]['uaid'];?>
">
<td valign="middle" class="priority"><?php echo (isset($_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['rownum']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['rownum'] : null);?>
</td>
<td valign="middle"><?php echo $_smarty_tpl->tpl_vars['table_data2']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['index'] : null)]['antwort'];?>
</td>
<td valign="middle"><button class="btn btn-delete btn-danger btn-rounded btn-icon" onclick="onClickDelete(<?php echo $_smarty_tpl->tpl_vars['table_data2']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data2']->value['index'] : null)]['uaid'];?>
)"><i class="fa fa-trash"></i></button></td>
</tr>
<?php
}
}
?>
</table>
<div id="msg"></div>
<?php }?>
<p align='center'><button class="btn btn-delete btn-danger btn-sm" onclick="onClickDeleteQuestion(<?php echo $_smarty_tpl->tpl_vars['umfrageerf_value_ufid']->value;?>
)">Frage Löschen</button></p>
</div>
<div class="tab-pane fade mt-2" id="neuefrage" role="tabpanel" aria-labelledby="group-dropdown2-tab" >
</div>
</div>
</div>
</div>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
<?php echo '<script'; ?>
src="../bootstrap/node_modules/move-js/move.js"><?php echo '</script'; ?>
>
<link href="../bootstrap/dist/scrollable-tabs.min.css" rel="stylesheet">
<?php echo '<script'; ?>
src="../bootstrap/dist/scrollable-tabs.min.js"><?php echo '</script'; ?>
>
</body>
</html>
<?php }
}
}

View File

@ -0,0 +1,147 @@
<?php
/* Smarty version 3.1.39, created on 2023-03-23 13:57:21
from 'F:\git\survey\templates\modern\dashboard\index.html' */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.39',
'unifunc' => 'content_641c4cb1cb5c45_23187818',
'has_nocache_code' => false,
'file_dependency' =>
array (
'bf479f21e7ad507ad2c2c30536bdf206de07b30e' =>
array (
0 => 'F:\\git\\survey\\templates\\modern\\dashboard\\index.html',
1 => 1679569752,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_641c4cb1cb5c45_23187818 (Smarty_Internal_Template $_smarty_tpl) {
if ($_smarty_tpl->tpl_vars['action']->value == '') {?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="description" content="" />
<meta name="author" content="" />
<title>JU & MI Administration</title>
<link href="css/styles.css" rel="stylesheet" />
<?php echo '<script'; ?>
src="all.js" crossorigin="anonymous"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="../js/lottie_bodymovin/lottie.min.js"><?php echo '</script'; ?>
>
<style type="text/css">
.lottie-container {
justify-content: center;
top: 40px;
left: 0;
right: 0;
bottom: 20px;
height: 180px;
pointer-events: none;
}
</style>
</head>
<body>
<div id="navtop"></div>
<?php echo '<script'; ?>
>
$(function(){
$("#footer").load("footer.php");
});
<?php echo '</script'; ?>
>
<div id="layoutAuthentication">
<div id="layoutAuthentication_content">
<main>
<?php if ($_smarty_tpl->tpl_vars['index_error']->value == '1') {?>
<div class="alert alert-warning" role="alert">
<?php echo $_smarty_tpl->tpl_vars['index_error_text']->value;?>
</div>
<?php }?>
<div class="lottie-container" id="lottie-container"></div>
<div class="container">
<div class="row justify-content-center">
<div class="col-lg-5">
<div class="card shadow-lg border-0 rounded-lg mt-5">
<div class="card-header">
<h3 class="text-center font-weight-light my-4">Login</h3>
</div>
<div class="card-body">
<form action=?action=anmeld method="POST" name="login">
<div class="form-floating mb-3">
<input class="form-control" id="inputEmail" name="mail" type="email" placeholder="Mailadresse" />
<label for="inputEmail">Mailadresse</label>
</div>
<div class="form-floating mb-3">
<input class="form-control" id="inputPassword" name="password" type="password" placeholder="Passwort" />
<label for="inputPassword">Passwort</label>
</div>
<!--<div class="form-check mb-3">
<input class="form-check-input" id="inputRememberPassword" type="checkbox" value="" />
<label class="form-check-label" for="inputRememberPassword">Remember Password</label>
</div>
-->
<div class="d-flex align-items-center justify-content-between mt-4 mb-0">
<!--<a class="small" href="password.html">Forgot Password?</a>-->
&nbsp;
<input type='submit' class="btn btn-primary" name='senden' value="Login">
</div>
</form>
</div>
<div class="card-footer text-center py-3">
<!--<div class="small"><a href="register.html">Need an account? Sign up!</a></div>-->
</div>
</div>
</div>
</div>
</div>
<div class="lottie-container" id="lottie-container"></div>
<?php echo '<script'; ?>
type="text/javascript">
var item = bodymovin.loadAnimation({
wrapper: document.getElementById('lottie-container'),
animType: 'svg',
loop: true,
autoplay: true,
path: '../media/data.json'
});
<?php echo '</script'; ?>
>
</main>
</div>
<div id="layoutAuthentication_footer">
<!-- footer -->
<div id="footer"></div>
</div>
</div>
<?php echo '<script'; ?>
src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" crossorigin="anonymous"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="js/scripts.js"><?php echo '</script'; ?>
>
</body>
</html>
<?php }
if ($_smarty_tpl->tpl_vars['action']->value == 'anmeld') {?>
<?php if ($_smarty_tpl->tpl_vars['index_login']->value == '1') {?>
<meta http-equiv="refresh" content="0; URL=startseite.php">
<?php }
}
}
}

View File

@ -0,0 +1,33 @@
<?php
/* Smarty version 3.1.39, created on 2023-03-23 07:11:18
from 'F:\git\survey\templates\modern\dashboard\footer.html' */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.39',
'unifunc' => 'content_641bed8605dd17_00986714',
'has_nocache_code' => false,
'file_dependency' =>
array (
'ee47be34cb7d96d9533569c35d6c10d15670e655' =>
array (
0 => 'F:\\git\\survey\\templates\\modern\\dashboard\\footer.html',
1 => 1679507927,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_641bed8605dd17_00986714 (Smarty_Internal_Template $_smarty_tpl) {
?> <footer class="py-4 bg-light mt-auto">
<div class="container-fluid px-4">
<div class="d-flex align-items-center justify-content-between small">
<div class="text-muted">Copyright &copy; JU & MI 2023</div>
</div>
</div>
</footer>
<?php }
}

View File

@ -0,0 +1,108 @@
<?php
/* Smarty version 3.1.39, created on 2023-03-23 14:12:49
from 'F:\git\survey\templates\modern\dashboard\parameter.html' */
/* @var Smarty_Internal_Template $_smarty_tpl */
if ($_smarty_tpl->_decodeProperties($_smarty_tpl, array (
'version' => '3.1.39',
'unifunc' => 'content_641c5051469090_99101993',
'has_nocache_code' => false,
'file_dependency' =>
array (
'f48616efe837d676bc69b2f5a2015207b5d9beac' =>
array (
0 => 'F:\\git\\survey\\templates\\modern\\dashboard\\parameter.html',
1 => 1679577006,
2 => 'file',
),
),
'includes' =>
array (
),
),false)) {
function content_641c5051469090_99101993 (Smarty_Internal_Template $_smarty_tpl) {
if ($_smarty_tpl->tpl_vars['action']->value == '') {?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>JU & MI Systemparameter</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="../bootstrap/node_modules/bootstrap/dist/css/bootstrap.min.css" rel="stylesheet">
<?php echo '<script'; ?>
src="../bootstrap/node_modules/bootstrap/dist/js/bootstrap.bundle.min.js"><?php echo '</script'; ?>
>
<!-- nochmals bootstrap.css mit Erweiterungen vom Dashboard -->
<link href="css/styles.css" rel="stylesheet" />
<!-- icons in nav-->
<?php echo '<script'; ?>
src="all.js" crossorigin="anonymous"><?php echo '</script'; ?>
>
<?php echo '<script'; ?>
src="../jquery/jquery-3.4.1.min.js"><?php echo '</script'; ?>
>
<link rel="stylesheet" href="../bootstrap/node_modules/bootstrap-icons/font/bootstrap-icons.css">
</head>
<body class="sb-nav-fixed">
<div id="navtop"></div>
<?php echo '<script'; ?>
>
$(function(){
// im Navbar muss der toggle in der Callbackfunktion definiert werden. Sonst findet jquery getelementbyID nicht
$("#navtop").load('navtop.php', null, function(){$.getScript('js/scripts.js');});
$("#navleft").load("nav.php");
$("#footer").load("footer.php");
});
<?php echo '</script'; ?>
>
<div id="layoutSidenav">
<!-- Navigation left -->
<div id="navleft"></div>
<div id="layoutSidenav_content">
<main>
<!--Anwendung-->
<?php echo '<script'; ?>
src="../js/components/admin_parameter.js"><?php echo '</script'; ?>
>
<div class="container-fluid">
<div class="card">
<div class="card-header">
<i class="fas fa-table me-1"></i>
Systemparameter
</div>
<div class="card-body">
<?php
$__section_table_data1_0_loop = (is_array(@$_loop=$_smarty_tpl->tpl_vars['table_data1']->value) ? count($_loop) : max(0, (int) $_loop));
$__section_table_data1_0_total = $__section_table_data1_0_loop;
$_smarty_tpl->tpl_vars['__smarty_section_table_data1'] = new Smarty_Variable(array());
if ($__section_table_data1_0_total !== 0) {
for ($__section_table_data1_0_iteration = 1, $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] = 0; $__section_table_data1_0_iteration <= $__section_table_data1_0_total; $__section_table_data1_0_iteration++, $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']++){
?>
<div class="row mt-0 mt-sm-4 mb-0 mb-sm-4">
<div class="col-12 col-md-4"><?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['beschreibung'];?>
</div>
<div class="col-12 col-md-8"><input type="text" class="form-control" name="<?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['pid'];?>
" value="<?php echo $_smarty_tpl->tpl_vars['table_data1']->value[(isset($_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index']) ? $_smarty_tpl->tpl_vars['__smarty_section_table_data1']->value['index'] : null)]['wert'];?>
"></div>
</div>
<?php
}
}
?>
</div>
</div>
</div>
<div class="col-12 btn-group">
<a class="btn btn-primary mt-3" onclick="onClickSaveParameter()"><i class="fa fa-save" style="width:18px;"></i></a>
</main>
<!-- footer -->
<div id="footer"></div>
</div>
</div>
</body>
</html>
<?php }
}
}