Abgleich mit Live-Daten
This commit is contained in:
+30
-30
@@ -1,30 +1,30 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
require_once("inc/functions.inc.php");
|
require_once("inc/functions.inc.php");
|
||||||
|
|
||||||
//Überprüfe, dass der User eingeloggt ist
|
//Überprüfe, dass der User eingeloggt ist
|
||||||
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
||||||
$user = check_admin_user();
|
$user = check_admin_user();
|
||||||
|
|
||||||
include("templates/header.inc.php");
|
include("templates/header.inc.php");
|
||||||
|
|
||||||
|
|
||||||
if(check_admin()){
|
if(check_admin()){
|
||||||
echo "Admin";
|
echo "Admin";
|
||||||
}else{
|
}else{
|
||||||
echo "nicht Admin";
|
echo "nicht Admin";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
include("templates/footer.inc.php")
|
include("templates/footer.inc.php")
|
||||||
?>
|
?>
|
||||||
|
|||||||
+58
-58
@@ -1,58 +1,58 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once(__DIR__ . "/../inc/config.inc.php");
|
require_once(__DIR__ . "/../inc/config.inc.php");
|
||||||
require_once(__DIR__ . "/../inc/functions.inc.php");
|
require_once(__DIR__ . "/../inc/functions.inc.php");
|
||||||
|
|
||||||
//Überprüfe, dass der User eingeloggt ist
|
//Überprüfe, dass der User eingeloggt ist
|
||||||
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
||||||
$user = check_admin_user();
|
$user = check_admin_user();
|
||||||
|
|
||||||
include("templates/header.inc.php");
|
include("templates/header.inc.php");
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<script src="/admin/js/tinymce/tinymce.min.js" referrerpolicy="origin"></script>
|
<script src="/admin/js/tinymce/tinymce.min.js" referrerpolicy="origin"></script>
|
||||||
<div class="container main-container">
|
<div class="container main-container">
|
||||||
<?php
|
<?php
|
||||||
##test2
|
##test2
|
||||||
echo '<div style="float: right; width: 200px; ">';
|
echo '<div style="float: right; width: 200px; ">';
|
||||||
echo "<form action='". $_SERVER['PHP_SELF'] . "' id='formbenutzersuche' method=POST>";
|
echo "<form action='". $_SERVER['PHP_SELF'] . "' id='formbenutzersuche' method=POST>";
|
||||||
echo '<input type="hidden" name="aktion" value="benutzersuche" />';
|
echo '<input type="hidden" name="aktion" value="benutzersuche" />';
|
||||||
echo '<input type="hidden" name="userid_input" id="userid_input" />';
|
echo '<input type="hidden" name="userid_input" id="userid_input" />';
|
||||||
echo '<label>Benutzersuche Anfragen:</label>
|
echo '<label>Benutzersuche Anfragen:</label>
|
||||||
<input type="text" id="user_input" name="skill_input" width="48"/>';
|
<input type="text" id="user_input" name="skill_input" width="48"/>';
|
||||||
//echo '<input type="submit" class="btn btn-primary" id="submitbox" value="" />';
|
//echo '<input type="submit" class="btn btn-primary" id="submitbox" value="" />';
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
?>
|
?>
|
||||||
<h2>Administration - Anrufantworter</h2>
|
<h2>Administration - Anrufantworter</h2>
|
||||||
|
|
||||||
Hallo <?php echo htmlentities($user['vorname']); ?>,<br>
|
Hallo <?php echo htmlentities($user['vorname']); ?>,<br>
|
||||||
Herzlich Willkommen im internen Bereich!<br><br>
|
Herzlich Willkommen im internen Bereich!<br><br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
if(!check_worker()){
|
if(!check_worker()){
|
||||||
echo "Dieser Bereich ist nur für Bearbeiter freigeschaltet!<br><br><br>";
|
echo "Dieser Bereich ist nur für Bearbeiter freigeschaltet!<br><br><br>";
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="file:///P:\Telefonanlage\telefonanlage.html" target="_blank">Übersicht der Anruf auf dem Anrufbeantworter</a>
|
<a href="file:///P:\Telefonanlage\telefonanlage.html" target="_blank">Übersicht der Anruf auf dem Anrufbeantworter</a>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
include("templates/footer.inc.php")
|
include("templates/footer.inc.php")
|
||||||
?>
|
?>
|
||||||
|
|||||||
+39
-39
@@ -1,40 +1,40 @@
|
|||||||
/* Popup box BEGIN */
|
/* Popup box BEGIN */
|
||||||
.infofenster {
|
.infofenster {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 100px;
|
top: 100px;
|
||||||
right: 100px;
|
right: 100px;
|
||||||
width: auto;
|
width: auto;
|
||||||
height: auto;
|
height: auto;
|
||||||
min-height: 100px;
|
min-height: 100px;
|
||||||
min-width: 400px;
|
min-width: 400px;
|
||||||
padding-left: 50px;
|
padding-left: 50px;
|
||||||
padding-right: 50px;
|
padding-right: 50px;
|
||||||
padding-top: 15px;
|
padding-top: 15px;
|
||||||
padding-bottom: 15px;
|
padding-bottom: 15px;
|
||||||
border-radius: 15px 15px 15px 15px;
|
border-radius: 15px 15px 15px 15px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
background-color: #555;
|
background-color: #555;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
animation:signup-response 0.5s 1;
|
animation:signup-response 0.5s 1;
|
||||||
-webkit-animation:signup-response 0.5s 1;
|
-webkit-animation:signup-response 0.5s 1;
|
||||||
animation-fill-mode: forwards;
|
animation-fill-mode: forwards;
|
||||||
|
|
||||||
animation-delay:5s;
|
animation-delay:5s;
|
||||||
-webkit-animation-delay:5s; /* Safari and Chrome */
|
-webkit-animation-delay:5s; /* Safari and Chrome */
|
||||||
-webkit-animation-fill-mode: forwards;
|
-webkit-animation-fill-mode: forwards;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes signup-response{
|
@keyframes signup-response{
|
||||||
from {opacity :1;}
|
from {opacity :1;}
|
||||||
to {opacity :0;}
|
to {opacity :0;}
|
||||||
}
|
}
|
||||||
|
|
||||||
@-webkit-keyframes signup-response{
|
@-webkit-keyframes signup-response{
|
||||||
from {opacity :1;}
|
from {opacity :1;}
|
||||||
to {opacity :0;}
|
to {opacity :0;}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Popup box BEGIN */
|
/* Popup box BEGIN */
|
||||||
+3
-3
@@ -1,4 +1,4 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once __DIR__ . '/impfworkflow_stammdaten.php';
|
require_once __DIR__ . '/impfworkflow_stammdaten.php';
|
||||||
|
|
||||||
|
|
||||||
@@ -1179,5 +1179,5 @@ try {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include __DIR__ . "/templates/footer.inc.php"; ?>
|
<?php include __DIR__ . "/templates/footer.inc.php"; ?>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
$_GET['view'] = 'event-create';
|
$_GET['view'] = 'event-create';
|
||||||
require_once __DIR__ . '/impfworkflow.php';
|
require_once __DIR__ . '/impfworkflow.php';
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
$_GET['view'] = 'event-teilnehmer';
|
$_GET['view'] = 'event-teilnehmer';
|
||||||
require_once __DIR__ . '/impfworkflow.php';
|
require_once __DIR__ . '/impfworkflow.php';
|
||||||
|
|||||||
@@ -1,3 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
$_GET['view'] = 'teilnehmer';
|
$_GET['view'] = 'teilnehmer';
|
||||||
require_once __DIR__ . '/impfworkflow.php';
|
require_once __DIR__ . '/impfworkflow.php';
|
||||||
|
|||||||
+118
-118
@@ -1,119 +1,119 @@
|
|||||||
<?php
|
<?php
|
||||||
if (session_status() !== PHP_SESSION_ACTIVE) {
|
if (session_status() !== PHP_SESSION_ACTIVE) {
|
||||||
session_start();
|
session_start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
require_once(__DIR__ . "/../inc/config.inc.php");
|
require_once(__DIR__ . "/../inc/config.inc.php");
|
||||||
require_once(__DIR__ . "/../inc/functions.inc.php");
|
require_once(__DIR__ . "/../inc/functions.inc.php");
|
||||||
|
|
||||||
$user = check_admin_user();
|
$user = check_admin_user();
|
||||||
$internUserId = (int)$_SESSION['auth']['id'];
|
$internUserId = (int)$_SESSION['auth']['id'];
|
||||||
include("templates/header.inc.php");
|
include("templates/header.inc.php");
|
||||||
if (!$user) { echo "<div class='container main-container'><h3>Erst anmelden: <a href=login.php>Login</a></h3><br>";
|
if (!$user) { echo "<div class='container main-container'><h3>Erst anmelden: <a href=login.php>Login</a></h3><br>";
|
||||||
|
|
||||||
include("templates/footer.inc.php");
|
include("templates/footer.inc.php");
|
||||||
exit; }
|
exit; }
|
||||||
?>
|
?>
|
||||||
<meta http-equiv="refresh" content = "0;url=anfragen.php">
|
<meta http-equiv="refresh" content = "0;url=anfragen.php">
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
|
|
||||||
<div class="container main-container">
|
<div class="container main-container">
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
/*
|
/*
|
||||||
global $pdo;
|
global $pdo;
|
||||||
|
|
||||||
$identifier = $_COOKIE['identifier'];
|
$identifier = $_COOKIE['identifier'];
|
||||||
$securitytoken = $_COOKIE['securitytoken'];
|
$securitytoken = $_COOKIE['securitytoken'];
|
||||||
|
|
||||||
$statement = $pdo->prepare("SELECT * FROM securitytokens WHERE identifier = :identifier");
|
$statement = $pdo->prepare("SELECT * FROM securitytokens WHERE identifier = :identifier");
|
||||||
$result = $statement->execute(array('identifier' => $identifier));
|
$result = $statement->execute(array('identifier' => $identifier));
|
||||||
$securitytoken_row = $statement->fetch();
|
$securitytoken_row = $statement->fetch();
|
||||||
echo $securitytoken_row['securitytoken'];
|
echo $securitytoken_row['securitytoken'];
|
||||||
echo "<br>";
|
echo "<br>";
|
||||||
echo sha1($securitytoken);
|
echo sha1($securitytoken);
|
||||||
*/
|
*/
|
||||||
?>
|
?>
|
||||||
<h1>Administration</h1>
|
<h1>Administration</h1>
|
||||||
|
|
||||||
Hallo <?php echo htmlentities($user['vorname']); ?>,<br>
|
Hallo <?php echo htmlentities($user['vorname']); ?>,<br>
|
||||||
Herzlich Willkommen im internen Bereich!<br>
|
Herzlich Willkommen im internen Bereich!<br>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<p>Hier finden Sie die weiteren Bearbeitungsschritte:<br><br></p>
|
<p>Hier finden Sie die weiteren Bearbeitungsschritte:<br><br></p>
|
||||||
<p><a class="btn btn-primary btn-lg" href="anfragen.php" role="button">Bearbeitung der Anfragen</a>  
|
<p><a class="btn btn-primary btn-lg" href="anfragen.php" role="button">Bearbeitung der Anfragen</a>  
|
||||||
<a class="btn btn-primary btn-lg" role="button" href="anfragen.php">Anfragen</a></p>
|
<a class="btn btn-primary btn-lg" role="button" href="anfragen.php">Anfragen</a></p>
|
||||||
<br>
|
<br>
|
||||||
<p><a class="btn btn-primary btn-lg" role="button" href="../zeiterfassung">Zeiterfassung</a></p>
|
<p><a class="btn btn-primary btn-lg" role="button" href="../zeiterfassung">Zeiterfassung</a></p>
|
||||||
<br>
|
<br>
|
||||||
<p><a class="btn btn-primary btn-lg" href="impfadmin.php" role="button">Impf-Administration</a>   
|
<p><a class="btn btn-primary btn-lg" href="impfadmin.php" role="button">Impf-Administration</a>   
|
||||||
<a class="btn btn-primary btn-lg" role="button" href="impfadmin.php">Impfung</a>   
|
<a class="btn btn-primary btn-lg" role="button" href="impfadmin.php">Impfung</a>   
|
||||||
<a class="btn btn-primary btn-lg" role="button" href="togoadmin.php">togo-Impfung</a></p>
|
<a class="btn btn-primary btn-lg" role="button" href="togoadmin.php">togo-Impfung</a></p>
|
||||||
<br>
|
<br>
|
||||||
<p><a class="btn btn-primary btn-lg" role="button" href="webseitenadmin.php">Webseiteninhalt ändern</a></p>
|
<p><a class="btn btn-primary btn-lg" role="button" href="webseitenadmin.php">Webseiteninhalt ändern</a></p>
|
||||||
<br><br><br>
|
<br><br><br>
|
||||||
<p><a class="btn btn-primary btn-lg" role="button" href="settings.php">Einstellungen</a></p>
|
<p><a class="btn btn-primary btn-lg" role="button" href="settings.php">Einstellungen</a></p>
|
||||||
<p><a class="btn btn-primary btn-lg" role="button" href="logout.php">Logout</a></p>
|
<p><a class="btn btn-primary btn-lg" role="button" href="logout.php">Logout</a></p>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
echo '<h4>Welche Aktion möchtest du durchführen?</h4>
|
echo '<h4>Welche Aktion möchtest du durchführen?</h4>
|
||||||
<table width=100%><tr><td width=40%>
|
<table width=100%><tr><td width=40%>
|
||||||
|
|
||||||
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
||||||
<input type=hidden name=aktion value=1>
|
<input type=hidden name=aktion value=1>
|
||||||
<input type=submit class="btn btn-primary btn-lg" value="Formular-Anfragen bearbeiten">
|
<input type=submit class="btn btn-primary btn-lg" value="Formular-Anfragen bearbeiten">
|
||||||
</form>
|
</form>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr><td><br><br>
|
<tr><td><br><br>
|
||||||
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
||||||
<input type=hidden name=aktion value=18>
|
<input type=hidden name=aktion value=18>
|
||||||
<input type=submit class="btn btn-primary" value="Mailvorlagen anlegen">
|
<input type=submit class="btn btn-primary" value="Mailvorlagen anlegen">
|
||||||
</form>
|
</form>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr><td><br><br>
|
<tr><td><br><br>
|
||||||
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
||||||
<input type=hidden name=aktion value=12>
|
<input type=hidden name=aktion value=12>
|
||||||
<input type=submit class="btn btn-primary" value="Formular Auswertung">
|
<input type=submit class="btn btn-primary" value="Formular Auswertung">
|
||||||
</form>
|
</form>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr><td><br><br>
|
<tr><td><br><br>
|
||||||
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
||||||
<input type=hidden name=aktion value=16>
|
<input type=hidden name=aktion value=16>
|
||||||
<input type=submit class="btn btn-primary" value="Mailvorlagen anpassen">
|
<input type=submit class="btn btn-primary" value="Mailvorlagen anpassen">
|
||||||
</form>
|
</form>
|
||||||
</td></tr><br><br><br><br>
|
</td></tr><br><br><br><br>
|
||||||
<tr></tr>
|
<tr></tr>
|
||||||
<tr><td><h3>Urlaub / Hinweis planen</h3></td><td></td></tr>
|
<tr><td><h3>Urlaub / Hinweis planen</h3></td><td></td></tr>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
||||||
<input type=hidden name=aktion value=4>
|
<input type=hidden name=aktion value=4>
|
||||||
<input type=submit class="btn btn-primary btn-lg" value="Urlaub eintragen">
|
<input type=submit class="btn btn-primary btn-lg" value="Urlaub eintragen">
|
||||||
</form>
|
</form>
|
||||||
</td></tr>
|
</td></tr>
|
||||||
<tr><td><br><br>
|
<tr><td><br><br>
|
||||||
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
<form action="'. $_SERVER["PHP_SELF"] .'" method=POST>
|
||||||
<input type=hidden name=aktion value=6>
|
<input type=hidden name=aktion value=6>
|
||||||
<input type=submit class="btn btn-primary" value="Notfallsprechstunde eintragen">
|
<input type=submit class="btn btn-primary" value="Notfallsprechstunde eintragen">
|
||||||
</form>
|
</form>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
<br><br>
|
<br><br>
|
||||||
';
|
';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include("templates/footer.inc.php")
|
include("templates/footer.inc.php")
|
||||||
?>
|
?>
|
||||||
+46
-46
@@ -1,47 +1,47 @@
|
|||||||
var http = createRequestObject();
|
var http = createRequestObject();
|
||||||
var objectId = '';
|
var objectId = '';
|
||||||
|
|
||||||
|
|
||||||
function createRequestObject(htmlObjectId){
|
function createRequestObject(htmlObjectId){
|
||||||
var obj;
|
var obj;
|
||||||
var browser = navigator.appName;
|
var browser = navigator.appName;
|
||||||
|
|
||||||
objectId = htmlObjectId;
|
objectId = htmlObjectId;
|
||||||
|
|
||||||
if(browser == "Microsoft Internet Explorer"){
|
if(browser == "Microsoft Internet Explorer"){
|
||||||
obj = new ActiveXObject("Microsoft.XMLHTTP");
|
obj = new ActiveXObject("Microsoft.XMLHTTP");
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
obj = new XMLHttpRequest();
|
obj = new XMLHttpRequest();
|
||||||
}
|
}
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendReq(serverFileName, variableNames, variableValues) {
|
function sendReq(serverFileName, variableNames, variableValues) {
|
||||||
var paramString = '';
|
var paramString = '';
|
||||||
|
|
||||||
variableNames = variableNames.split(',');
|
variableNames = variableNames.split(',');
|
||||||
variableValues = variableValues.split(',');
|
variableValues = variableValues.split(',');
|
||||||
|
|
||||||
for(i=0; i<variableNames.length; i++) {
|
for(i=0; i<variableNames.length; i++) {
|
||||||
paramString += variableNames[i]+'='+variableValues[i]+'&';
|
paramString += variableNames[i]+'='+variableValues[i]+'&';
|
||||||
}
|
}
|
||||||
paramString = paramString.substring(0, (paramString.length-1));
|
paramString = paramString.substring(0, (paramString.length-1));
|
||||||
|
|
||||||
if (paramString.length == 0) {
|
if (paramString.length == 0) {
|
||||||
http.open('get', serverFileName);
|
http.open('get', serverFileName);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
http.open('get', serverFileName+'?'+paramString);
|
http.open('get', serverFileName+'?'+paramString);
|
||||||
}
|
}
|
||||||
http.onreadystatechange = handleResponse;
|
http.onreadystatechange = handleResponse;
|
||||||
http.send(null);
|
http.send(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleResponse() {
|
function handleResponse() {
|
||||||
|
|
||||||
if(http.readyState == 4){
|
if(http.readyState == 4){
|
||||||
responseText = http.responseText;
|
responseText = http.responseText;
|
||||||
document.getElementById(objectId).innerHTML = responseText;
|
document.getElementById(objectId).innerHTML = responseText;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+45
-45
@@ -1,46 +1,46 @@
|
|||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
$("#user_input").autocomplete({
|
$("#user_input").autocomplete({
|
||||||
source: "inc/suchepatient.php",
|
source: "inc/suchepatient.php",
|
||||||
minLength: 3,
|
minLength: 3,
|
||||||
select: function( event, ui ) {
|
select: function( event, ui ) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
$("#userid_input").val(ui.item.id);
|
$("#userid_input").val(ui.item.id);
|
||||||
$("#user_input").val(ui.item.value);
|
$("#user_input").val(ui.item.value);
|
||||||
$("#formbenutzersuche").submit();
|
$("#formbenutzersuche").submit();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
function behandelt(str) {
|
function behandelt(str) {
|
||||||
|
|
||||||
|
|
||||||
result = $.ajax({
|
result = $.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
async: false,
|
async: false,
|
||||||
url: 'inc/behandelt.php',
|
url: 'inc/behandelt.php',
|
||||||
data: ({
|
data: ({
|
||||||
terminid: str
|
terminid: str
|
||||||
})
|
})
|
||||||
}).responseText;
|
}).responseText;
|
||||||
document.getElementById(str).style.display = 'none';
|
document.getElementById(str).style.display = 'none';
|
||||||
//window.location.reload(false);
|
//window.location.reload(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function submitForm(sub) {
|
function submitForm(sub) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
result = $.ajax({
|
result = $.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
async: false,
|
async: false,
|
||||||
url: 'impfadmin.php',
|
url: 'impfadmin.php',
|
||||||
data: ({
|
data: ({
|
||||||
aktion: 4,
|
aktion: 4,
|
||||||
searchdate: sub
|
searchdate: sub
|
||||||
})
|
})
|
||||||
}).responseText;
|
}).responseText;
|
||||||
//window.location.reload(false);
|
//window.location.reload(false);
|
||||||
document.body.innerHTML = result;
|
document.body.innerHTML = result;
|
||||||
}
|
}
|
||||||
+110
-110
@@ -1,111 +1,111 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once(__DIR__ . "/../inc/config.inc.php");
|
require_once(__DIR__ . "/../inc/config.inc.php");
|
||||||
require_once(__DIR__ . "/../inc/functions.inc.php");
|
require_once(__DIR__ . "/../inc/functions.inc.php");
|
||||||
|
|
||||||
//Überprüfe, dass der User eingeloggt ist
|
//Überprüfe, dass der User eingeloggt ist
|
||||||
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
||||||
$user = check_admin_user();
|
$user = check_admin_user();
|
||||||
|
|
||||||
include("templates/header.inc.php");
|
include("templates/header.inc.php");
|
||||||
|
|
||||||
echo '<div class="container main-container">';
|
echo '<div class="container main-container">';
|
||||||
|
|
||||||
function build_calendar($month, $year) {
|
function build_calendar($month, $year) {
|
||||||
$daysOfWeek = array('M','T','W','T','F','S','S');
|
$daysOfWeek = array('M','T','W','T','F','S','S');
|
||||||
$firstDayOfMonth = mktime(0,0,0,$month,1,$year);
|
$firstDayOfMonth = mktime(0,0,0,$month,1,$year);
|
||||||
$numberDays = date('t',$firstDayOfMonth);
|
$numberDays = date('t',$firstDayOfMonth);
|
||||||
$dateComponents = getdate($firstDayOfMonth);
|
$dateComponents = getdate($firstDayOfMonth);
|
||||||
$monthName = $dateComponents['month'];
|
$monthName = $dateComponents['month'];
|
||||||
$dayOfWeek = $dateComponents['wday'] -1;
|
$dayOfWeek = $dateComponents['wday'] -1;
|
||||||
$calendar = "<table class='calendar table table-condensed table-bordered' >";
|
$calendar = "<table class='calendar table table-condensed table-bordered' >";
|
||||||
$calendar .= "<caption><h3>$monthName $year</h3></caption>";
|
$calendar .= "<caption><h3>$monthName $year</h3></caption>";
|
||||||
$calendar .= "<tr>";
|
$calendar .= "<tr>";
|
||||||
foreach($daysOfWeek as $day) {
|
foreach($daysOfWeek as $day) {
|
||||||
$calendar .= "<th class='header'>$day</th>";
|
$calendar .= "<th class='header'>$day</th>";
|
||||||
}
|
}
|
||||||
$currentDay = 1;
|
$currentDay = 1;
|
||||||
$calendar .= "</tr><tr>";
|
$calendar .= "</tr><tr>";
|
||||||
if ($dayOfWeek > 0) {
|
if ($dayOfWeek > 0) {
|
||||||
$calendar .= "<td colspan='$dayOfWeek'> </td>";
|
$calendar .= "<td colspan='$dayOfWeek'> </td>";
|
||||||
}
|
}
|
||||||
$month = str_pad($month, 2, "0", STR_PAD_LEFT);
|
$month = str_pad($month, 2, "0", STR_PAD_LEFT);
|
||||||
while($currentDay <= $numberDays){
|
while($currentDay <= $numberDays){
|
||||||
if($dayOfWeek == 7){
|
if($dayOfWeek == 7){
|
||||||
$dayOfWeek = 0;
|
$dayOfWeek = 0;
|
||||||
$calendar .= "</tr><tr>";
|
$calendar .= "</tr><tr>";
|
||||||
}
|
}
|
||||||
$currentDayRel = str_pad($currentDay, 2, "0", STR_PAD_LEFT);
|
$currentDayRel = str_pad($currentDay, 2, "0", STR_PAD_LEFT);
|
||||||
$date = "$year-$month-$currentDayRel";
|
$date = "$year-$month-$currentDayRel";
|
||||||
|
|
||||||
// Is this today?
|
// Is this today?
|
||||||
if(date('Y-m-d') == $date) {
|
if(date('Y-m-d') == $date) {
|
||||||
$calendar .= "<td class='day success' rel='$date' onClick='submitForm('".$date ."')'><b>$currentDay</b>";
|
$calendar .= "<td class='day success' rel='$date' onClick='submitForm('".$date ."')'><b>$currentDay</b>";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$calendar .= "<td class='day' rel='$date' onClick='submitForm(\"".$date ."\")'>$currentDay";
|
$calendar .= "<td class='day' rel='$date' onClick='submitForm(\"".$date ."\")'>$currentDay";
|
||||||
|
|
||||||
}
|
}
|
||||||
$calendar .= "<form action='". $_SERVER['PHP_SELF'] . "' name='".$date ."' method=POST><input type=hidden name=searchdate value='". $date. "'><input type=hidden name=aktion value='4'></form>";
|
$calendar .= "<form action='". $_SERVER['PHP_SELF'] . "' name='".$date ."' method=POST><input type=hidden name=searchdate value='". $date. "'><input type=hidden name=aktion value='4'></form>";
|
||||||
$calendar .= AuswertungImpfungdailycalendar($date);
|
$calendar .= AuswertungImpfungdailycalendar($date);
|
||||||
$calendar .= "</td>";
|
$calendar .= "</td>";
|
||||||
|
|
||||||
$currentDay++;
|
$currentDay++;
|
||||||
$dayOfWeek++;
|
$dayOfWeek++;
|
||||||
}
|
}
|
||||||
if($dayOfWeek != 7){
|
if($dayOfWeek != 7){
|
||||||
$remainingDays = 7 - $dayOfWeek;
|
$remainingDays = 7 - $dayOfWeek;
|
||||||
$calendar .= "<td colspan='$remainingDays'> </td>";
|
$calendar .= "<td colspan='$remainingDays'> </td>";
|
||||||
}
|
}
|
||||||
$calendar .= "</tr>";
|
$calendar .= "</tr>";
|
||||||
$calendar .= "</table>";
|
$calendar .= "</table>";
|
||||||
return $calendar;
|
return $calendar;
|
||||||
}
|
}
|
||||||
|
|
||||||
$calendar = build_calendar(7, 2021);
|
$calendar = build_calendar(7, 2021);
|
||||||
|
|
||||||
//$calendar = '<div style="width:200px">' . $calendar . '</div>';
|
//$calendar = '<div style="width:200px">' . $calendar . '</div>';
|
||||||
|
|
||||||
$calendar .= '<style type="text/css">table tbody tr td, table tbody tr th { text-align: center; }</style>';
|
$calendar .= '<style type="text/css">table tbody tr td, table tbody tr th { text-align: center; }</style>';
|
||||||
|
|
||||||
|
|
||||||
$calendar .= '<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>';
|
$calendar .= '<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>';
|
||||||
$calendar .= "<script>function submitForm(sub) {
|
$calendar .= "<script>function submitForm(sub) {
|
||||||
result = $.ajax({
|
result = $.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
async: false,
|
async: false,
|
||||||
url: 'impfadmin.php',
|
url: 'impfadmin.php',
|
||||||
data: ({
|
data: ({
|
||||||
aktion: 4,
|
aktion: 4,
|
||||||
searchdate: sub
|
searchdate: sub
|
||||||
})
|
})
|
||||||
}).responseText;
|
}).responseText;
|
||||||
//window.location.reload(false);
|
//window.location.reload(false);
|
||||||
document.body.innerHTML = result;
|
document.body.innerHTML = result;
|
||||||
}</script>";
|
}</script>";
|
||||||
|
|
||||||
/*
|
/*
|
||||||
$calendar .= "<script>function submitForm(sub) {
|
$calendar .= "<script>function submitForm(sub) {
|
||||||
// Form fields, see IDs above
|
// Form fields, see IDs above
|
||||||
const params = {
|
const params = {
|
||||||
aktion: 4
|
aktion: 4
|
||||||
}
|
}
|
||||||
|
|
||||||
const http = new XMLHttpRequest()
|
const http = new XMLHttpRequest()
|
||||||
http.open('POST', 'impfadmin.php')
|
http.open('POST', 'impfadmin.php')
|
||||||
http.setRequestHeader('Content-type', 'application/json')
|
http.setRequestHeader('Content-type', 'application/json')
|
||||||
http.send(JSON.stringify(params)) // Make sure to stringify
|
http.send(JSON.stringify(params)) // Make sure to stringify
|
||||||
http.onload = function() {
|
http.onload = function() {
|
||||||
// Do whatever with response
|
// Do whatever with response
|
||||||
//alert(sub)
|
//alert(sub)
|
||||||
document.body.innerHTML = http.responseText;
|
document.body.innerHTML = http.responseText;
|
||||||
}
|
}
|
||||||
}</script>";
|
}</script>";
|
||||||
*/
|
*/
|
||||||
print $calendar;
|
print $calendar;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
+95
-95
@@ -1,96 +1,96 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="favicon.png">
|
<link rel="shortcut icon" href="favicon.png">
|
||||||
|
|
||||||
<title>Sticky Footer Navbar Template for Bootstrap</title>
|
<title>Sticky Footer Navbar Template for Bootstrap</title>
|
||||||
|
|
||||||
<!-- Bootstrap core CSS -->
|
<!-- Bootstrap core CSS -->
|
||||||
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
|
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
<!-- Custom styles for this template -->
|
<!-- Custom styles for this template -->
|
||||||
<link href="http://getbootstrap.com/examples/sticky-footer-navbar/sticky-footer-navbar.css" rel="stylesheet">
|
<link href="http://getbootstrap.com/examples/sticky-footer-navbar/sticky-footer-navbar.css" rel="stylesheet">
|
||||||
|
|
||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<!-- Wrap all page content here -->
|
<!-- Wrap all page content here -->
|
||||||
<div id="wrap">
|
<div id="wrap">
|
||||||
|
|
||||||
<!-- Fixed navbar -->
|
<!-- Fixed navbar -->
|
||||||
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
<span class="sr-only">Toggle navigation</span>
|
<span class="sr-only">Toggle navigation</span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="#">Project name</a>
|
<a class="navbar-brand" href="#">Project name</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse navbar-collapse">
|
<div class="collapse navbar-collapse">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<li class="active"><a href="#">Home</a></li>
|
<li class="active"><a href="#">Home</a></li>
|
||||||
<li><a href="#about">About</a></li>
|
<li><a href="#about">About</a></li>
|
||||||
<li><a href="#contact">Contact</a></li>
|
<li><a href="#contact">Contact</a></li>
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li><a href="#">Action</a></li>
|
<li><a href="#">Action</a></li>
|
||||||
<li><a href="#">Another action</a></li>
|
<li><a href="#">Another action</a></li>
|
||||||
<li><a href="#">Something else here</a></li>
|
<li><a href="#">Something else here</a></li>
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
<li class="dropdown-header">Nav header</li>
|
<li class="dropdown-header">Nav header</li>
|
||||||
<li><a href="#">Separated link</a></li>
|
<li><a href="#">Separated link</a></li>
|
||||||
<li><a href="#">One more separated link</a></li>
|
<li><a href="#">One more separated link</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div><!--/.nav-collapse -->
|
</div><!--/.nav-collapse -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Begin page content -->
|
<!-- Begin page content -->
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
<h1>PHP Calendar</h1>
|
<h1>PHP Calendar</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php print $calendar; ?>
|
<?php print $calendar; ?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer">
|
<div id="footer">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<p class="text-muted">Place sticky footer content here.</p>
|
<p class="text-muted">Place sticky footer content here.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
|
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
|
||||||
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
|
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
|
||||||
<!--
|
<!--
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.syphon/0.4.1/backbone.syphon.min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.syphon/0.4.1/backbone.syphon.min.js"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.modelbinder/1.0.4/Backbone.ModelBinder.min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.modelbinder/1.0.4/Backbone.ModelBinder.min.js"></script>
|
||||||
-->
|
-->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+44
-44
@@ -1,45 +1,45 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once __DIR__ . '/../inc/config.inc.php';
|
require_once __DIR__ . '/../inc/config.inc.php';
|
||||||
require_once __DIR__ . '/../inc/functions.inc.php';
|
require_once __DIR__ . '/../inc/functions.inc.php';
|
||||||
|
|
||||||
header('Content-Type: application/json');
|
header('Content-Type: application/json');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$templetid = $_POST['templetid'] ?? '';
|
$templetid = $_POST['templetid'] ?? '';
|
||||||
$anfrageid = (int)($_POST['anfrageid'] ?? 0);
|
$anfrageid = (int)($_POST['anfrageid'] ?? 0);
|
||||||
|
|
||||||
if ($templetid === '' || $anfrageid <= 0) {
|
if ($templetid === '' || $anfrageid <= 0) {
|
||||||
throw new RuntimeException('Fehlende Parameter');
|
throw new RuntimeException('Fehlende Parameter');
|
||||||
}
|
}
|
||||||
|
|
||||||
// URL aus config-Tabelle holen (sicher, unabhängig von globalen Variablen)
|
// URL aus config-Tabelle holen (sicher, unabhängig von globalen Variablen)
|
||||||
$stmt = $pdo->query("SELECT anfragebestaetigung FROM config LIMIT 1");
|
$stmt = $pdo->query("SELECT anfragebestaetigung FROM config LIMIT 1");
|
||||||
$anfragebestaetigung = (string)$stmt->fetchColumn();
|
$anfragebestaetigung = (string)$stmt->fetchColumn();
|
||||||
|
|
||||||
if ($anfragebestaetigung === '') {
|
if ($anfragebestaetigung === '') {
|
||||||
throw new RuntimeException('Config anfragebestaetigung ist leer');
|
throw new RuntimeException('Config anfragebestaetigung ist leer');
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = renderTemplateForAnfrage(
|
$result = renderTemplateForAnfrage(
|
||||||
$pdo,
|
$pdo,
|
||||||
$anfrageid,
|
$anfrageid,
|
||||||
$templetid,
|
$templetid,
|
||||||
$anfragebestaetigung, // aus config
|
$anfragebestaetigung, // aus config
|
||||||
[
|
[
|
||||||
// optional:
|
// optional:
|
||||||
// '%TERMINZEITVORGABE%' => $Zeitanzeige,
|
// '%TERMINZEITVORGABE%' => $Zeitanzeige,
|
||||||
],
|
],
|
||||||
false // CP1252 nur wenn nötig
|
false // CP1252 nur wenn nötig
|
||||||
);
|
);
|
||||||
|
|
||||||
echo json_encode([
|
echo json_encode([
|
||||||
'betreff' => $result['betreff'],
|
'betreff' => $result['betreff'],
|
||||||
'body' => $result['body']
|
'body' => $result['body']
|
||||||
]);
|
]);
|
||||||
|
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
http_response_code(500);
|
http_response_code(500);
|
||||||
echo json_encode([
|
echo json_encode([
|
||||||
'error' => $e->getMessage()
|
'error' => $e->getMessage()
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
@@ -1,19 +1,19 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
// E-Mail Vorlage laden
|
// E-Mail Vorlage laden
|
||||||
|
|
||||||
$templetid = $_POST["templetid"];
|
$templetid = $_POST["templetid"];
|
||||||
$anfrageid = $_POST["anfrageid"];
|
$anfrageid = $_POST["anfrageid"];
|
||||||
$queryconfig = mysqli_query($con, "Select betreff,body,name FROM mailtemplates WHERE templetid='$templetid' ");
|
$queryconfig = mysqli_query($con, "Select betreff,body,name FROM mailtemplates WHERE templetid='$templetid' ");
|
||||||
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
||||||
$body = $rowconfig["body"];
|
$body = $rowconfig["body"];
|
||||||
$betreff = $rowconfig["betreff"];
|
$betreff = $rowconfig["betreff"];
|
||||||
$name = $rowconfig["name"];
|
$name = $rowconfig["name"];
|
||||||
|
|
||||||
|
|
||||||
$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
|
$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
|
||||||
$body = iconv('CP1252//IGNORE', 'UTF-8' , $body);
|
$body = iconv('CP1252//IGNORE', 'UTF-8' , $body);
|
||||||
echo $betreff;
|
echo $betreff;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
+59
-59
@@ -1,60 +1,60 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
// E-Mail Vorlage laden
|
// E-Mail Vorlage laden
|
||||||
|
|
||||||
$templetid = $_POST["templetid"];
|
$templetid = $_POST["templetid"];
|
||||||
$anfrageid = $_POST["anfrageid"];
|
$anfrageid = $_POST["anfrageid"];
|
||||||
$queryconfig = mysqli_query($con, "Select betreff,body,name FROM mailtemplates WHERE templetid='$templetid' ");
|
$queryconfig = mysqli_query($con, "Select betreff,body,name FROM mailtemplates WHERE templetid='$templetid' ");
|
||||||
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
||||||
$body = $rowconfig["body"];
|
$body = $rowconfig["body"];
|
||||||
$betreff = $rowconfig["betreff"];
|
$betreff = $rowconfig["betreff"];
|
||||||
$name = $rowconfig["name"];
|
$name = $rowconfig["name"];
|
||||||
|
|
||||||
$sqlstring = "SELECT * FROM anfragen INNER JOIN user ON anfragen.personid = user.userid WHERE anfrageid ='" . $anfrageid . "'";
|
$sqlstring = "SELECT * FROM anfragen INNER JOIN user ON anfragen.personid = user.userid WHERE anfrageid ='" . $anfrageid . "'";
|
||||||
$query = mysqli_query($con,$sqlstring);
|
$query = mysqli_query($con,$sqlstring);
|
||||||
$rowtime = mysqli_fetch_assoc($query);
|
$rowtime = mysqli_fetch_assoc($query);
|
||||||
$vorname = $rowtime["vorname"];
|
$vorname = $rowtime["vorname"];
|
||||||
$nachname = $rowtime["nachname"];
|
$nachname = $rowtime["nachname"];
|
||||||
$geburtstag = $rowtime["geburtstag"];
|
$geburtstag = $rowtime["geburtstag"];
|
||||||
$tele = $rowtime["tele"];
|
$tele = $rowtime["tele"];
|
||||||
$plz = $rowtime["plz"];
|
$plz = $rowtime["plz"];
|
||||||
$ort = $rowtime["ort"];
|
$ort = $rowtime["ort"];
|
||||||
$strasse = $rowtime["strasse"];
|
$strasse = $rowtime["strasse"];
|
||||||
$adresse = "$ort $plz, $stasse";
|
$adresse = "$ort $plz, $stasse";
|
||||||
$empfaenger = $rowtime["mail"];
|
$empfaenger = $rowtime["mail"];
|
||||||
$hash = $rowtime["hash"];
|
$hash = $rowtime["hash"];
|
||||||
$timeid = $rowtime["timeid"];
|
$timeid = $rowtime["timeid"];
|
||||||
$userausgabe = $vorname . " " . $nachname;
|
$userausgabe = $vorname . " " . $nachname;
|
||||||
$anfragenlogin = $anfragebestaetigung . "?id=" . $hash ;
|
$anfragenlogin = $anfragebestaetigung . "?id=" . $hash ;
|
||||||
|
|
||||||
$nachricht = $rowtime["nachricht"];
|
$nachricht = $rowtime["nachricht"];
|
||||||
$medikamenteins = $rowtime["medikament1"];
|
$medikamenteins = $rowtime["medikament1"];
|
||||||
$medikamentzwei = $rowtime["medikament2"];
|
$medikamentzwei = $rowtime["medikament2"];
|
||||||
$anforderungart = $rowtime["anforderungart"];
|
$anforderungart = $rowtime["anforderungart"];
|
||||||
|
|
||||||
$sqlimpfstoffstring = "SELECT artname FROM anfrageart WHERE artid ='" . $anforderungart . "'";
|
$sqlimpfstoffstring = "SELECT artname FROM anfrageart WHERE artid ='" . $anforderungart . "'";
|
||||||
$queryimpfstoff = mysqli_query($con,$sqlimpfstoffstring);
|
$queryimpfstoff = mysqli_query($con,$sqlimpfstoffstring);
|
||||||
$rowimpf = mysqli_fetch_assoc($queryimpfstoff);
|
$rowimpf = mysqli_fetch_assoc($queryimpfstoff);
|
||||||
$rezeptart = $rowimpf["artname"];
|
$rezeptart = $rowimpf["artname"];
|
||||||
$body = str_replace("%BENUTZERVORNAME%", $vorname, $body);
|
$body = str_replace("%BENUTZERVORNAME%", $vorname, $body);
|
||||||
$body = str_replace("%BENUTZERNACHNAME%", $nachname, $body);
|
$body = str_replace("%BENUTZERNACHNAME%", $nachname, $body);
|
||||||
$body = str_replace("%BENUTZERGEBURTSTAG%", $geburtstag, $body);
|
$body = str_replace("%BENUTZERGEBURTSTAG%", $geburtstag, $body);
|
||||||
$body = str_replace("%BENUTZERADRESSE%", $adresse, $body);
|
$body = str_replace("%BENUTZERADRESSE%", $adresse, $body);
|
||||||
$body = str_replace("%TERMINZEITVORGABE%", $Zeitanzeige, $body);
|
$body = str_replace("%TERMINZEITVORGABE%", $Zeitanzeige, $body);
|
||||||
$body = str_replace("%TERMINIMPFSTOFF%", $impfstofftext, $body);
|
$body = str_replace("%TERMINIMPFSTOFF%", $impfstofftext, $body);
|
||||||
$body = str_replace("%TERMINLOGIN%", $terminlogin, $body);
|
$body = str_replace("%TERMINLOGIN%", $terminlogin, $body);
|
||||||
$body = str_replace("%WARTELISTELOGIN%", $wartelistelogin, $body);
|
$body = str_replace("%WARTELISTELOGIN%", $wartelistelogin, $body);
|
||||||
$body = str_replace("%WARTELISTEIMPFSTOFF%", $impfstofftextwarte, $body);
|
$body = str_replace("%WARTELISTEIMPFSTOFF%", $impfstofftextwarte, $body);
|
||||||
$body = str_replace("%WARTELISTEIMPFANGEBOT%", $impfangebottext, $body);
|
$body = str_replace("%WARTELISTEIMPFANGEBOT%", $impfangebottext, $body);
|
||||||
$body = str_replace("%REZEPTART%", $rezeptart, $body);
|
$body = str_replace("%REZEPTART%", $rezeptart, $body);
|
||||||
$body = str_replace("%MEDIKAMENTNUMMEREINS%", $medikamenteins, $body);
|
$body = str_replace("%MEDIKAMENTNUMMEREINS%", $medikamenteins, $body);
|
||||||
$body = str_replace("%MEDIKAMENTNUMMERZWEI%", $medikamentzwei, $body);
|
$body = str_replace("%MEDIKAMENTNUMMERZWEI%", $medikamentzwei, $body);
|
||||||
$body = str_replace("%ANFRAGENACHRICHT%", $nachricht, $body);
|
$body = str_replace("%ANFRAGENACHRICHT%", $nachricht, $body);
|
||||||
$body = str_replace("%ANFRAGENLOGIN%", $anfragenlogin, $body);
|
$body = str_replace("%ANFRAGENLOGIN%", $anfragenlogin, $body);
|
||||||
|
|
||||||
$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
|
$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
|
||||||
$body = iconv('CP1252//IGNORE', 'UTF-8' , $body);
|
$body = iconv('CP1252//IGNORE', 'UTF-8' , $body);
|
||||||
echo $body;
|
echo $body;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
+5
-5
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Zeigt alle Informationen (Standardwert ist INFO_ALL)
|
// Zeigt alle Informationen (Standardwert ist INFO_ALL)
|
||||||
phpinfo();
|
phpinfo();
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -87,4 +87,4 @@
|
|||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|||||||
+856
-856
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,3 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once __DIR__ . '/impfworkflow_warteliste.php';
|
require_once __DIR__ . '/impfworkflow_warteliste.php';
|
||||||
|
|
||||||
|
|||||||
+169
-169
@@ -1,169 +1,169 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
// WICHTIG: Pfade aus /admin heraus korrekt auflösen
|
// WICHTIG: Pfade aus /admin heraus korrekt auflösen
|
||||||
require_once __DIR__ . "/../inc/config.inc.php";
|
require_once __DIR__ . "/../inc/config.inc.php";
|
||||||
require_once __DIR__ . "/../inc/functions.inc.php";
|
require_once __DIR__ . "/../inc/functions.inc.php";
|
||||||
|
|
||||||
// Login prüfen
|
// Login prüfen
|
||||||
$user = check_admin_user();
|
$user = check_admin_user();
|
||||||
|
|
||||||
include __DIR__ . "/templates/header.inc.php";
|
include __DIR__ . "/templates/header.inc.php";
|
||||||
|
|
||||||
$user = check_admin_user();
|
$user = check_admin_user();
|
||||||
$internUserId = (int)$_SESSION['auth']['id'];
|
$internUserId = (int)$_SESSION['auth']['id'];
|
||||||
|
|
||||||
if (!$user) { echo "<div class='container main-container'><h3>Erst anmelden: <a href=login.php>Login</a></h3><br>";
|
if (!$user) { echo "<div class='container main-container'><h3>Erst anmelden: <a href=login.php>Login</a></h3><br>";
|
||||||
|
|
||||||
include("templates/footer.inc.php");
|
include("templates/footer.inc.php");
|
||||||
exit; }
|
exit; }
|
||||||
?>
|
?>
|
||||||
<script src="js/tinymce/tinymce.min.js" referrerpolicy="origin"></script>
|
<script src="js/tinymce/tinymce.min.js" referrerpolicy="origin"></script>
|
||||||
|
|
||||||
<div class="container main-container">
|
<div class="container main-container">
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
echo '<div style="float: right; width: 200px; ">';
|
echo '<div style="float: right; width: 200px; ">';
|
||||||
echo "<form action='" . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . "' id='formbenutzersuche' method='POST'>";
|
echo "<form action='" . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . "' id='formbenutzersuche' method='POST'>";
|
||||||
echo '<input type="hidden" name="aktion" value="benutzersuche" />';
|
echo '<input type="hidden" name="aktion" value="benutzersuche" />';
|
||||||
echo '<input type="hidden" name="userid_input" id="userid_input" />';
|
echo '<input type="hidden" name="userid_input" id="userid_input" />';
|
||||||
echo '<label>Benutzersuche Impfen:</label>
|
echo '<label>Benutzersuche Impfen:</label>
|
||||||
<input type="text" id="user_input" name="skill_input" width="48"/>';
|
<input type="text" id="user_input" name="skill_input" width="48"/>';
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
echo '</div>';
|
echo '</div>';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<h2>Administration - webseiteninhalt anpassen</h2>
|
<h2>Administration - webseiteninhalt anpassen</h2>
|
||||||
|
|
||||||
Hallo <?php echo htmlspecialchars($user['vorname'] ?? '', ENT_QUOTES, 'UTF-8'); ?>,<br>
|
Hallo <?php echo htmlspecialchars($user['vorname'] ?? '', ENT_QUOTES, 'UTF-8'); ?>,<br>
|
||||||
Herzlich Willkommen im internen Bereich!<br><br>
|
Herzlich Willkommen im internen Bereich!<br><br>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$aktion = $_POST["aktion"] ?? null;
|
$aktion = $_POST["aktion"] ?? null;
|
||||||
$subaktion = $_POST["subaktion"] ?? null;
|
$subaktion = $_POST["subaktion"] ?? null;
|
||||||
|
|
||||||
if (!check_worker()) {
|
if (!check_worker()) {
|
||||||
echo "Dieser Bereich ist nur für Bearbeiter freigeschaltet!<br><br><br>";
|
echo "Dieser Bereich ist nur für Bearbeiter freigeschaltet!<br><br><br>";
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
// =========================
|
// =========================
|
||||||
// EDIT-MODUS
|
// EDIT-MODUS
|
||||||
// =========================
|
// =========================
|
||||||
if ($aktion === "edit") {
|
if ($aktion === "edit") {
|
||||||
|
|
||||||
// ------- Speichern -------
|
// ------- Speichern -------
|
||||||
if ($subaktion === "save") {
|
if ($subaktion === "save") {
|
||||||
|
|
||||||
$inhaltid = (int)($_POST["inhaltid"] ?? 0);
|
$inhaltid = (int)($_POST["inhaltid"] ?? 0);
|
||||||
$inhalt = $_POST["inhalt"] ?? "";
|
$inhalt = $_POST["inhalt"] ?? "";
|
||||||
$webseitentitel = $_POST["webseitentitel"] ?? "";
|
$webseitentitel = $_POST["webseitentitel"] ?? "";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
UPDATE webseiteninhalt
|
UPDATE webseiteninhalt
|
||||||
SET inhalt = :inhalt,
|
SET inhalt = :inhalt,
|
||||||
webseitentitel = :webseitentitel
|
webseitentitel = :webseitentitel
|
||||||
WHERE inhaltid = :inhaltid
|
WHERE inhaltid = :inhaltid
|
||||||
");
|
");
|
||||||
$stmt->execute([
|
$stmt->execute([
|
||||||
':inhalt' => $inhalt,
|
':inhalt' => $inhalt,
|
||||||
':webseitentitel' => $webseitentitel,
|
':webseitentitel' => $webseitentitel,
|
||||||
':inhaltid' => $inhaltid,
|
':inhaltid' => $inhaltid,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
echo "<div class='infofenster'><h4>Speicherung der Vorlage erfolgreich!</h4></div>";
|
echo "<div class='infofenster'><h4>Speicherung der Vorlage erfolgreich!</h4></div>";
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
echo "<div class='infofenster'><h4>Fehler bei der Speicherung der Vorlage!</h4></div>";
|
echo "<div class='infofenster'><h4>Fehler bei der Speicherung der Vorlage!</h4></div>";
|
||||||
// Optional debug:
|
// Optional debug:
|
||||||
// echo "<pre>" . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "</pre>";
|
// echo "<pre>" . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "</pre>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ------- Vorlage laden -------
|
// ------- Vorlage laden -------
|
||||||
$inhaltid = (int)($_POST["inhaltid"] ?? 0);
|
$inhaltid = (int)($_POST["inhaltid"] ?? 0);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
SELECT webseitentitel, inhalt
|
SELECT webseitentitel, inhalt
|
||||||
FROM webseiteninhalt
|
FROM webseiteninhalt
|
||||||
WHERE inhaltid = ?
|
WHERE inhaltid = ?
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
");
|
");
|
||||||
$stmt->execute([$inhaltid]);
|
$stmt->execute([$inhaltid]);
|
||||||
$rowconfig = $stmt->fetch(PDO::FETCH_ASSOC);
|
$rowconfig = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
if (!$rowconfig) {
|
if (!$rowconfig) {
|
||||||
echo "<div class='infofenster'><h4>Vorlage nicht gefunden.</h4></div>";
|
echo "<div class='infofenster'><h4>Vorlage nicht gefunden.</h4></div>";
|
||||||
} else {
|
} else {
|
||||||
$webseitentitel = $rowconfig["webseitentitel"] ?? "";
|
$webseitentitel = $rowconfig["webseitentitel"] ?? "";
|
||||||
$inhalt = $rowconfig["inhalt"] ?? "";
|
$inhalt = $rowconfig["inhalt"] ?? "";
|
||||||
|
|
||||||
echo "<h1>Webseiteninhalt bearbeiten</h1><br>";
|
echo "<h1>Webseiteninhalt bearbeiten</h1><br>";
|
||||||
echo "<h4>Vorlage: " . htmlspecialchars($webseitentitel, ENT_QUOTES, 'UTF-8') . "</h4>";
|
echo "<h4>Vorlage: " . htmlspecialchars($webseitentitel, ENT_QUOTES, 'UTF-8') . "</h4>";
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
|
|
||||||
echo "<form action='" . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . "' method='POST'>";
|
echo "<form action='" . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . "' method='POST'>";
|
||||||
echo "<input name='webseitentitel' type='hidden' value='" . htmlspecialchars($webseitentitel, ENT_QUOTES, 'UTF-8') . "'>";
|
echo "<input name='webseitentitel' type='hidden' value='" . htmlspecialchars($webseitentitel, ENT_QUOTES, 'UTF-8') . "'>";
|
||||||
echo "<div id='my-editor'></div>";
|
echo "<div id='my-editor'></div>";
|
||||||
// Inhalt ist HTML -> bewusst NICHT escapen, sonst zerstörst du HTML im Editor
|
// Inhalt ist HTML -> bewusst NICHT escapen, sonst zerstörst du HTML im Editor
|
||||||
echo "<textarea height='200' name='inhalt' id='trumbowyg-demo'>" . $inhalt . "</textarea>";
|
echo "<textarea height='200' name='inhalt' id='trumbowyg-demo'>" . $inhalt . "</textarea>";
|
||||||
echo "<input name='aktion' type='hidden' value='edit'>";
|
echo "<input name='aktion' type='hidden' value='edit'>";
|
||||||
echo "<input name='subaktion' type='hidden' value='save'>";
|
echo "<input name='subaktion' type='hidden' value='save'>";
|
||||||
echo "<input name='inhaltid' type='hidden' value='" . (int)$inhaltid . "'><br><br>";
|
echo "<input name='inhaltid' type='hidden' value='" . (int)$inhaltid . "'><br><br>";
|
||||||
echo "<input type='submit' value='Speichern'><br>";
|
echo "<input type='submit' value='Speichern'><br>";
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "<form action='" . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . "' method='POST'>";
|
echo "<form action='" . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . "' method='POST'>";
|
||||||
echo "<input type='submit' class='btn btn-primary btn-sm' value='zurück'>";
|
echo "<input type='submit' class='btn btn-primary btn-sm' value='zurück'>";
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
echo "<div class='infofenster'><h4>Fehler beim Laden der Vorlage.</h4></div>";
|
echo "<div class='infofenster'><h4>Fehler beim Laden der Vorlage.</h4></div>";
|
||||||
// Optional debug:
|
// Optional debug:
|
||||||
// echo "<pre>" . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "</pre>";
|
// echo "<pre>" . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "</pre>";
|
||||||
}
|
}
|
||||||
|
|
||||||
// =========================
|
// =========================
|
||||||
// LISTE (Auswahl)
|
// LISTE (Auswahl)
|
||||||
// =========================
|
// =========================
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
echo "<form action='" . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . "' method='POST'>";
|
echo "<form action='" . htmlspecialchars($_SERVER['PHP_SELF'], ENT_QUOTES, 'UTF-8') . "' method='POST'>";
|
||||||
echo "Wählen Sie die zu bearbeitenden Webseiteninhalt aus:<br><br>";
|
echo "Wählen Sie die zu bearbeitenden Webseiteninhalt aus:<br><br>";
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
SELECT webseitentitel, inhaltid
|
SELECT webseitentitel, inhaltid
|
||||||
FROM webseiteninhalt
|
FROM webseiteninhalt
|
||||||
ORDER BY webseitentitel
|
ORDER BY webseitentitel
|
||||||
");
|
");
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
echo "<input name='aktion' type='hidden' value='edit'>";
|
echo "<input name='aktion' type='hidden' value='edit'>";
|
||||||
echo "<select name='inhaltid' class='form-control'>";
|
echo "<select name='inhaltid' class='form-control'>";
|
||||||
|
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$id = (int)$row["inhaltid"];
|
$id = (int)$row["inhaltid"];
|
||||||
$titel = (string)($row["webseitentitel"] ?? "");
|
$titel = (string)($row["webseitentitel"] ?? "");
|
||||||
echo "<option value='" . $id . "'>" . htmlspecialchars($titel, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8') . "</option>";
|
echo "<option value='" . $id . "'>" . htmlspecialchars($titel, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8') . "</option>";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "</select><br><br>";
|
echo "</select><br><br>";
|
||||||
echo "<input type='submit' value='Bearbeiten' class='btn btn-primary btn'><br><br><br>";
|
echo "<input type='submit' value='Bearbeiten' class='btn btn-primary btn'><br><br><br>";
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
} catch (Throwable $e) {
|
} catch (Throwable $e) {
|
||||||
echo "<div class='infofenster'><h4>Fehler beim Laden der Liste.</h4></div>";
|
echo "<div class='infofenster'><h4>Fehler beim Laden der Liste.</h4></div>";
|
||||||
// Optional debug:
|
// Optional debug:
|
||||||
// echo "<pre>" . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "</pre>";
|
// echo "<pre>" . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "</pre>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
include __DIR__ . "/templates/footer.inc.php";
|
include __DIR__ . "/templates/footer.inc.php";
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+335
-335
@@ -1,336 +1,336 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Anfragenbestätigung</title>
|
<title>Praxis Creutzburg - Anfragenbestätigung</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<?php
|
<?php
|
||||||
echo showHeaderpraxis();
|
echo showHeaderpraxis();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="box special">
|
<section class="box special">
|
||||||
<h2>Anfrage einsehen</h2>
|
<h2>Anfrage einsehen</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
if(isset($_POST["id"]) || isset($_GET["id"])){
|
if(isset($_POST["id"]) || isset($_GET["id"])){
|
||||||
|
|
||||||
$id = $_POST["id"] ?? ($_GET["id"] ?? null);
|
$id = $_POST["id"] ?? ($_GET["id"] ?? null);
|
||||||
|
|
||||||
if (!$id) {
|
if (!$id) {
|
||||||
echo "<h4>Leider konnten wir Ihre Anforderung nicht verarbeiten.</h4><br>Bitte überprüfen Sie den aufgerufenden Link.<br><br>";
|
echo "<h4>Leider konnten wir Ihre Anforderung nicht verarbeiten.</h4><br>Bitte überprüfen Sie den aufgerufenden Link.<br><br>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Anfrage + Person laden (NEUES SCHEMA)
|
// Anfrage + Person laden (NEUES SCHEMA)
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
SELECT
|
SELECT
|
||||||
a.anfrageid,
|
a.anfrageid,
|
||||||
a.checked,
|
a.checked,
|
||||||
a.nachricht,
|
a.nachricht,
|
||||||
a.medikament1,
|
a.medikament1,
|
||||||
a.medikament2,
|
a.medikament2,
|
||||||
a.anforderungart,
|
a.anforderungart,
|
||||||
a.ordnungsid,
|
a.ordnungsid,
|
||||||
p.vorname,
|
p.vorname,
|
||||||
p.nachname,
|
p.nachname,
|
||||||
p.email,
|
p.email,
|
||||||
p.tele,
|
p.tele,
|
||||||
p.geburtstag
|
p.geburtstag
|
||||||
FROM anfragen a
|
FROM anfragen a
|
||||||
INNER JOIN persons p ON a.requester_person_id = p.person_id
|
INNER JOIN persons p ON a.requester_person_id = p.person_id
|
||||||
WHERE a.hash = ?
|
WHERE a.hash = ?
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
");
|
");
|
||||||
$stmt->execute([$id]);
|
$stmt->execute([$id]);
|
||||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
if (!$row) {
|
if (!$row) {
|
||||||
echo "<h4>Leider konnten wir Ihre Anforderung nicht verarbeiten.</h4><br>Bitte überprüfen Sie den aufgerufenden Link.<br><br>";
|
echo "<h4>Leider konnten wir Ihre Anforderung nicht verarbeiten.</h4><br>Bitte überprüfen Sie den aufgerufenden Link.<br><br>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Variablen aus DB
|
// Variablen aus DB
|
||||||
$anfrageid = (int)$row["anfrageid"];
|
$anfrageid = (int)$row["anfrageid"];
|
||||||
$checked = (int)$row["checked"];
|
$checked = (int)$row["checked"];
|
||||||
|
|
||||||
$vorname = $row["vorname"] ?? "";
|
$vorname = $row["vorname"] ?? "";
|
||||||
$nachname = $row["nachname"] ?? "";
|
$nachname = $row["nachname"] ?? "";
|
||||||
$mail = $row["email"] ?? "";
|
$mail = $row["email"] ?? "";
|
||||||
$tel = $row["tele"] ?? "";
|
$tel = $row["tele"] ?? "";
|
||||||
$geburtstag = $row["geburtstag"] ?? null;
|
$geburtstag = $row["geburtstag"] ?? null;
|
||||||
|
|
||||||
$userausgabe = trim($vorname . " " . $nachname);
|
$userausgabe = trim($vorname . " " . $nachname);
|
||||||
|
|
||||||
$nachricht = $row["nachricht"] ?? "";
|
$nachricht = $row["nachricht"] ?? "";
|
||||||
$medikamenteins = $row["medikament1"] ?? "";
|
$medikamenteins = $row["medikament1"] ?? "";
|
||||||
$medikamentzwei = $row["medikament2"] ?? "";
|
$medikamentzwei = $row["medikament2"] ?? "";
|
||||||
|
|
||||||
$anforderungart = $row["anforderungart"] ?? null;
|
$anforderungart = $row["anforderungart"] ?? null;
|
||||||
$ordnungsid = $row["ordnungsid"] ?? null;
|
$ordnungsid = $row["ordnungsid"] ?? null;
|
||||||
|
|
||||||
// Ordnungsstring wie bisher (deine Funktion)
|
// Ordnungsstring wie bisher (deine Funktion)
|
||||||
$ordnungsstring = GetOrdnungsid($ordnungsid);
|
$ordnungsstring = GetOrdnungsid($ordnungsid);
|
||||||
|
|
||||||
// Rezeptart-Name holen
|
// Rezeptart-Name holen
|
||||||
$rezeptart = null;
|
$rezeptart = null;
|
||||||
if (!empty($anforderungart)) {
|
if (!empty($anforderungart)) {
|
||||||
$stmtArt = $pdo->prepare("SELECT artname FROM anfrageart WHERE artid = ? LIMIT 1");
|
$stmtArt = $pdo->prepare("SELECT artname FROM anfrageart WHERE artid = ? LIMIT 1");
|
||||||
$stmtArt->execute([$anforderungart]);
|
$stmtArt->execute([$anforderungart]);
|
||||||
$rezeptart = $stmtArt->fetchColumn() ?: null;
|
$rezeptart = $stmtArt->fetchColumn() ?: null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ausgabe sicher escapen
|
// Ausgabe sicher escapen
|
||||||
$e = fn($s) => htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8');
|
$e = fn($s) => htmlspecialchars((string)$s, ENT_QUOTES, 'UTF-8');
|
||||||
|
|
||||||
if ($checked === 0) {
|
if ($checked === 0) {
|
||||||
|
|
||||||
echo "<h4>Sie haben Ihre Anfrage aktuell noch nicht bestätigt!<br><br>";
|
echo "<h4>Sie haben Ihre Anfrage aktuell noch nicht bestätigt!<br><br>";
|
||||||
echo "Sie haben die folgenden Anfragedaten:<br><br>";
|
echo "Sie haben die folgenden Anfragedaten:<br><br>";
|
||||||
echo "<h4>Name: " . $e($userausgabe) . "</h4>";
|
echo "<h4>Name: " . $e($userausgabe) . "</h4>";
|
||||||
echo "<h4>Art: " . $e($ordnungsstring) . " - " . $e($rezeptart) . "</h4>";
|
echo "<h4>Art: " . $e($ordnungsstring) . " - " . $e($rezeptart) . "</h4>";
|
||||||
|
|
||||||
if (!empty($medikamenteins)) {
|
if (!empty($medikamenteins)) {
|
||||||
echo "<h4>Medikament1: " . $e($medikamenteins) . "</h4>";
|
echo "<h4>Medikament1: " . $e($medikamenteins) . "</h4>";
|
||||||
}
|
}
|
||||||
if (!empty($medikamentzwei)) {
|
if (!empty($medikamentzwei)) {
|
||||||
echo "<h4>Medikament2: " . $e($medikamentzwei) . "</h4>";
|
echo "<h4>Medikament2: " . $e($medikamentzwei) . "</h4>";
|
||||||
}
|
}
|
||||||
if (!empty($nachricht)) {
|
if (!empty($nachricht)) {
|
||||||
echo "<h4>Nachricht: " . nl2br(strip_tags($nachricht, '<br><b><strong><i><u><p><ul><li>')) . "</h4>";
|
echo "<h4>Nachricht: " . nl2br(strip_tags($nachricht, '<br><b><strong><i><u><p><ul><li>')) . "</h4>";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<form action='" . $e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
echo "<form action='" . $e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
||||||
echo '<input type="hidden" name="anfrageid" value="' . $e($anfrageid) . '" />';
|
echo '<input type="hidden" name="anfrageid" value="' . $e($anfrageid) . '" />';
|
||||||
echo '<input type="hidden" name="aktion" value="2" />';
|
echo '<input type="hidden" name="aktion" value="2" />';
|
||||||
echo '<input type="submit" id="submitbox" value="Anfrage bestätigen!" />';
|
echo '<input type="submit" id="submitbox" value="Anfrage bestätigen!" />';
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
echo "<form action='" . $e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
echo "<form action='" . $e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
||||||
echo '<input type="hidden" name="aktion" value="1" />';
|
echo '<input type="hidden" name="aktion" value="1" />';
|
||||||
echo '<input type="hidden" name="anfrageid" value="' . $e($anfrageid) . '" />';
|
echo '<input type="hidden" name="anfrageid" value="' . $e($anfrageid) . '" />';
|
||||||
echo '<input type="submit" id="submitbox" value="Anfrage löschen!" />';
|
echo '<input type="submit" id="submitbox" value="Anfrage löschen!" />';
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
} elseif ($checked === 1) {
|
} elseif ($checked === 1) {
|
||||||
|
|
||||||
echo "<h4>Sie haben Ihre Anforderung bestätigt!<br><b>Vielen Dank!</b><br>";
|
echo "<h4>Sie haben Ihre Anforderung bestätigt!<br><b>Vielen Dank!</b><br>";
|
||||||
echo "Sie haben die folgenden Anfragedaten:<br><br>";
|
echo "Sie haben die folgenden Anfragedaten:<br><br>";
|
||||||
echo "<h4>Name: " . $e($userausgabe) . "</h4>";
|
echo "<h4>Name: " . $e($userausgabe) . "</h4>";
|
||||||
echo "<h4>Art: " . $e($rezeptart) . "</h4>";
|
echo "<h4>Art: " . $e($rezeptart) . "</h4>";
|
||||||
|
|
||||||
if (!empty($medikamenteins)) {
|
if (!empty($medikamenteins)) {
|
||||||
echo "<h4>Medikament1: " . $e($medikamenteins) . "</h4>";
|
echo "<h4>Medikament1: " . $e($medikamenteins) . "</h4>";
|
||||||
}
|
}
|
||||||
if (!empty($medikamentzwei)) {
|
if (!empty($medikamentzwei)) {
|
||||||
echo "<h4>Medikament2: " . $e($medikamentzwei) . "</h4>";
|
echo "<h4>Medikament2: " . $e($medikamentzwei) . "</h4>";
|
||||||
}
|
}
|
||||||
if (!empty($nachricht)) {
|
if (!empty($nachricht)) {
|
||||||
echo "<h4>Nachricht: " . nl2br(strip_tags($nachricht, '<br><b><strong><i><u><p><ul><li>')) . "</h4>";
|
echo "<h4>Nachricht: " . nl2br(strip_tags($nachricht, '<br><b><strong><i><u><p><ul><li>')) . "</h4>";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "Hat sich Ihre Anfrage erledigt, tragen Sie sich bitte aus, Ihre Anfrage wird gelöscht:<br>";
|
echo "Hat sich Ihre Anfrage erledigt, tragen Sie sich bitte aus, Ihre Anfrage wird gelöscht:<br>";
|
||||||
echo "<form action='" . $e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
echo "<form action='" . $e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
||||||
echo '<input type="hidden" name="aktion" value="1" />';
|
echo '<input type="hidden" name="aktion" value="1" />';
|
||||||
echo '<input type="hidden" name="anfrageid" value="' . $e($anfrageid) . '" />';
|
echo '<input type="hidden" name="anfrageid" value="' . $e($anfrageid) . '" />';
|
||||||
echo '<input type="submit" id="submitbox" value="Anfrage absagen!" />';
|
echo '<input type="submit" id="submitbox" value="Anfrage absagen!" />';
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
} elseif ($checked === 2) {
|
} elseif ($checked === 2) {
|
||||||
|
|
||||||
echo "<h4>Ihre Anfrage wurde erfolgreich gelöscht!</h4><br>Wünschen Sie eine neue Anfrage, tragen Sie sich wieder über das Formular ein.<br>";
|
echo "<h4>Ihre Anfrage wurde erfolgreich gelöscht!</h4><br>Wünschen Sie eine neue Anfrage, tragen Sie sich wieder über das Formular ein.<br>";
|
||||||
|
|
||||||
} elseif ($checked === 3) {
|
} elseif ($checked === 3) {
|
||||||
|
|
||||||
echo "<h4>Ihre Anfrage wurde vom Praxisteam storniert!</h4><br>Wünschen Sie eine neue Anfrage, tragen Sie sich wieder über das Formular ein.<br>";
|
echo "<h4>Ihre Anfrage wurde vom Praxisteam storniert!</h4><br>Wünschen Sie eine neue Anfrage, tragen Sie sich wieder über das Formular ein.<br>";
|
||||||
|
|
||||||
} elseif ($checked === 10) {
|
} elseif ($checked === 10) {
|
||||||
|
|
||||||
echo "<h4>Ihre Anfrage wurde vom Praxisteam beantwortet!</h4><br>Prüfen Sie Ihre E-Mails auf die Antwort.<br>";
|
echo "<h4>Ihre Anfrage wurde vom Praxisteam beantwortet!</h4><br>Prüfen Sie Ihre E-Mails auf die Antwort.<br>";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
echo "<h4>Status unbekannt.</h4>";
|
echo "<h4>Status unbekannt.</h4>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}else if($_POST["aktion"] == 1){
|
}else if($_POST["aktion"] == 1){
|
||||||
echo "Wollen Sie wirklich Ihren Anfrage löschen?<br>Dieses ist nicht rückgängig zu machen!<br>Dann bestätigen Sie die Abmeldung:<br>";
|
echo "Wollen Sie wirklich Ihren Anfrage löschen?<br>Dieses ist nicht rückgängig zu machen!<br>Dann bestätigen Sie die Abmeldung:<br>";
|
||||||
echo "Bitte bestätigen!";
|
echo "Bitte bestätigen!";
|
||||||
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
||||||
echo '<input type="hidden" name="aktion" id="aktion" value="3" />';
|
echo '<input type="hidden" name="aktion" id="aktion" value="3" />';
|
||||||
echo '<input type="hidden" name="anfrageid" id="anfrageid" value="'. $_POST["anfrageid"] .'" /><br>';
|
echo '<input type="hidden" name="anfrageid" id="anfrageid" value="'. $_POST["anfrageid"] .'" /><br>';
|
||||||
echo '<input type="submit" id="submitbox" value="Anfrage löschen!" />';
|
echo '<input type="submit" id="submitbox" value="Anfrage löschen!" />';
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
|
|
||||||
}else if($_POST["aktion"] == 2){
|
}else if($_POST["aktion"] == 2){
|
||||||
|
|
||||||
$anfrageid = (int)($_POST["anfrageid"] ?? 0);
|
$anfrageid = (int)($_POST["anfrageid"] ?? 0);
|
||||||
if ($anfrageid <= 0) {
|
if ($anfrageid <= 0) {
|
||||||
die("<h4>Ungültige Anfrage-ID.</h4>");
|
die("<h4>Ungültige Anfrage-ID.</h4>");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1) Prüfen/Updaten in einem Schritt: nur bestätigen, wenn noch nicht bestätigt
|
// 1) Prüfen/Updaten in einem Schritt: nur bestätigen, wenn noch nicht bestätigt
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
UPDATE anfragen
|
UPDATE anfragen
|
||||||
SET checked = 1
|
SET checked = 1
|
||||||
WHERE anfrageid = ?
|
WHERE anfrageid = ?
|
||||||
AND checked < 1
|
AND checked < 1
|
||||||
");
|
");
|
||||||
$stmt->execute([$anfrageid]);
|
$stmt->execute([$anfrageid]);
|
||||||
|
|
||||||
if ($stmt->rowCount() === 0) {
|
if ($stmt->rowCount() === 0) {
|
||||||
// Es wurde nichts geändert -> war schon bestätigt oder existiert nicht
|
// Es wurde nichts geändert -> war schon bestätigt oder existiert nicht
|
||||||
// Optional: prüfen ob Anfrage existiert
|
// Optional: prüfen ob Anfrage existiert
|
||||||
$stmt = $pdo->prepare("SELECT checked FROM anfragen WHERE anfrageid = ? LIMIT 1");
|
$stmt = $pdo->prepare("SELECT checked FROM anfragen WHERE anfrageid = ? LIMIT 1");
|
||||||
$stmt->execute([$anfrageid]);
|
$stmt->execute([$anfrageid]);
|
||||||
$checked = $stmt->fetchColumn();
|
$checked = $stmt->fetchColumn();
|
||||||
|
|
||||||
if ($checked === false) {
|
if ($checked === false) {
|
||||||
echo "<h4>Anfrage nicht gefunden.</h4>";
|
echo "<h4>Anfrage nicht gefunden.</h4>";
|
||||||
} else {
|
} else {
|
||||||
echo "<h4>Sie haben Ihre Anfrage schon bestätigt.</h4>";
|
echo "<h4>Sie haben Ihre Anfrage schon bestätigt.</h4>";
|
||||||
}
|
}
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<h4>Ihre Anfrage wurde erfolgreich bestätigt!</h4><br>";
|
echo "<h4>Ihre Anfrage wurde erfolgreich bestätigt!</h4><br>";
|
||||||
|
|
||||||
|
|
||||||
// 2) Anfrage + Person laden (NEUES SCHEMA)
|
// 2) Anfrage + Person laden (NEUES SCHEMA)
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
SELECT
|
SELECT
|
||||||
ordnungsid
|
ordnungsid
|
||||||
FROM anfragen a
|
FROM anfragen a
|
||||||
WHERE anfrageid = ?
|
WHERE anfrageid = ?
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
");
|
");
|
||||||
$stmt->execute([$anfrageid]);
|
$stmt->execute([$anfrageid]);
|
||||||
$ordnungsid = $stmt->fetchColumn();
|
$ordnungsid = $stmt->fetchColumn();
|
||||||
echo "Sie erhalten gleich eine schriftliche Bestätigung per E-Mail<br><br>";
|
echo "Sie erhalten gleich eine schriftliche Bestätigung per E-Mail<br><br>";
|
||||||
if (!$row) {
|
if (!$row) {
|
||||||
echo "<h4>Fehler: Anfrage wurde bestätigt, aber konnte nicht geladen werden.</h4>";
|
echo "<h4>Fehler: Anfrage wurde bestätigt, aber konnte nicht geladen werden.</h4>";
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ordnungsid = $row["ordnungsid"] ?? null;
|
$ordnungsid = $row["ordnungsid"] ?? null;
|
||||||
|
|
||||||
if($ordnungsid == 1){
|
if($ordnungsid == 1){
|
||||||
// Anfragen allgemein Bestätigung
|
// Anfragen allgemein Bestätigung
|
||||||
SendMailMessageVorlage($pdo, "3", $anfrageid, "19");
|
SendMailMessageVorlage($pdo, "3", $anfrageid, "19");
|
||||||
}else if($ordnungsid == 2 || $ordnungsid == 3){
|
}else if($ordnungsid == 2 || $ordnungsid == 3){
|
||||||
// Anfragen Rezept Bestätigung
|
// Anfragen Rezept Bestätigung
|
||||||
SendMailMessageVorlage($pdo, "3", $anfrageid, "26");
|
SendMailMessageVorlage($pdo, "3", $anfrageid, "26");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}else if($_POST["aktion"] == 3){
|
}else if($_POST["aktion"] == 3){
|
||||||
$anfrageid = (int)($_POST["anfrageid"] ?? 0);
|
$anfrageid = (int)($_POST["anfrageid"] ?? 0);
|
||||||
if ($anfrageid <= 0) {
|
if ($anfrageid <= 0) {
|
||||||
die("<h4>Ungültige Anfrage-ID.</h4>");
|
die("<h4>Ungültige Anfrage-ID.</h4>");
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
1) Anfrage auf "gelöscht" setzen,
|
1) Anfrage auf "gelöscht" setzen,
|
||||||
aber nur wenn noch nicht gelöscht (checked < 2)
|
aber nur wenn noch nicht gelöscht (checked < 2)
|
||||||
*/
|
*/
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
UPDATE anfragen
|
UPDATE anfragen
|
||||||
SET checked = 2
|
SET checked = 2
|
||||||
WHERE anfrageid = ?
|
WHERE anfrageid = ?
|
||||||
AND checked < 2
|
AND checked < 2
|
||||||
");
|
");
|
||||||
$stmt->execute([$anfrageid]);
|
$stmt->execute([$anfrageid]);
|
||||||
|
|
||||||
if ($stmt->rowCount() === 0) {
|
if ($stmt->rowCount() === 0) {
|
||||||
// Entweder existiert nicht oder war schon gelöscht
|
// Entweder existiert nicht oder war schon gelöscht
|
||||||
$stmt = $pdo->prepare("SELECT checked FROM anfragen WHERE anfrageid = ? LIMIT 1");
|
$stmt = $pdo->prepare("SELECT checked FROM anfragen WHERE anfrageid = ? LIMIT 1");
|
||||||
$stmt->execute([$anfrageid]);
|
$stmt->execute([$anfrageid]);
|
||||||
$checked = $stmt->fetchColumn();
|
$checked = $stmt->fetchColumn();
|
||||||
|
|
||||||
if ($checked === false) {
|
if ($checked === false) {
|
||||||
echo "<h4>Anfrage nicht gefunden.</h4>";
|
echo "<h4>Anfrage nicht gefunden.</h4>";
|
||||||
} else {
|
} else {
|
||||||
echo "<h4>Sie haben Ihre Anfrage schon gelöscht.</h4>";
|
echo "<h4>Sie haben Ihre Anfrage schon gelöscht.</h4>";
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
echo "<h4>Ihre Anfrage wurde erfolgreich gelöscht!</h4><br>";
|
echo "<h4>Ihre Anfrage wurde erfolgreich gelöscht!</h4><br>";
|
||||||
echo "Sie erhalten gleich eine schriftliche Bestätigung per E-Mail<br>";
|
echo "Sie erhalten gleich eine schriftliche Bestätigung per E-Mail<br>";
|
||||||
|
|
||||||
SendMailMessageVorlage($pdo, "3", $anfrageid, "49");
|
SendMailMessageVorlage($pdo, "3", $anfrageid, "49");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
echo "Leider konnten wir Ihre ID-Nummer nicht erkennen.<br>Bitte tragen Sie diese in dem folgendem Feld ein und klicken Sie auf 'Senden'<br><br>";
|
echo "Leider konnten wir Ihre ID-Nummer nicht erkennen.<br>Bitte tragen Sie diese in dem folgendem Feld ein und klicken Sie auf 'Senden'<br><br>";
|
||||||
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
||||||
echo '<input type="text" name="id" id="id" value="" placeholder="ID Kennung aus der E-Mail" required /><br>';
|
echo '<input type="text" name="id" id="id" value="" placeholder="ID Kennung aus der E-Mail" required /><br>';
|
||||||
echo '<input type="submit" id="submitbox" value="Senden" />';
|
echo '<input type="submit" id="submitbox" value="Senden" />';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+16
-16
@@ -1,17 +1,17 @@
|
|||||||
input[type="number"],input[type="date"] {
|
input[type="number"],input[type="date"] {
|
||||||
-moz-appearance: none;
|
-moz-appearance: none;
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
-o-appearance: none;
|
-o-appearance: none;
|
||||||
-ms-appearance: none;
|
-ms-appearance: none;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
background: #f8f8f8;
|
background: #f8f8f8;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
border: solid 1px #e5e5e5;
|
border: solid 1px #e5e5e5;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
display: block;
|
display: block;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
padding: 0 1em;
|
padding: 0 1em;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 3em;
|
height: 3em;
|
||||||
}
|
}
|
||||||
+21
-21
@@ -1,22 +1,22 @@
|
|||||||
#marquee-cont {
|
#marquee-cont {
|
||||||
background: #ff6363;
|
background: #ff6363;
|
||||||
margin-top:10px;
|
margin-top:10px;
|
||||||
}
|
}
|
||||||
#marquee-cont marquee {
|
#marquee-cont marquee {
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
background: #ff6363;
|
background: #ff6363;
|
||||||
}
|
}
|
||||||
#marquee-news {
|
#marquee-news {
|
||||||
|
|
||||||
background: #1174A8;
|
background: #1174A8;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
#ticker-title{
|
#ticker-title{
|
||||||
border:none;
|
border:none;
|
||||||
padding:5px 20px;
|
padding:5px 20px;
|
||||||
background:#1174A8;
|
background:#1174A8;
|
||||||
color:white;
|
color:white;
|
||||||
}
|
}
|
||||||
#ticker-title:focus{
|
#ticker-title:focus{
|
||||||
outline:none;
|
outline:none;
|
||||||
}
|
}
|
||||||
+544
-544
File diff suppressed because it is too large
Load Diff
+36
-36
@@ -1,37 +1,37 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
// Überprüfen, ob der Benutzer angemeldet ist und die Kennung "admin" hat
|
// Überprüfen, ob der Benutzer angemeldet ist und die Kennung "admin" hat
|
||||||
if (!isset($_SESSION['user']) || $_SESSION['user'] !== 'admin') {
|
if (!isset($_SESSION['user']) || $_SESSION['user'] !== 'admin') {
|
||||||
die("Unbefugter Zugriff.");
|
die("Unbefugter Zugriff.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$pdf_path = "./../datenupload/DHL-Paketmarke_PAKW6CYN3TC9_René_Lehradt_.pdf";
|
$pdf_path = "./../datenupload/DHL-Paketmarke_PAKW6CYN3TC9_René_Lehradt_.pdf";
|
||||||
if ($pdf_path) {
|
if ($pdf_path) {
|
||||||
if (file_exists($pdf_path)) {
|
if (file_exists($pdf_path)) {
|
||||||
// Erzeugen eines temporären Dateinamens
|
// Erzeugen eines temporären Dateinamens
|
||||||
$temp_pdf_path = tempnam(sys_get_temp_dir(), 'pdf_');
|
$temp_pdf_path = tempnam(sys_get_temp_dir(), 'pdf_');
|
||||||
// Kopieren der PDF-Datei in den temporären Ordner
|
// Kopieren der PDF-Datei in den temporären Ordner
|
||||||
copy($pdf_path, $temp_pdf_path);
|
copy($pdf_path, $temp_pdf_path);
|
||||||
|
|
||||||
// Setzen der Header für den Download
|
// Setzen der Header für den Download
|
||||||
header('Content-Type: application/pdf');
|
header('Content-Type: application/pdf');
|
||||||
header('Content-Disposition: attachment; filename="' . basename($pdf_path) . '"');
|
header('Content-Disposition: attachment; filename="' . basename($pdf_path) . '"');
|
||||||
header('Content-Length: ' . filesize($temp_pdf_path));
|
header('Content-Length: ' . filesize($temp_pdf_path));
|
||||||
|
|
||||||
// Ausgabe des Inhalts der temporären Datei
|
// Ausgabe des Inhalts der temporären Datei
|
||||||
readfile($pdf_path);
|
readfile($pdf_path);
|
||||||
|
|
||||||
// Löschen der temporären Datei
|
// Löschen der temporären Datei
|
||||||
unlink($temp_pdf_path);
|
unlink($temp_pdf_path);
|
||||||
exit;
|
exit;
|
||||||
} else {
|
} else {
|
||||||
echo "Die Datei existiert nicht.";
|
echo "Die Datei existiert nicht.";
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
echo "Keine PDF-Datei gefunden.";
|
echo "Keine PDF-Datei gefunden.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$conn->close();
|
$conn->close();
|
||||||
?>
|
?>
|
||||||
+33
-33
@@ -1,34 +1,34 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
|
||||||
$username = $_POST['username'];
|
$username = $_POST['username'];
|
||||||
$password = $_POST['password'];
|
$password = $_POST['password'];
|
||||||
|
|
||||||
// Beispielauthentifizierung, ersetzen Sie dies durch Ihre eigene Logik
|
// Beispielauthentifizierung, ersetzen Sie dies durch Ihre eigene Logik
|
||||||
if ($username === 'admin' && $password === 'password') {
|
if ($username === 'admin' && $password === 'password') {
|
||||||
$_SESSION['user'] = 'admin';
|
$_SESSION['user'] = 'admin';
|
||||||
header("Location: upload.php"); // Weiterleitung zum Upload-Skript
|
header("Location: upload.php"); // Weiterleitung zum Upload-Skript
|
||||||
exit;
|
exit;
|
||||||
} else {
|
} else {
|
||||||
echo "Ungültige Anmeldedaten.";
|
echo "Ungültige Anmeldedaten.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Login</title>
|
<title>Login</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<form action="login.php" method="post">
|
<form action="login.php" method="post">
|
||||||
<label for="username">Benutzername:</label>
|
<label for="username">Benutzername:</label>
|
||||||
<input type="text" name="username" id="username" required><br>
|
<input type="text" name="username" id="username" required><br>
|
||||||
<label for="password">Passwort:</label>
|
<label for="password">Passwort:</label>
|
||||||
<input type="password" name="password" id="password" required><br>
|
<input type="password" name="password" id="password" required><br>
|
||||||
<input type="submit" value="Login">
|
<input type="submit" value="Login">
|
||||||
</form>
|
</form>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+464
-464
@@ -1,465 +1,465 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Formulare</title>
|
<title>Praxis Creutzburg - Formulare</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<?php
|
<?php
|
||||||
echo showHeaderpraxis();
|
echo showHeaderpraxis();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="box special">
|
<section class="box special">
|
||||||
<h2>Service anfordern</h2>
|
<h2>Service anfordern</h2>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
if(isset($_POST["aktion"])){
|
if(isset($_POST["aktion"])){
|
||||||
|
|
||||||
if($_POST["aktion"] == "1"){
|
if($_POST["aktion"] == "1"){
|
||||||
|
|
||||||
|
|
||||||
echo '<h4>Kontrollieren Sie Ihre Angaben!</h4><br>';
|
echo '<h4>Kontrollieren Sie Ihre Angaben!</h4><br>';
|
||||||
echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
||||||
echo '<table border="0">';
|
echo '<table border="0">';
|
||||||
// Schleife durch Clemens 15.10.2018 - aktualisiert 01.02.2026
|
// Schleife durch Clemens 15.10.2018 - aktualisiert 01.02.2026
|
||||||
foreach ($_POST as $key => $value) {
|
foreach ($_POST as $key => $value) {
|
||||||
|
|
||||||
if ($value === "" || $key === "submit" || $key === "aktion") {
|
if ($value === "" || $key === "submit" || $key === "aktion") {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($key === "category") {
|
if ($key === "category") {
|
||||||
|
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
SELECT artname
|
SELECT artname
|
||||||
FROM anfrageart
|
FROM anfrageart
|
||||||
WHERE artid = :artid
|
WHERE artid = :artid
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
");
|
");
|
||||||
$stmt->execute([
|
$stmt->execute([
|
||||||
':artid' => $value
|
':artid' => $value
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$rowimpf = $stmt->fetch(PDO::FETCH_ASSOC);
|
$rowimpf = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||||
$anfragearttext = $rowimpf['artname'] ?? '';
|
$anfragearttext = $rowimpf['artname'] ?? '';
|
||||||
|
|
||||||
echo "<tr>
|
echo "<tr>
|
||||||
<td width='100' valign='top' class='fett'>{$key}:</td>
|
<td width='100' valign='top' class='fett'>{$key}:</td>
|
||||||
<td>" . htmlspecialchars($anfragearttext, ENT_QUOTES, 'UTF-8') . "</td>
|
<td>" . htmlspecialchars($anfragearttext, ENT_QUOTES, 'UTF-8') . "</td>
|
||||||
</tr>\n";
|
</tr>\n";
|
||||||
|
|
||||||
echo "<input type='hidden' name='{$key}' value='" . htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . "'>\n";
|
echo "<input type='hidden' name='{$key}' value='" . htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . "'>\n";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
echo "<tr>
|
echo "<tr>
|
||||||
<td width='100' valign='top' class='fett'>{$key}:</td>
|
<td width='100' valign='top' class='fett'>{$key}:</td>
|
||||||
<td>" . htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . "</td>
|
<td>" . htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . "</td>
|
||||||
</tr>\n";
|
</tr>\n";
|
||||||
|
|
||||||
echo "<input type='hidden' name='{$key}' value='" . htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . "'>\n";
|
echo "<input type='hidden' name='{$key}' value='" . htmlspecialchars($value, ENT_QUOTES, 'UTF-8') . "'>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
echo '</table>';
|
echo '</table>';
|
||||||
echo '<input type="hidden" name="aktion" value="2" />';
|
echo '<input type="hidden" name="aktion" value="2" />';
|
||||||
echo '<input type="submit" value="Anfrage abschicken" />';
|
echo '<input type="submit" value="Anfrage abschicken" />';
|
||||||
echo '</form >';
|
echo '</form >';
|
||||||
|
|
||||||
|
|
||||||
}else if($_POST["aktion"] == "2"){
|
}else if($_POST["aktion"] == "2"){
|
||||||
|
|
||||||
$vorname = trim($_POST["Vorname"] ?? "");
|
$vorname = trim($_POST["Vorname"] ?? "");
|
||||||
$nachname = trim($_POST["Name"] ?? "");
|
$nachname = trim($_POST["Name"] ?? "");
|
||||||
$geburtstag = trim($_POST["Geburtsjahr"] ?? ""); // muss später YYYY-MM-DD sein
|
$geburtstag = trim($_POST["Geburtsjahr"] ?? ""); // muss später YYYY-MM-DD sein
|
||||||
$email = trim($_POST["Email"] ?? "");
|
$email = trim($_POST["Email"] ?? "");
|
||||||
$tele = trim($_POST["Tel"] ?? "");
|
$tele = trim($_POST["Tel"] ?? "");
|
||||||
$plz = trim($_POST["plz"] ?? "");
|
$plz = trim($_POST["plz"] ?? "");
|
||||||
$ort = trim($_POST["ort"] ?? "");
|
$ort = trim($_POST["ort"] ?? "");
|
||||||
$strasse = trim($_POST["strasse"] ?? "");
|
$strasse = trim($_POST["strasse"] ?? "");
|
||||||
|
|
||||||
$medikament1 = trim($_POST["Medikament1"] ?? "");
|
$medikament1 = trim($_POST["Medikament1"] ?? "");
|
||||||
$medikament2 = trim($_POST["Medikament2"] ?? "");
|
$medikament2 = trim($_POST["Medikament2"] ?? "");
|
||||||
$nachricht = trim($_POST["message"] ?? "");
|
$nachricht = trim($_POST["message"] ?? "");
|
||||||
$anforderungart = trim($_POST["category"] ?? "");
|
$anforderungart = trim($_POST["category"] ?? "");
|
||||||
|
|
||||||
$abholung = $_POST["abholung"] ?? "Praxis";
|
$abholung = $_POST["abholung"] ?? "Praxis";
|
||||||
|
|
||||||
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
|
||||||
die("Ungültige E-Mail");
|
die("Ungültige E-Mail");
|
||||||
}
|
}
|
||||||
if (!$geburtstag) {
|
if (!$geburtstag) {
|
||||||
die("Geburtsdatum fehlt");
|
die("Geburtsdatum fehlt");
|
||||||
}
|
}
|
||||||
$abholungnr = ($abholung === "Apotheke") ? "2" : "1";
|
$abholungnr = ($abholung === "Apotheke") ? "2" : "1";
|
||||||
|
|
||||||
$karte = $_POST["karte"] ?? "";
|
$karte = $_POST["karte"] ?? "";
|
||||||
if ($karte === "Privat") {
|
if ($karte === "Privat") {
|
||||||
$karte = "Privatrezept (Selbstzahler)";
|
$karte = "Privatrezept (Selbstzahler)";
|
||||||
}
|
}
|
||||||
|
|
||||||
$nachricht = "Karte eingelesen: " . $karte . "<br>" .
|
$nachricht = "Karte eingelesen: " . $karte . "<br>" .
|
||||||
"Abholungsort: " . $abholung . "<br>" .
|
"Abholungsort: " . $abholung . "<br>" .
|
||||||
$nachricht;
|
$nachricht;
|
||||||
|
|
||||||
$impfstofftext = null;
|
$impfstofftext = null;
|
||||||
if (!empty($impfstoff)) {
|
if (!empty($impfstoff)) {
|
||||||
$stmt = $pdo->prepare("SELECT impfname FROM impfstoff WHERE impfid = ?");
|
$stmt = $pdo->prepare("SELECT impfname FROM impfstoff WHERE impfid = ?");
|
||||||
$stmt->execute([$impfstoff]);
|
$stmt->execute([$impfstoff]);
|
||||||
$impfstofftext = $stmt->fetchColumn();
|
$impfstofftext = $stmt->fetchColumn();
|
||||||
}
|
}
|
||||||
|
|
||||||
$sendmail = false;
|
$sendmail = false;
|
||||||
|
|
||||||
$pdo->beginTransaction();
|
$pdo->beginTransaction();
|
||||||
|
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
INSERT INTO persons (vorname, nachname, email, geburtstag, tele, ort, plz, strasse)
|
INSERT INTO persons (vorname, nachname, email, geburtstag, tele, ort, plz, strasse)
|
||||||
VALUES (:vorname, :nachname, :email, :geburtstag, :tele, :ort, :plz, :strasse)
|
VALUES (:vorname, :nachname, :email, :geburtstag, :tele, :ort, :plz, :strasse)
|
||||||
ON DUPLICATE KEY UPDATE
|
ON DUPLICATE KEY UPDATE
|
||||||
vorname = VALUES(vorname),
|
vorname = VALUES(vorname),
|
||||||
nachname = VALUES(nachname),
|
nachname = VALUES(nachname),
|
||||||
tele = VALUES(tele),
|
tele = VALUES(tele),
|
||||||
ort = VALUES(ort),
|
ort = VALUES(ort),
|
||||||
plz = VALUES(plz),
|
plz = VALUES(plz),
|
||||||
strasse = VALUES(strasse),
|
strasse = VALUES(strasse),
|
||||||
updated_at = CURRENT_TIMESTAMP
|
updated_at = CURRENT_TIMESTAMP
|
||||||
");
|
");
|
||||||
$stmt->execute([
|
$stmt->execute([
|
||||||
':vorname' => $vorname,
|
':vorname' => $vorname,
|
||||||
':nachname' => $nachname,
|
':nachname' => $nachname,
|
||||||
':email' => $email,
|
':email' => $email,
|
||||||
':geburtstag' => $geburtstag,
|
':geburtstag' => $geburtstag,
|
||||||
':tele' => $tele,
|
':tele' => $tele,
|
||||||
':ort' => $ort,
|
':ort' => $ort,
|
||||||
':plz' => $plz,
|
':plz' => $plz,
|
||||||
':strasse' => $strasse
|
':strasse' => $strasse
|
||||||
]);
|
]);
|
||||||
|
|
||||||
// person_id holen (weil ON DUPLICATE nicht zuverlässig lastInsertId liefert)
|
// person_id holen (weil ON DUPLICATE nicht zuverlässig lastInsertId liefert)
|
||||||
$stmt = $pdo->prepare("SELECT person_id FROM persons WHERE email = ? AND geburtstag = ?");
|
$stmt = $pdo->prepare("SELECT person_id FROM persons WHERE email = ? AND geburtstag = ?");
|
||||||
$stmt->execute([$email, $geburtstag]);
|
$stmt->execute([$email, $geburtstag]);
|
||||||
$person_id = (int)$stmt->fetchColumn();
|
$person_id = (int)$stmt->fetchColumn();
|
||||||
|
|
||||||
if (!$person_id) {
|
if (!$person_id) {
|
||||||
$pdo->rollBack();
|
$pdo->rollBack();
|
||||||
die("Keine eindeutige Kennung (person_id)");
|
die("Keine eindeutige Kennung (person_id)");
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
$hashvorher = $vorname . $nachname . $Email;
|
$hashvorher = $vorname . $nachname . $Email;
|
||||||
$hash = md5($hashvorher) . date("YmdHs");
|
$hash = md5($hashvorher) . date("YmdHs");
|
||||||
|
|
||||||
|
|
||||||
$sendmail = true;
|
$sendmail = true;
|
||||||
|
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
SELECT 1
|
SELECT 1
|
||||||
FROM anfragen
|
FROM anfragen
|
||||||
WHERE requester_person_id = ?
|
WHERE requester_person_id = ?
|
||||||
AND anforderungart = ?
|
AND anforderungart = ?
|
||||||
AND medikament1 = ?
|
AND medikament1 = ?
|
||||||
AND medikament2 = ?
|
AND medikament2 = ?
|
||||||
AND nachricht = ?
|
AND nachricht = ?
|
||||||
AND create_time >= (NOW() - INTERVAL 7 DAY)
|
AND create_time >= (NOW() - INTERVAL 7 DAY)
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
");
|
");
|
||||||
$stmt->execute([$person_id, $anforderungart, $medikament1, $medikament2, $nachricht]);
|
$stmt->execute([$person_id, $anforderungart, $medikament1, $medikament2, $nachricht]);
|
||||||
$exists = (bool)$stmt->fetchColumn();
|
$exists = (bool)$stmt->fetchColumn();
|
||||||
|
|
||||||
if (!$exists) {
|
if (!$exists) {
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
INSERT INTO anfragen
|
INSERT INTO anfragen
|
||||||
(requester_person_id, anforderungart, medikament1, medikament2,
|
(requester_person_id, anforderungart, medikament1, medikament2,
|
||||||
nachricht, hash, create_time, ordnungsid, abholort, sicherenachricht,
|
nachricht, hash, create_time, ordnungsid, abholort, sicherenachricht,
|
||||||
source, created_by_account_id)
|
source, created_by_account_id)
|
||||||
VALUES
|
VALUES
|
||||||
(?, ?, ?, ?, ?, ?, NOW(), '1', ?, '0', 'mail', NULL)
|
(?, ?, ?, ?, ?, ?, NOW(), '1', ?, '0', 'mail', NULL)
|
||||||
");
|
");
|
||||||
$stmt->execute([
|
$stmt->execute([
|
||||||
$person_id,
|
$person_id,
|
||||||
$anforderungart,
|
$anforderungart,
|
||||||
$medikament1,
|
$medikament1,
|
||||||
$medikament2,
|
$medikament2,
|
||||||
$nachricht,
|
$nachricht,
|
||||||
$hash,
|
$hash,
|
||||||
$abholungnr
|
$abholungnr
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$anfrageid = (int)$pdo->lastInsertId();
|
$anfrageid = (int)$pdo->lastInsertId();
|
||||||
|
|
||||||
$pdo->commit();
|
$pdo->commit();
|
||||||
|
|
||||||
// Achtung: deine Funktion erwartet $con (mysqli). Die musst du später auf PDO umbauen.
|
// Achtung: deine Funktion erwartet $con (mysqli). Die musst du später auf PDO umbauen.
|
||||||
// Übergangsweise: Lass die Mailfunktion noch mit mysqli laufen oder baue sie um.
|
// Übergangsweise: Lass die Mailfunktion noch mit mysqli laufen oder baue sie um.
|
||||||
SendMailMessageVorlage($pdo, "3", $anfrageid , "18" );
|
SendMailMessageVorlage($pdo, "3", $anfrageid , "18" );
|
||||||
|
|
||||||
echo "<h3>Nachricht abgeschickt!</h3><br>Sie bekommen eine Bestätigung per E-Mail!<br>Überprüfen Sie auch Ihren Spam-Filter!<br><br>Sie werden gleich weitergeleitet.<br>";
|
echo "<h3>Nachricht abgeschickt!</h3><br>Sie bekommen eine Bestätigung per E-Mail!<br>Überprüfen Sie auch Ihren Spam-Filter!<br><br>Sie werden gleich weitergeleitet.<br>";
|
||||||
header("refresh:15;rezepte.php");
|
header("refresh:15;rezepte.php");
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$pdo->rollBack();
|
$pdo->rollBack();
|
||||||
echo "<h3>Doppelte Anfrage</h3><br>Ihre Anfrage wurde schon in unserem System gespeichert.<br>Sie haben die identische Anfrage schon in den letzten sieben Tagen eingereicht.<br>Bitte warten Sie auf die Verarbeitung Ihrer Anfrage.<br><br>";
|
echo "<h3>Doppelte Anfrage</h3><br>Ihre Anfrage wurde schon in unserem System gespeichert.<br>Sie haben die identische Anfrage schon in den letzten sieben Tagen eingereicht.<br>Bitte warten Sie auf die Verarbeitung Ihrer Anfrage.<br><br>";
|
||||||
header("refresh:15;rezepte.php");
|
header("refresh:15;rezepte.php");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Formulare anfordern, nur nach ärztlicher Absprache und Kontakt. Kassenleistungen sind an die gesetzlichen Regelungen gebunden. Fragen Sie Ihre Krankenkasse.<br>
|
Formulare anfordern, nur nach ärztlicher Absprache und Kontakt. Kassenleistungen sind an die gesetzlichen Regelungen gebunden. Fragen Sie Ihre Krankenkasse.<br>
|
||||||
<br>Benutzen Sie eine Email-Adresse auf die Sie direkt zugreifen können. Bitte bestätigen Sie dann den Link in der Email. So können wir Ihnen im Verlauf den Stand der Bearbeitung Ihrer Anfrage sicher mitteilen.
|
<br>Benutzen Sie eine Email-Adresse auf die Sie direkt zugreifen können. Bitte bestätigen Sie dann den Link in der Email. So können wir Ihnen im Verlauf den Stand der Bearbeitung Ihrer Anfrage sicher mitteilen.
|
||||||
<br><br><br>
|
<br><br><br>
|
||||||
Stellen Sie wiederholt Anfragen an die Praxis Creutzburg? <br>
|
Stellen Sie wiederholt Anfragen an die Praxis Creutzburg? <br>
|
||||||
Wollen Sie bis zu sechs Medikamente beantragen?<br>
|
Wollen Sie bis zu sechs Medikamente beantragen?<br>
|
||||||
Benötigen Sie ein längeres Textfeld?<br>
|
Benötigen Sie ein längeres Textfeld?<br>
|
||||||
|
|
||||||
<br>Dann nutzen Sie auch unseren <a href="https://www.praxis-creutzburg.de/intern/">Internen Bereich</a> für Patienten.
|
<br>Dann nutzen Sie auch unseren <a href="https://www.praxis-creutzburg.de/intern/">Internen Bereich</a> für Patienten.
|
||||||
<br><br>
|
<br><br>
|
||||||
<h4>Nutzen Sie unsere neue Datei-Upload-Funktion! </h4>
|
<h4>Nutzen Sie unsere neue Datei-Upload-Funktion! </h4>
|
||||||
Sie können damit dem Praxis-Team Unterlagen per PDF zur Verfügung stellen.<br>
|
Sie können damit dem Praxis-Team Unterlagen per PDF zur Verfügung stellen.<br>
|
||||||
|
|
||||||
Den Upload finden Sie hier: <a href="https://praxis-creutzburg.de/dateiupload.php">Datei-Upload</a><br>
|
Den Upload finden Sie hier: <a href="https://praxis-creutzburg.de/dateiupload.php">Datei-Upload</a><br>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<section class="box">
|
<section class="box">
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Urlaubsabfrage
|
// Urlaubsabfrage
|
||||||
$today = date("Y-m-d");
|
$today = date("Y-m-d");
|
||||||
|
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
SELECT urlaubid
|
SELECT urlaubid
|
||||||
FROM urlaub
|
FROM urlaub
|
||||||
WHERE start <= ?
|
WHERE start <= ?
|
||||||
AND ende >= ?
|
AND ende >= ?
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
");
|
");
|
||||||
$stmt->execute([$today, $today]);
|
$stmt->execute([$today, $today]);
|
||||||
|
|
||||||
$urlaubid = $stmt->fetchColumn();
|
$urlaubid = $stmt->fetchColumn();
|
||||||
|
|
||||||
if (!$urlaubid) {
|
if (!$urlaubid) {
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<h2>ACHTUNG!</h2>
|
<h2>ACHTUNG!</h2>
|
||||||
|
|
||||||
<h3>Fragen zu Corona?</h3>
|
<h3>Fragen zu Corona?</h3>
|
||||||
|
|
||||||
Alle Informationen zur Corona-Impfung finden Sie hier:<br>
|
Alle Informationen zur Corona-Impfung finden Sie hier:<br>
|
||||||
<a href="impfanmeldung.php".php" class="button alt" style="font-size: 18px;background-color: #4CAF50;color:white;">Corona-Informationen</a><br><br>
|
<a href="impfanmeldung.php".php" class="button alt" style="font-size: 18px;background-color: #4CAF50;color:white;">Corona-Informationen</a><br><br>
|
||||||
|
|
||||||
<h3>Sie benötigen einen Termin?</h3>
|
<h3>Sie benötigen einen Termin?</h3>
|
||||||
|
|
||||||
Schauen Sie in unserem Online-Kalender nach einem Termin. Dort sind meist auch kurzfristige Termine vorhanden.<br>
|
Schauen Sie in unserem Online-Kalender nach einem Termin. Dort sind meist auch kurzfristige Termine vorhanden.<br>
|
||||||
Untersuchungen wie Blutabnahmen, Blutbild oder Ultraschall auf Kassenleistung erfolgen ausschließlich nach direkter Rücksprache mit unserem Arzt und können nicht selbstständig online gebucht werden.<br>
|
Untersuchungen wie Blutabnahmen, Blutbild oder Ultraschall auf Kassenleistung erfolgen ausschließlich nach direkter Rücksprache mit unserem Arzt und können nicht selbstständig online gebucht werden.<br>
|
||||||
|
|
||||||
<h4>Buchen Sie dafür zunächst einen Sprechstundentermin.</h4> Anschließend wird das weitere Vorgehen mit unserem Arzt besprochen.
|
<h4>Buchen Sie dafür zunächst einen Sprechstundentermin.</h4> Anschließend wird das weitere Vorgehen mit unserem Arzt besprochen.
|
||||||
<br>
|
<br>
|
||||||
<a href="termine.php".php" class="button alt" style="font-size: 18px;background-color: #4CAF50;color:white;">Online-Kalender</a><br><br>
|
<a href="termine.php".php" class="button alt" style="font-size: 18px;background-color: #4CAF50;color:white;">Online-Kalender</a><br><br>
|
||||||
|
|
||||||
<h3>Formular bitte ausfüllen und abschicken</h3>
|
<h3>Formular bitte ausfüllen und abschicken</h3>
|
||||||
<p>Gehen Sie nach unten zum Formular und füllen Sie es (wie gewohnt) aus.</p>
|
<p>Gehen Sie nach unten zum Formular und füllen Sie es (wie gewohnt) aus.</p>
|
||||||
|
|
||||||
|
|
||||||
<?php echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
<?php echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
||||||
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row uniform 50%">
|
<div class="row uniform 50%">
|
||||||
<?php
|
<?php
|
||||||
echo ShowFormularFragenBenutzer();
|
echo ShowFormularFragenBenutzer();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label for="category">Ich habe eine Anfrage für folgendes Thema:</label>
|
<label for="category">Ich habe eine Anfrage für folgendes Thema:</label>
|
||||||
<div class="select-wrapper">
|
<div class="select-wrapper">
|
||||||
<select name="category" id="category" required >
|
<select name="category" id="category" required >
|
||||||
<option value=""> Bitte wählen Sie aus</option>
|
<option value=""> Bitte wählen Sie aus</option>
|
||||||
<?php
|
<?php
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
SELECT artid, artname
|
SELECT artid, artname
|
||||||
FROM anfrageart
|
FROM anfrageart
|
||||||
WHERE allgemeinanforderung = 1
|
WHERE allgemeinanforderung = 1
|
||||||
");
|
");
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
|
|
||||||
while ($rowimpf = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
while ($rowimpf = $stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||||
$artname = $rowimpf["artname"];
|
$artname = $rowimpf["artname"];
|
||||||
$artid = $rowimpf["artid"];
|
$artid = $rowimpf["artid"];
|
||||||
?>
|
?>
|
||||||
<option value="<?php echo htmlspecialchars($artid, ENT_QUOTES, 'UTF-8'); ?>">
|
<option value="<?php echo htmlspecialchars($artid, ENT_QUOTES, 'UTF-8'); ?>">
|
||||||
<?php echo htmlspecialchars($artname, ENT_QUOTES, 'UTF-8'); ?>
|
<?php echo htmlspecialchars($artname, ENT_QUOTES, 'UTF-8'); ?>
|
||||||
</option>
|
</option>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<div id="AstraInfobox"></div>
|
<div id="AstraInfobox"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="row uniform 50%">
|
<div class="row uniform 50%">
|
||||||
|
|
||||||
|
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<textarea name="message" id="message" placeholder="Ihre Nachricht/Bemerkung" rows="6" maxlength="150"></textarea>
|
<textarea name="message" id="message" placeholder="Ihre Nachricht/Bemerkung" rows="6" maxlength="150"></textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row uniform">
|
<div class="row uniform">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<br>
|
<br>
|
||||||
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich. Kassenleistungen sind an die gesetzlichen Regelungen gebunden. Fragen Sie Ihre Krankenkasse.<br>
|
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich. Kassenleistungen sind an die gesetzlichen Regelungen gebunden. Fragen Sie Ihre Krankenkasse.<br>
|
||||||
Ihre Daten werden HTTPS-verschlüsselt an unser System übertragen. Sie erhalten die Antwort per E-Mail mit TLS-Verschlüsselung. Mit Absenden Ihrer Anfrage stimmen Sie diesen Bedingungen zu.<br>
|
Ihre Daten werden HTTPS-verschlüsselt an unser System übertragen. Sie erhalten die Antwort per E-Mail mit TLS-Verschlüsselung. Mit Absenden Ihrer Anfrage stimmen Sie diesen Bedingungen zu.<br>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="row uniform">
|
<div class="row uniform">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<ul class="actions">
|
<ul class="actions">
|
||||||
<li><input type="submit" value="Abschicken" /></li>
|
<li><input type="submit" value="Abschicken" /></li>
|
||||||
<li><input type="reset" value="Reset" class="alt" /></li>
|
<li><input type="reset" value="Reset" class="alt" /></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
<?php }else{
|
<?php }else{
|
||||||
echo "<h2>Praxis im Urlaub</h2>";
|
echo "<h2>Praxis im Urlaub</h2>";
|
||||||
echo "Wir befinden uns aktuell im Urlaub.<br>Wenden Sie sich an unsere Vertretung oder warten Sie bis nach unserem Urlaub mit Ihrer Anfrage.<br><br>";
|
echo "Wir befinden uns aktuell im Urlaub.<br>Wenden Sie sich an unsere Vertretung oder warten Sie bis nach unserem Urlaub mit Ihrer Anfrage.<br><br>";
|
||||||
|
|
||||||
$today = date("Y-m-d");
|
$today = date("Y-m-d");
|
||||||
|
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
SELECT ende, vertretung, vertretertelefon, vertreteradresse, vertreterurl
|
SELECT ende, vertretung, vertretertelefon, vertreteradresse, vertreterurl
|
||||||
FROM urlaub
|
FROM urlaub
|
||||||
WHERE start <= :today
|
WHERE start <= :today
|
||||||
AND ende >= :today
|
AND ende >= :today
|
||||||
ORDER BY ende DESC
|
ORDER BY ende DESC
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
");
|
");
|
||||||
$stmt->execute([':today' => $today]);
|
$stmt->execute([':today' => $today]);
|
||||||
|
|
||||||
$row = $stmt->fetch(); // liefert Array oder false
|
$row = $stmt->fetch(); // liefert Array oder false
|
||||||
|
|
||||||
if ($row) {
|
if ($row) {
|
||||||
$vertreter = $row["vertretung"] ?? null;
|
$vertreter = $row["vertretung"] ?? null;
|
||||||
$vertretertelefon = $row["vertretertelefon"] ?? null;
|
$vertretertelefon = $row["vertretertelefon"] ?? null;
|
||||||
$vertreteradresse = $row["vertreteradresse"] ?? null;
|
$vertreteradresse = $row["vertreteradresse"] ?? null;
|
||||||
$vertreterurl = $row["vertreterurl"] ?? null;
|
$vertreterurl = $row["vertreterurl"] ?? null;
|
||||||
$ende = $row["ende"] ?? null;
|
$ende = $row["ende"] ?? null;
|
||||||
|
|
||||||
if ($ende) {
|
if ($ende) {
|
||||||
$endeausgabe = date("d.m.Y", strtotime("+1 day", strtotime($ende)));
|
$endeausgabe = date("d.m.Y", strtotime("+1 day", strtotime($ende)));
|
||||||
} else {
|
} else {
|
||||||
$endeausgabe = null;
|
$endeausgabe = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!empty($vertreter)) {
|
if (!empty($vertreter)) {
|
||||||
echo "Unsere Vertretung: " . htmlspecialchars($vertreter, ENT_QUOTES, 'UTF-8') . "<br>";
|
echo "Unsere Vertretung: " . htmlspecialchars($vertreter, ENT_QUOTES, 'UTF-8') . "<br>";
|
||||||
}
|
}
|
||||||
if (!empty($vertreterurl)) {
|
if (!empty($vertreterurl)) {
|
||||||
// optional: URL escapen/validieren
|
// optional: URL escapen/validieren
|
||||||
echo "Webseite Vertretung: " . htmlspecialchars($vertreterurl, ENT_QUOTES, 'UTF-8') . "<br>";
|
echo "Webseite Vertretung: " . htmlspecialchars($vertreterurl, ENT_QUOTES, 'UTF-8') . "<br>";
|
||||||
}
|
}
|
||||||
if (!empty($vertretertelefon)) {
|
if (!empty($vertretertelefon)) {
|
||||||
echo "Telefonischer Kontakt Vertretung: " . htmlspecialchars($vertretertelefon, ENT_QUOTES, 'UTF-8') . "<br>";
|
echo "Telefonischer Kontakt Vertretung: " . htmlspecialchars($vertretertelefon, ENT_QUOTES, 'UTF-8') . "<br>";
|
||||||
}
|
}
|
||||||
if (!empty($vertreteradresse)) {
|
if (!empty($vertreteradresse)) {
|
||||||
echo "Adresse Vertretung: " . htmlspecialchars($vertreteradresse, ENT_QUOTES, 'UTF-8') . "<br>";
|
echo "Adresse Vertretung: " . htmlspecialchars($vertreteradresse, ENT_QUOTES, 'UTF-8') . "<br>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($endeausgabe) {
|
if ($endeausgabe) {
|
||||||
echo "<br>Wir stehen Ihnen ab dem " . htmlspecialchars($endeausgabe, ENT_QUOTES, 'UTF-8') . " wieder zur Verfügung.<br><br><br>";
|
echo "<br>Wir stehen Ihnen ab dem " . htmlspecialchars($endeausgabe, ENT_QUOTES, 'UTF-8') . " wieder zur Verfügung.<br><br><br>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<form action="index.php" method=POST>
|
<form action="index.php" method=POST>
|
||||||
<input type=submit class=button value="Zurück">
|
<input type=submit class=button value="Zurück">
|
||||||
</form>
|
</form>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once __DIR__ . '/impfbestaetigung.php';
|
require_once __DIR__ . '/impfbestaetigung.php';
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once __DIR__ . '/impfwarteliste.php';
|
require_once __DIR__ . '/impfwarteliste.php';
|
||||||
|
|||||||
+130
-130
@@ -1,131 +1,131 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ICS.php
|
* ICS.php
|
||||||
* =======
|
* =======
|
||||||
* Use this class to create an .ics file.
|
* Use this class to create an .ics file.
|
||||||
*
|
*
|
||||||
* Usage
|
* Usage
|
||||||
* -----
|
* -----
|
||||||
* Basic usage - generate ics file contents (see below for available properties):
|
* Basic usage - generate ics file contents (see below for available properties):
|
||||||
* $ics = new ICS($props);
|
* $ics = new ICS($props);
|
||||||
* $ics_file_contents = $ics->to_string();
|
* $ics_file_contents = $ics->to_string();
|
||||||
*
|
*
|
||||||
* Setting properties after instantiation
|
* Setting properties after instantiation
|
||||||
* $ics = new ICS();
|
* $ics = new ICS();
|
||||||
* $ics->set('summary', 'My awesome event');
|
* $ics->set('summary', 'My awesome event');
|
||||||
*
|
*
|
||||||
* You can also set multiple properties at the same time by using an array:
|
* You can also set multiple properties at the same time by using an array:
|
||||||
* $ics->set(array(
|
* $ics->set(array(
|
||||||
* 'dtstart' => 'now + 30 minutes',
|
* 'dtstart' => 'now + 30 minutes',
|
||||||
* 'dtend' => 'now + 1 hour'
|
* 'dtend' => 'now + 1 hour'
|
||||||
* ));
|
* ));
|
||||||
*
|
*
|
||||||
* Available properties
|
* Available properties
|
||||||
* --------------------
|
* --------------------
|
||||||
* description
|
* description
|
||||||
* String description of the event.
|
* String description of the event.
|
||||||
* dtend
|
* dtend
|
||||||
* A date/time stamp designating the end of the event. You can use either a
|
* A date/time stamp designating the end of the event. You can use either a
|
||||||
* DateTime object or a PHP datetime format string (e.g. "now + 1 hour").
|
* DateTime object or a PHP datetime format string (e.g. "now + 1 hour").
|
||||||
* dtstart
|
* dtstart
|
||||||
* A date/time stamp designating the start of the event. You can use either a
|
* A date/time stamp designating the start of the event. You can use either a
|
||||||
* DateTime object or a PHP datetime format string (e.g. "now + 1 hour").
|
* DateTime object or a PHP datetime format string (e.g. "now + 1 hour").
|
||||||
* location
|
* location
|
||||||
* String address or description of the location of the event.
|
* String address or description of the location of the event.
|
||||||
* summary
|
* summary
|
||||||
* String short summary of the event - usually used as the title.
|
* String short summary of the event - usually used as the title.
|
||||||
* url
|
* url
|
||||||
* A url to attach to the the event. Make sure to add the protocol (http://
|
* A url to attach to the the event. Make sure to add the protocol (http://
|
||||||
* or https://).
|
* or https://).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
class ICS {
|
class ICS {
|
||||||
const DT_FORMAT = 'Ymd\THis\Z';
|
const DT_FORMAT = 'Ymd\THis\Z';
|
||||||
|
|
||||||
protected $properties = array();
|
protected $properties = array();
|
||||||
private $available_properties = array(
|
private $available_properties = array(
|
||||||
'description',
|
'description',
|
||||||
'dtend',
|
'dtend',
|
||||||
'dtstart',
|
'dtstart',
|
||||||
'location',
|
'location',
|
||||||
'summary',
|
'summary',
|
||||||
'url'
|
'url'
|
||||||
);
|
);
|
||||||
|
|
||||||
public function __construct($props) {
|
public function __construct($props) {
|
||||||
$this->set($props);
|
$this->set($props);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function set($key, $val = false) {
|
public function set($key, $val = false) {
|
||||||
if (is_array($key)) {
|
if (is_array($key)) {
|
||||||
foreach ($key as $k => $v) {
|
foreach ($key as $k => $v) {
|
||||||
$this->set($k, $v);
|
$this->set($k, $v);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (in_array($key, $this->available_properties)) {
|
if (in_array($key, $this->available_properties)) {
|
||||||
$this->properties[$key] = $this->sanitize_val($val, $key);
|
$this->properties[$key] = $this->sanitize_val($val, $key);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public function to_string() {
|
public function to_string() {
|
||||||
$rows = $this->build_props();
|
$rows = $this->build_props();
|
||||||
return implode("\r\n", $rows);
|
return implode("\r\n", $rows);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function build_props() {
|
private function build_props() {
|
||||||
// Build ICS properties - add header
|
// Build ICS properties - add header
|
||||||
$ics_props = array(
|
$ics_props = array(
|
||||||
'BEGIN:VCALENDAR',
|
'BEGIN:VCALENDAR',
|
||||||
'VERSION:2.0',
|
'VERSION:2.0',
|
||||||
'PRODID:-//hacksw/handcal//NONSGML v1.0//EN',
|
'PRODID:-//hacksw/handcal//NONSGML v1.0//EN',
|
||||||
'CALSCALE:GREGORIAN',
|
'CALSCALE:GREGORIAN',
|
||||||
'BEGIN:VEVENT'
|
'BEGIN:VEVENT'
|
||||||
);
|
);
|
||||||
|
|
||||||
// Build ICS properties - add header
|
// Build ICS properties - add header
|
||||||
$props = array();
|
$props = array();
|
||||||
foreach($this->properties as $k => $v) {
|
foreach($this->properties as $k => $v) {
|
||||||
$props[strtoupper($k . ($k === 'url' ? ';VALUE=URI' : ''))] = $v;
|
$props[strtoupper($k . ($k === 'url' ? ';VALUE=URI' : ''))] = $v;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set some default values
|
// Set some default values
|
||||||
$props['DTSTAMP'] = $this->format_timestamp('now');
|
$props['DTSTAMP'] = $this->format_timestamp('now');
|
||||||
$props['UID'] = uniqid();
|
$props['UID'] = uniqid();
|
||||||
|
|
||||||
// Append properties
|
// Append properties
|
||||||
foreach ($props as $k => $v) {
|
foreach ($props as $k => $v) {
|
||||||
$ics_props[] = "$k:$v";
|
$ics_props[] = "$k:$v";
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build ICS properties - add footer
|
// Build ICS properties - add footer
|
||||||
$ics_props[] = 'END:VEVENT';
|
$ics_props[] = 'END:VEVENT';
|
||||||
$ics_props[] = 'END:VCALENDAR';
|
$ics_props[] = 'END:VCALENDAR';
|
||||||
|
|
||||||
return $ics_props;
|
return $ics_props;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function sanitize_val($val, $key = false) {
|
private function sanitize_val($val, $key = false) {
|
||||||
switch($key) {
|
switch($key) {
|
||||||
case 'dtend':
|
case 'dtend':
|
||||||
case 'dtstamp':
|
case 'dtstamp':
|
||||||
case 'dtstart':
|
case 'dtstart':
|
||||||
$val = $this->format_timestamp($val);
|
$val = $this->format_timestamp($val);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
$val = $this->escape_string($val);
|
$val = $this->escape_string($val);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $val;
|
return $val;
|
||||||
}
|
}
|
||||||
|
|
||||||
private function format_timestamp($timestamp) {
|
private function format_timestamp($timestamp) {
|
||||||
$dt = new DateTime($timestamp);
|
$dt = new DateTime($timestamp);
|
||||||
return $dt->format(self::DT_FORMAT);
|
return $dt->format(self::DT_FORMAT);
|
||||||
}
|
}
|
||||||
|
|
||||||
private function escape_string($str) {
|
private function escape_string($str) {
|
||||||
return preg_replace('/([\,;])/','\\\$1', $str);
|
return preg_replace('/([\,;])/','\\\$1', $str);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
+568
-568
File diff suppressed because it is too large
Load Diff
+986
-986
File diff suppressed because it is too large
Load Diff
+796
-796
File diff suppressed because it is too large
Load Diff
+51
-56
@@ -1,56 +1,51 @@
|
|||||||
BEGIN:VCALENDAR
|
BEGIN:VCALENDAR
|
||||||
VERSION:2.0
|
VERSION:2.0
|
||||||
PRODID:-//ZContent.net//ZapCalLib 1.0//EN
|
PRODID:-//ZContent.net//ZapCalLib 1.0//EN
|
||||||
CALSCALE:GREGORIAN
|
CALSCALE:GREGORIAN
|
||||||
METHOD:PUBLISH
|
METHOD:PUBLISH
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20250912
|
DTSTART:20251002
|
||||||
DTEND:20250921
|
DTEND:20251005
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251002
|
DTSTART:20251020
|
||||||
DTEND:20251005
|
DTEND:20251103
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251020
|
DTSTART:20251223
|
||||||
DTEND:20251103
|
DTEND:20251228
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251223
|
DTSTART:20251230
|
||||||
DTEND:20251228
|
DTEND:20260102
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251230
|
DTSTART:20251231
|
||||||
DTEND:20260102
|
DTEND:20260102
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251231
|
DTSTART:20251231
|
||||||
DTEND:20260102
|
DTEND:20260101
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251231
|
DTSTART:20260102
|
||||||
DTEND:20260101
|
DTEND:20260111
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20260102
|
DTSTART:20260109
|
||||||
DTEND:20260111
|
DTEND:20260110
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20260109
|
DTSTART:20260201
|
||||||
DTEND:20260110
|
DTEND:20260204
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
END:VCALENDAR
|
||||||
SUMMARY:Urlaub
|
|
||||||
DTSTART:20260201
|
|
||||||
DTEND:20260204
|
|
||||||
END:VEVENT
|
|
||||||
END:VCALENDAR
|
|
||||||
|
|||||||
+51
-56
@@ -1,56 +1,51 @@
|
|||||||
BEGIN:VCALENDAR
|
BEGIN:VCALENDAR
|
||||||
VERSION:2.0
|
VERSION:2.0
|
||||||
PRODID:-//ZContent.net//ZapCalLib 1.0//EN
|
PRODID:-//ZContent.net//ZapCalLib 1.0//EN
|
||||||
CALSCALE:GREGORIAN
|
CALSCALE:GREGORIAN
|
||||||
METHOD:PUBLISH
|
METHOD:PUBLISH
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20250912
|
DTSTART:20251002
|
||||||
DTEND:20250921
|
DTEND:20251005
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251002
|
DTSTART:20251020
|
||||||
DTEND:20251005
|
DTEND:20251103
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251020
|
DTSTART:20251223
|
||||||
DTEND:20251103
|
DTEND:20251228
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251223
|
DTSTART:20251230
|
||||||
DTEND:20251228
|
DTEND:20260102
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251230
|
DTSTART:20251231
|
||||||
DTEND:20260102
|
DTEND:20260102
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251231
|
DTSTART:20251231
|
||||||
DTEND:20260102
|
DTEND:20260101
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20251231
|
DTSTART:20260102
|
||||||
DTEND:20260101
|
DTEND:20260111
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20260102
|
DTSTART:20260109
|
||||||
DTEND:20260111
|
DTEND:20260110
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
BEGIN:VEVENT
|
||||||
SUMMARY:Urlaub
|
SUMMARY:Urlaub
|
||||||
DTSTART:20260109
|
DTSTART:20260201
|
||||||
DTEND:20260110
|
DTEND:20260204
|
||||||
END:VEVENT
|
END:VEVENT
|
||||||
BEGIN:VEVENT
|
END:VCALENDAR
|
||||||
SUMMARY:Urlaub
|
|
||||||
DTSTART:20260201
|
|
||||||
DTEND:20260204
|
|
||||||
END:VEVENT
|
|
||||||
END:VCALENDAR
|
|
||||||
|
|||||||
+51
-51
@@ -1,52 +1,52 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once("./zapcallib.php");
|
require_once("./zapcallib.php");
|
||||||
include './../inc/config.inc.php';
|
include './../inc/config.inc.php';
|
||||||
|
|
||||||
$startdate= date('Y-m-d',(strtotime ( '-180 days' ) ));
|
$startdate= date('Y-m-d',(strtotime ( '-180 days' ) ));
|
||||||
// SQL-Abfrage, um Urlaubstermine abzurufen
|
// SQL-Abfrage, um Urlaubstermine abzurufen
|
||||||
$sql = 'SELECT DATE_ADD(start, INTERVAL 1 DAY) AS stadate , DATE_ADD(ende, INTERVAL 1 DAY) AS enddate FROM urlaub WHERE start >= "' . $startdate . '"';
|
$sql = 'SELECT DATE_ADD(start, INTERVAL 1 DAY) AS stadate , DATE_ADD(ende, INTERVAL 1 DAY) AS enddate FROM urlaub WHERE start >= "' . $startdate . '"';
|
||||||
$sql = 'SELECT start AS stadate , DATE_ADD(ende, INTERVAL 1 DAY) AS enddate FROM urlaub WHERE start >= "' . $startdate . '"';
|
$sql = 'SELECT start AS stadate , DATE_ADD(ende, INTERVAL 1 DAY) AS enddate FROM urlaub WHERE start >= "' . $startdate . '"';
|
||||||
#echo $sql;
|
#echo $sql;
|
||||||
$result = mysqli_query($con, $sql);
|
$result = mysqli_query($con, $sql);
|
||||||
|
|
||||||
// create the ical object
|
// create the ical object
|
||||||
$icalobj = new ZCiCal();
|
$icalobj = new ZCiCal();
|
||||||
|
|
||||||
$title = "Urlaub";
|
$title = "Urlaub";
|
||||||
|
|
||||||
// Iteriere durch die Ergebnisse und füge Events zur iCal-Datei hinzu
|
// Iteriere durch die Ergebnisse und füge Events zur iCal-Datei hinzu
|
||||||
while ($row = mysqli_fetch_assoc($result)) {
|
while ($row = mysqli_fetch_assoc($result)) {
|
||||||
// create the event within the ical object
|
// create the event within the ical object
|
||||||
$eventobj = new ZCiCalNode("VEVENT", $icalobj->curnode);
|
$eventobj = new ZCiCalNode("VEVENT", $icalobj->curnode);
|
||||||
|
|
||||||
// add title
|
// add title
|
||||||
$eventobj->addNode(new ZCiCalDataNode("SUMMARY:" . $title));
|
$eventobj->addNode(new ZCiCalDataNode("SUMMARY:" . $title));
|
||||||
|
|
||||||
// add start date
|
// add start date
|
||||||
$eventobj->addNode(new ZCiCalDataNode("DTSTART:" . ZCiCal::fromSqlDateTime($row["stadate"])));
|
$eventobj->addNode(new ZCiCalDataNode("DTSTART:" . ZCiCal::fromSqlDateTime($row["stadate"])));
|
||||||
|
|
||||||
// add end date
|
// add end date
|
||||||
$eventobj->addNode(new ZCiCalDataNode("DTEND:" . ZCiCal::fromSqlDateTime($row["enddate"])));
|
$eventobj->addNode(new ZCiCalDataNode("DTEND:" . ZCiCal::fromSqlDateTime($row["enddate"])));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// iCal-Datei ausgeben
|
// iCal-Datei ausgeben
|
||||||
file_put_contents("kalender.ics", $icalobj->export());
|
file_put_contents("kalender.ics", $icalobj->export());
|
||||||
file_put_contents("kalender.ical", $icalobj->export());
|
file_put_contents("kalender.ical", $icalobj->export());
|
||||||
echo "Aktualisierung angestossen. Bitte Kalender pruefen.<br>Wenn in dieser Liste der Eintrag steht, dann sind Anfragen und Telefonanlage vorbereitet!<br><br>";
|
echo "Aktualisierung angestossen. Bitte Kalender pruefen.<br>Wenn in dieser Liste der Eintrag steht, dann sind Anfragen und Telefonanlage vorbereitet!<br><br>";
|
||||||
#echo file_get_contents('./kalender.ical', true);
|
#echo file_get_contents('./kalender.ical', true);
|
||||||
$handle = fopen("./kalender.ical", "r");
|
$handle = fopen("./kalender.ical", "r");
|
||||||
if ($handle) {
|
if ($handle) {
|
||||||
while (($line = fgets($handle)) !== false) {
|
while (($line = fgets($handle)) !== false) {
|
||||||
// process the line read.
|
// process the line read.
|
||||||
echo $line . "<br>";
|
echo $line . "<br>";
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose($handle);
|
fclose($handle);
|
||||||
}
|
}
|
||||||
echo"<br>Der letzte oder vorherige Eintrag bei DTSTART und DTEND sollte das gewuenschte Urlaubsdatum plus einen Tag haben.<br>
|
echo"<br>Der letzte oder vorherige Eintrag bei DTSTART und DTEND sollte das gewuenschte Urlaubsdatum plus einen Tag haben.<br>
|
||||||
20240330 steht fuer den 30.03.2024.<br>
|
20240330 steht fuer den 30.03.2024.<br>
|
||||||
";
|
";
|
||||||
|
|
||||||
?>
|
?>
|
||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once __DIR__ . '/impfwarteliste.php';
|
require_once __DIR__ . '/impfwarteliste.php';
|
||||||
|
|||||||
+279
-279
@@ -1,292 +1,292 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Impfung Terminbestätigung</title>
|
<title>Praxis Creutzburg - Impfung Terminbestätigung</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<header>
|
<header>
|
||||||
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
||||||
<h2>Impftermin bestätigen</h2>
|
<h2>Impftermin bestätigen</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<section class="box">
|
<section class="box">
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
#include("impfconfig.php");
|
#include("impfconfig.php");
|
||||||
|
|
||||||
if(isset($_POST["id"]) || isset($_GET["id"])){
|
if(isset($_POST["id"]) || isset($_GET["id"])){
|
||||||
|
|
||||||
if(isset($_POST["id"])){
|
if(isset($_POST["id"])){
|
||||||
$id = $_POST["id"];
|
$id = $_POST["id"];
|
||||||
}else if(isset($_GET["id"])){
|
}else if(isset($_GET["id"])){
|
||||||
$id = $_GET["id"];
|
$id = $_GET["id"];
|
||||||
}
|
}
|
||||||
$queryimpf = mysqli_query($con, "SELECT * FROM impftermin WHERE hash='" . $id . "'");
|
$queryimpf = mysqli_query($con, "SELECT * FROM impftermin WHERE hash='" . $id . "'");
|
||||||
|
|
||||||
if(mysqli_num_rows($queryimpf) == 1){
|
if(mysqli_num_rows($queryimpf) == 1){
|
||||||
$rowimpf = mysqli_fetch_assoc($queryimpf);
|
$rowimpf = mysqli_fetch_assoc($queryimpf);
|
||||||
//rowimpf = $queryimpf->fetch_assoc() ;
|
//rowimpf = $queryimpf->fetch_assoc() ;
|
||||||
$userid = $rowimpf["userid"];
|
$userid = $rowimpf["userid"];
|
||||||
$checked = $rowimpf["checked"];
|
$checked = $rowimpf["checked"];
|
||||||
$terminid = $rowimpf["terminid"];
|
$terminid = $rowimpf["terminid"];
|
||||||
$timeid = $rowimpf["timeid"];
|
$timeid = $rowimpf["timeid"];
|
||||||
//echo $userid;
|
//echo $userid;
|
||||||
$queryuser = mysqli_query($con, "SELECT * FROM persons WHERE person_id='" . $userid . "'");
|
$queryuser = mysqli_query($con, "SELECT * FROM persons WHERE person_id='" . $userid . "'");
|
||||||
$rowuser = mysqli_fetch_assoc($queryuser);
|
$rowuser = mysqli_fetch_assoc($queryuser);
|
||||||
//$rowuser = $queryuser->fetch_assoc();
|
//$rowuser = $queryuser->fetch_assoc();
|
||||||
$vorname = $rowuser["vorname"];
|
$vorname = $rowuser["vorname"];
|
||||||
$nachname = $rowuser["nachname"];
|
$nachname = $rowuser["nachname"];
|
||||||
$mail = $rowuser["email"];
|
$mail = $rowuser["email"];
|
||||||
//echo $mail;
|
//echo $mail;
|
||||||
$tel = $rowuser["tele"];
|
$tel = $rowuser["tele"];
|
||||||
$userausgabe = $vorname . " " . $nachname;
|
$userausgabe = $vorname . " " . $nachname;
|
||||||
$querytime = mysqli_query($con, "Select date,start,ende,impfstoff,impfortid FROM timeslots WHERE timeid='" . $timeid . "'");
|
$querytime = mysqli_query($con, "Select date,start,ende,impfstoff,impfortid FROM timeslots WHERE timeid='" . $timeid . "'");
|
||||||
$rowtime = mysqli_fetch_assoc($querytime);
|
$rowtime = mysqli_fetch_assoc($querytime);
|
||||||
//$rowtime = $querytime->fetch_assoc();
|
//$rowtime = $querytime->fetch_assoc();
|
||||||
$datum = date("d.m.Y", strtotime($rowtime["date"]));
|
$datum = date("d.m.Y", strtotime($rowtime["date"]));
|
||||||
$start = substr($rowtime["start"],0, 5);
|
$start = substr($rowtime["start"],0, 5);
|
||||||
$ende = substr($rowtime["ende"],0, 5);
|
$ende = substr($rowtime["ende"],0, 5);
|
||||||
|
|
||||||
// Impfstoff
|
// Impfstoff
|
||||||
$impfstoff = $rowtime["impfstoff"];
|
$impfstoff = $rowtime["impfstoff"];
|
||||||
$sqlimpfstoffstring = "SELECT * FROM impfstoff WHERE impfid ='" . $impfstoff . "'";
|
$sqlimpfstoffstring = "SELECT * FROM impfstoff WHERE impfid ='" . $impfstoff . "'";
|
||||||
$queryimpfstoff = mysqli_query($con,$sqlimpfstoffstring);
|
$queryimpfstoff = mysqli_query($con,$sqlimpfstoffstring);
|
||||||
$rowimpf = mysqli_fetch_assoc($queryimpfstoff);
|
$rowimpf = mysqli_fetch_assoc($queryimpfstoff);
|
||||||
$impfstofftext = $rowimpf["impfname"];
|
$impfstofftext = $rowimpf["impfname"];
|
||||||
|
|
||||||
$impfortid = $rowtime["impfortid"];
|
$impfortid = $rowtime["impfortid"];
|
||||||
$sqlimpfortstring = "SELECT * FROM impfort WHERE ortid ='" . $impfortid . "'";
|
$sqlimpfortstring = "SELECT * FROM impfort WHERE ortid ='" . $impfortid . "'";
|
||||||
$queryimpfort = mysqli_query($con,$sqlimpfortstring);
|
$queryimpfort = mysqli_query($con,$sqlimpfortstring);
|
||||||
$rowimpfort = mysqli_fetch_assoc($queryimpfort);
|
$rowimpfort = mysqli_fetch_assoc($queryimpfort);
|
||||||
$impforttext = $rowimpfort["anzeigename"] ."- " . $rowimpfort["adresse"];
|
$impforttext = $rowimpfort["anzeigename"] ."- " . $rowimpfort["adresse"];
|
||||||
$impforttext = iconv('CP1252//IGNORE', 'UTF-8' , $impforttext);
|
$impforttext = iconv('CP1252//IGNORE', 'UTF-8' , $impforttext);
|
||||||
|
|
||||||
$mailbetreff = "Ihre Coronaimpfung bei Praxis Creutzburg";
|
$mailbetreff = "Ihre Coronaimpfung bei Praxis Creutzburg";
|
||||||
|
|
||||||
$Zeitanzeige = $datum . " " . $start . "-" . $ende ;
|
$Zeitanzeige = $datum . " " . $start . "-" . $ende ;
|
||||||
if($checked == 0){
|
if($checked == 0){
|
||||||
echo "<h4>Sie haben Ihren Termin aktuell noch nicht bestätigt!<br><br></h4><br>";
|
echo "<h4>Sie haben Ihren Termin aktuell noch nicht bestätigt!<br><br></h4><br>";
|
||||||
echo "<h4>Sagen Sie einen zugesagten Termin ab, werden Sie für 7 Tage für weitere Termine gesperrt!</h4><br>Sein Sie solidarisch und kommen Sie zu Ihren festgelegten Termin!<br>Doppelbuchung und Falschangaben führen zum generellen Ausschluss einer Impfung!<br>";
|
echo "<h4>Sagen Sie einen zugesagten Termin ab, werden Sie für 7 Tage für weitere Termine gesperrt!</h4><br>Sein Sie solidarisch und kommen Sie zu Ihren festgelegten Termin!<br>Doppelbuchung und Falschangaben führen zum generellen Ausschluss einer Impfung!<br>";
|
||||||
echo "Sie haben die folgenden Termindaten:<br><br>";
|
echo "Sie haben die folgenden Termindaten:<br><br>";
|
||||||
echo "<h4>Name: $userausgabe</h4>";
|
echo "<h4>Name: $userausgabe</h4>";
|
||||||
echo "<h4>Zeit: $Zeitanzeige</h4>";
|
echo "<h4>Zeit: $Zeitanzeige</h4>";
|
||||||
echo "<h4>Impfstoff: $impfstofftext</h4>";
|
echo "<h4>Impfstoff: $impfstofftext</h4>";
|
||||||
echo "<h4>Impfort: $impforttext</h4><br>";
|
echo "<h4>Impfort: $impforttext</h4><br>";
|
||||||
|
|
||||||
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
||||||
echo '<input type="hidden" name="terminid" id="terminid" value="'. $terminid .'" />';
|
echo '<input type="hidden" name="terminid" id="terminid" value="'. $terminid .'" />';
|
||||||
echo '<input type="hidden" name="aktion" id="aktion" value="2" />';
|
echo '<input type="hidden" name="aktion" id="aktion" value="2" />';
|
||||||
echo '<input type="submit" id="submitbox" value="Termin ZUSAGEN" />';
|
echo '<input type="submit" id="submitbox" value="Termin ZUSAGEN" />';
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
||||||
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
||||||
echo '<input type="hidden" name="terminid" id="terminid" value="'. $terminid .'" />';
|
echo '<input type="hidden" name="terminid" id="terminid" value="'. $terminid .'" />';
|
||||||
echo '<input type="submit" id="submitbox" value="Termin ABSAGEN!" />';
|
echo '<input type="submit" id="submitbox" value="Termin ABSAGEN!" />';
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
}else if($checked == 1){
|
}else if($checked == 1){
|
||||||
echo "<h4>Sie haben Ihren Termin bestätigt!<br><b>Vielen Dank!</b><br><br></h4><br>";
|
echo "<h4>Sie haben Ihren Termin bestätigt!<br><b>Vielen Dank!</b><br><br></h4><br>";
|
||||||
echo "<h4>Sagen Sie einen zugesagten Termin ab, werden Sie für 7 Tage für weitere Termine gesperrt!</h4><br>Sein Sie solidarisch und kommen Sie zu Ihren festgelegten Termin!<br>Doppelbuchung und Falschangaben führen zum generellen Ausschluss einer Impfung!<br>";
|
echo "<h4>Sagen Sie einen zugesagten Termin ab, werden Sie für 7 Tage für weitere Termine gesperrt!</h4><br>Sein Sie solidarisch und kommen Sie zu Ihren festgelegten Termin!<br>Doppelbuchung und Falschangaben führen zum generellen Ausschluss einer Impfung!<br>";
|
||||||
echo "Sie haben die folgenden Termindaten:<br><br>";
|
echo "Sie haben die folgenden Termindaten:<br><br>";
|
||||||
echo "<h4>Name: $userausgabe</h4>";
|
echo "<h4>Name: $userausgabe</h4>";
|
||||||
echo "<h4>Zeit: $Zeitanzeige</h4>";
|
echo "<h4>Zeit: $Zeitanzeige</h4>";
|
||||||
echo "<h4>Impfstoff: $impfstofftext</h4>";
|
echo "<h4>Impfstoff: $impfstofftext</h4>";
|
||||||
echo "<h4>Impfort: $impforttext</h4><br>";
|
echo "<h4>Impfort: $impforttext</h4><br>";
|
||||||
|
|
||||||
echo "Können Sie Ihren Termin nicht wahrnehmen tragen Sie sich bitte aus:<br>";
|
echo "Können Sie Ihren Termin nicht wahrnehmen tragen Sie sich bitte aus:<br>";
|
||||||
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
||||||
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
||||||
echo '<input type="hidden" name="terminid" id="terminid" value="'. $terminid .'" />';
|
echo '<input type="hidden" name="terminid" id="terminid" value="'. $terminid .'" />';
|
||||||
echo '<input type="submit" id="submitbox" value="Termin ABSAGEN!" />';
|
echo '<input type="submit" id="submitbox" value="Termin ABSAGEN!" />';
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
|
|
||||||
}else if($checked == 2){
|
}else if($checked == 2){
|
||||||
echo "<h4>Ihr Termin wurde erfolgreich abgesagt!!</h4><br>Wünschen Sie einen neuen Termin, tragen Sie sich wieder über das Formular ein.<br>";
|
echo "<h4>Ihr Termin wurde erfolgreich abgesagt!!</h4><br>Wünschen Sie einen neuen Termin, tragen Sie sich wieder über das Formular ein.<br>";
|
||||||
|
|
||||||
|
|
||||||
}else if($checked == 3){
|
}else if($checked == 3){
|
||||||
echo "<h4>Ihr Termin wurde vom Praxisteam storniert!</h4><br>Wünschen Sie einen neuen Termin, tragen Sie sich wieder über das Formular ein.<br>";
|
echo "<h4>Ihr Termin wurde vom Praxisteam storniert!</h4><br>Wünschen Sie einen neuen Termin, tragen Sie sich wieder über das Formular ein.<br>";
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
echo "<h4>Leider konnten wir Ihre Anforderung nicht verarbeiten.</h4><br>Bitte überprüfen Sie den aufgerufenden Link.<br><br>";
|
echo "<h4>Leider konnten wir Ihre Anforderung nicht verarbeiten.</h4><br>Bitte überprüfen Sie den aufgerufenden Link.<br><br>";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}else if($_POST["aktion"] == 1){
|
}else if($_POST["aktion"] == 1){
|
||||||
echo "Wollen Sie wirklich Ihren Termin absagen?<br>Dieses ist nicht rückgängig zu machen!<br>Dann bestätigen Sie die Abmeldung:<br>";
|
echo "Wollen Sie wirklich Ihren Termin absagen?<br>Dieses ist nicht rückgängig zu machen!<br>Dann bestätigen Sie die Abmeldung:<br>";
|
||||||
echo "<b>Achtung!</b> Sagen Sie Ihren festgelegten Termin ab, können Sie eine Woche keinen neuen Termin beantragen.<br>";
|
echo "<b>Achtung!</b> Sagen Sie Ihren festgelegten Termin ab, können Sie eine Woche keinen neuen Termin beantragen.<br>";
|
||||||
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
||||||
echo '<input type="hidden" name="aktion" id="aktion" value="3" />';
|
echo '<input type="hidden" name="aktion" id="aktion" value="3" />';
|
||||||
echo '<input type="hidden" name="terminid" id="terminid" value="'. $_POST["terminid"] .'" /><br>';
|
echo '<input type="hidden" name="terminid" id="terminid" value="'. $_POST["terminid"] .'" /><br>';
|
||||||
echo '<input type="submit" id="submitbox" value="Termin ABSAGEN!" />';
|
echo '<input type="submit" id="submitbox" value="Termin ABSAGEN!" />';
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
|
|
||||||
}else if($_POST["aktion"] == 2){
|
}else if($_POST["aktion"] == 2){
|
||||||
|
|
||||||
$querychecked = mysqli_query($con, "SELECT checked FROM impftermin WHERE terminid='" . $_POST["terminid"] . "'");
|
$querychecked = mysqli_query($con, "SELECT checked FROM impftermin WHERE terminid='" . $_POST["terminid"] . "'");
|
||||||
$rowchecked = mysqli_fetch_assoc($querychecked);
|
$rowchecked = mysqli_fetch_assoc($querychecked);
|
||||||
//$rowchecked = $querychecked->fetch_assoc() ;
|
//$rowchecked = $querychecked->fetch_assoc() ;
|
||||||
$checked = $rowchecked["checked"];
|
$checked = $rowchecked["checked"];
|
||||||
if($checked >= 1){
|
if($checked >= 1){
|
||||||
echo "<h4>Sie haben Ihren Termin schon bestätigt.</h4>";
|
echo "<h4>Sie haben Ihren Termin schon bestätigt.</h4>";
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
$query = mysqli_query($con, "Update impftermin SET checked='1' WHERE terminid ='".$_POST["terminid"]."'");
|
$query = mysqli_query($con, "Update impftermin SET checked='1' WHERE terminid ='".$_POST["terminid"]."'");
|
||||||
if($query){
|
if($query){
|
||||||
echo "<h4>Ihr Termin wurde erfolgreich bestätigt!<h4><br>";
|
echo "<h4>Ihr Termin wurde erfolgreich bestätigt!<h4><br>";
|
||||||
echo "Sie erhalten gleiche eine schriftliche Bestätigung per E-Mail<br>";
|
echo "Sie erhalten gleiche eine schriftliche Bestätigung per E-Mail<br>";
|
||||||
|
|
||||||
|
|
||||||
$queryimpf = mysqli_query($con, "SELECT * FROM impftermin WHERE terminid='" . $_POST["terminid"] . "'");
|
$queryimpf = mysqli_query($con, "SELECT * FROM impftermin WHERE terminid='" . $_POST["terminid"] . "'");
|
||||||
$rowimpf = mysqli_fetch_assoc($queryimpf);
|
$rowimpf = mysqli_fetch_assoc($queryimpf);
|
||||||
//$rowimpf = $queryimpf->fetch_assoc() ;
|
//$rowimpf = $queryimpf->fetch_assoc() ;
|
||||||
$userid = $rowimpf["userid"];
|
$userid = $rowimpf["userid"];
|
||||||
$checked = $rowimpf["checked"];
|
$checked = $rowimpf["checked"];
|
||||||
$terminid = $rowimpf["terminid"];
|
$terminid = $rowimpf["terminid"];
|
||||||
$timeid = $rowimpf["timeid"];
|
$timeid = $rowimpf["timeid"];
|
||||||
//echo $userid;
|
//echo $userid;
|
||||||
$queryuser = mysqli_query($con, "SELECT * FROM persons WHERE person_id='" . $userid . "'");
|
$queryuser = mysqli_query($con, "SELECT * FROM persons WHERE person_id='" . $userid . "'");
|
||||||
$rowuser = mysqli_fetch_assoc($queryuser);
|
$rowuser = mysqli_fetch_assoc($queryuser);
|
||||||
//$rowuser = $queryuser->fetch_assoc();
|
//$rowuser = $queryuser->fetch_assoc();
|
||||||
$vorname = $rowuser["vorname"];
|
$vorname = $rowuser["vorname"];
|
||||||
$nachname = $rowuser["nachname"];
|
$nachname = $rowuser["nachname"];
|
||||||
$mail = $rowuser["email"];
|
$mail = $rowuser["email"];
|
||||||
//echo $mail;
|
//echo $mail;
|
||||||
$tel = $rowuser["tele"];
|
$tel = $rowuser["tele"];
|
||||||
$userausgabe = $vorname . " " . $nachname;
|
$userausgabe = $vorname . " " . $nachname;
|
||||||
$querytime = mysqli_query($con, "Select date,start,ende FROM timeslots WHERE timeid='" . $timeid . "'");
|
$querytime = mysqli_query($con, "Select date,start,ende FROM timeslots WHERE timeid='" . $timeid . "'");
|
||||||
$rowtime = mysqli_fetch_assoc($querytime);
|
$rowtime = mysqli_fetch_assoc($querytime);
|
||||||
//$rowtime = $querytime->fetch_assoc();
|
//$rowtime = $querytime->fetch_assoc();
|
||||||
$datum = date("d.m.Y", strtotime($rowtime["date"]));
|
$datum = date("d.m.Y", strtotime($rowtime["date"]));
|
||||||
$start = substr($rowtime["start"],0, 5);
|
$start = substr($rowtime["start"],0, 5);
|
||||||
$ende = substr($rowtime["ende"],0, 5);
|
$ende = substr($rowtime["ende"],0, 5);
|
||||||
$Zeitanzeige = $datum . " " . $start. " - " . $ende;
|
$Zeitanzeige = $datum . " " . $start. " - " . $ende;
|
||||||
|
|
||||||
|
|
||||||
SendMailMessageVorlage($pdo, "1", $terminid, "2");
|
SendMailMessageVorlage($pdo, "1", $terminid, "2");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else if($_POST["aktion"] == 3){
|
}else if($_POST["aktion"] == 3){
|
||||||
$querychecked = mysqli_query($con, "SELECT checked FROM impftermin WHERE terminid='" . $_POST["terminid"] . "'");
|
$querychecked = mysqli_query($con, "SELECT checked FROM impftermin WHERE terminid='" . $_POST["terminid"] . "'");
|
||||||
$rowchecked = mysqli_fetch_assoc($querychecked);
|
$rowchecked = mysqli_fetch_assoc($querychecked);
|
||||||
$checked = $rowchecked["checked"];
|
$checked = $rowchecked["checked"];
|
||||||
if($checked >= 2){
|
if($checked >= 2){
|
||||||
echo "<h4>Sie haben Ihren Termin schon abgesagt.</h4>";
|
echo "<h4>Sie haben Ihren Termin schon abgesagt.</h4>";
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
$query = mysqli_query($con, "Update impftermin SET checked='2' WHERE terminid ='".$_POST["terminid"]."'");
|
$query = mysqli_query($con, "Update impftermin SET checked='2' WHERE terminid ='".$_POST["terminid"]."'");
|
||||||
if($query){
|
if($query){
|
||||||
echo "<h4>Ihr Termin wurde erfolgreich gelöscht!<h4><br>";
|
echo "<h4>Ihr Termin wurde erfolgreich gelöscht!<h4><br>";
|
||||||
echo "Sie erhalten gleiche eine schriftliche Bestätigung per E-Mail<br>";
|
echo "Sie erhalten gleiche eine schriftliche Bestätigung per E-Mail<br>";
|
||||||
|
|
||||||
$queryimpf = mysqli_query($con, "SELECT * FROM impftermin WHERE terminid='" . $_POST["terminid"] . "'");
|
$queryimpf = mysqli_query($con, "SELECT * FROM impftermin WHERE terminid='" . $_POST["terminid"] . "'");
|
||||||
$rowimpf = mysqli_fetch_assoc($queryimpf);
|
$rowimpf = mysqli_fetch_assoc($queryimpf);
|
||||||
//$rowimpf = $queryimpf->fetch_assoc() ;
|
//$rowimpf = $queryimpf->fetch_assoc() ;
|
||||||
$userid = $rowimpf["userid"];
|
$userid = $rowimpf["userid"];
|
||||||
$checked = $rowimpf["checked"];
|
$checked = $rowimpf["checked"];
|
||||||
$terminid = $rowimpf["terminid"];
|
$terminid = $rowimpf["terminid"];
|
||||||
$timeid = $rowimpf["timeid"];
|
$timeid = $rowimpf["timeid"];
|
||||||
//echo $userid;
|
//echo $userid;
|
||||||
$queryuser = mysqli_query($con, "SELECT * FROM persons WHERE person_id='" . $userid . "'");
|
$queryuser = mysqli_query($con, "SELECT * FROM persons WHERE person_id='" . $userid . "'");
|
||||||
$rowuser = mysqli_fetch_assoc($queryuser);
|
$rowuser = mysqli_fetch_assoc($queryuser);
|
||||||
//$rowuser = $queryuser->fetch_assoc();
|
//$rowuser = $queryuser->fetch_assoc();
|
||||||
$vorname = $rowuser["vorname"];
|
$vorname = $rowuser["vorname"];
|
||||||
$nachname = $rowuser["nachname"];
|
$nachname = $rowuser["nachname"];
|
||||||
$mail = $rowuser["email"];
|
$mail = $rowuser["email"];
|
||||||
//echo $mail;
|
//echo $mail;
|
||||||
$tel = $rowuser["tele"];
|
$tel = $rowuser["tele"];
|
||||||
$userausgabe = $vorname . " " . $nachname;
|
$userausgabe = $vorname . " " . $nachname;
|
||||||
$querytime = mysqli_query($con, "Select date,start,ende,impfdosen FROM timeslots WHERE timeid='" . $timeid . "'");
|
$querytime = mysqli_query($con, "Select date,start,ende,impfdosen FROM timeslots WHERE timeid='" . $timeid . "'");
|
||||||
$rowtime = mysqli_fetch_assoc($querytime);
|
$rowtime = mysqli_fetch_assoc($querytime);
|
||||||
//$rowtime = $querytime->fetch_assoc();
|
//$rowtime = $querytime->fetch_assoc();
|
||||||
$datum = date("d.m.Y", strtotime($rowtime["date"]));
|
$datum = date("d.m.Y", strtotime($rowtime["date"]));
|
||||||
$start = substr($rowtime["start"],0, 5);
|
$start = substr($rowtime["start"],0, 5);
|
||||||
$ende = substr($rowtime["ende"],0, 5);
|
$ende = substr($rowtime["ende"],0, 5);
|
||||||
$dosen = $rowtime["impfdosen"];
|
$dosen = $rowtime["impfdosen"];
|
||||||
$dosen = $dosen + 1;
|
$dosen = $dosen + 1;
|
||||||
$Zeitanzeige = $datum . " " . $start. " - " . $ende;
|
$Zeitanzeige = $datum . " " . $start. " - " . $ende;
|
||||||
$query = mysqli_query($con, "Update timeslots SET impfdosen='".$dosen."' WHERE timeid ='".$timeid."'");
|
$query = mysqli_query($con, "Update timeslots SET impfdosen='".$dosen."' WHERE timeid ='".$timeid."'");
|
||||||
|
|
||||||
SendMailMessageVorlage($pdo, "1", $terminid, "3");
|
SendMailMessageVorlage($pdo, "1", $terminid, "3");
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
echo "Leider konnten wir Ihre ID-Nummer nicht erkennen.<br>Bitte tragen Sie diese in dem folgendem Feld ein und klicken Sie auf 'Senden'<br><br>";
|
echo "Leider konnten wir Ihre ID-Nummer nicht erkennen.<br>Bitte tragen Sie diese in dem folgendem Feld ein und klicken Sie auf 'Senden'<br><br>";
|
||||||
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
||||||
echo '<input type="text" name="id" id="id" value="" placeholder="ID Kennung aus der E-Mail" required /><br>';
|
echo '<input type="text" name="id" id="id" value="" placeholder="ID Kennung aus der E-Mail" required /><br>';
|
||||||
echo '<input type="submit" id="submitbox" value="Senden" />';
|
echo '<input type="submit" id="submitbox" value="Senden" />';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|||||||
+155
-155
@@ -1,156 +1,156 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Corona Termin Erinnerung</title>
|
<title>Praxis Creutzburg - Corona Termin Erinnerung</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<header>
|
<header>
|
||||||
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
||||||
<h2>Impftermin online anfordern erfolgreich</h2>
|
<h2>Impftermin online anfordern erfolgreich</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<section class="box">
|
<section class="box">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$today =Date("Y-m-d",strtotime("-1 days"));
|
$today =Date("Y-m-d",strtotime("-1 days"));
|
||||||
|
|
||||||
$querytermin = mysqli_query($con, "SELECT * FROM impftermin WHERE date_created >= '". $today . "' AND checked = '0'");
|
$querytermin = mysqli_query($con, "SELECT * FROM impftermin WHERE date_created >= '". $today . "' AND checked = '0'");
|
||||||
while ($rowtermin = $querytermin->fetch_assoc()) {
|
while ($rowtermin = $querytermin->fetch_assoc()) {
|
||||||
$terminid = $rowtermin["terminid"];
|
$terminid = $rowtermin["terminid"];
|
||||||
$hash = $rowtermin["hash"];
|
$hash = $rowtermin["hash"];
|
||||||
$userid = $rowtermin["userid"];
|
$userid = $rowtermin["userid"];
|
||||||
$timeid = $rowtermin["timeid"];
|
$timeid = $rowtermin["timeid"];
|
||||||
$query = mysqli_query($con, "SELECT * FROM user WHERE userid ='". $userid . "'");
|
$query = mysqli_query($con, "SELECT * FROM user WHERE userid ='". $userid . "'");
|
||||||
while ($row = $query->fetch_assoc()) {
|
while ($row = $query->fetch_assoc()) {
|
||||||
$vorname = $row["vorname"];
|
$vorname = $row["vorname"];
|
||||||
$nachname = $row["nachname"];
|
$nachname = $row["nachname"];
|
||||||
$jahrgang = $row["jahrgang"];
|
$jahrgang = $row["jahrgang"];
|
||||||
$Email = $row["mail"];
|
$Email = $row["mail"];
|
||||||
$tele = $row["tele"];
|
$tele = $row["tele"];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "$Email <br><br>";
|
echo "$Email <br><br>";
|
||||||
/*
|
/*
|
||||||
$querytime = mysqli_query($con, "Select date,start,ende FROM timeslots WHERE timeid='" . $timeid . "'");
|
$querytime = mysqli_query($con, "Select date,start,ende FROM timeslots WHERE timeid='" . $timeid . "'");
|
||||||
$rowtime = $querytime->fetch_assoc();
|
$rowtime = $querytime->fetch_assoc();
|
||||||
$datum = date("d.m.Y", strtotime($rowtime["date"]));
|
$datum = date("d.m.Y", strtotime($rowtime["date"]));
|
||||||
$start = substr($rowtime["start"],0, 5);
|
$start = substr($rowtime["start"],0, 5);
|
||||||
$ende = substr($rowtime["ende"],0, 5);
|
$ende = substr($rowtime["ende"],0, 5);
|
||||||
$Zeitanzeige = $datum . " " . $start. " - " . $ende;
|
$Zeitanzeige = $datum . " " . $start. " - " . $ende;
|
||||||
|
|
||||||
$hashaufruf = "https://praxis-creutzburg.de/impfbestaetigung.php?id=$hash";
|
$hashaufruf = "https://praxis-creutzburg.de/impfbestaetigung.php?id=$hash";
|
||||||
|
|
||||||
$nachricht = "<meta http-equiv='Content-Type' content='text/html charset=UTF-8' />
|
$nachricht = "<meta http-equiv='Content-Type' content='text/html charset=UTF-8' />
|
||||||
Sehr geehrte(r) Herr/Frau $nachname,<br><br><b>Ihre Impftermin Anfrage bei Praxis-Creutzburg war erfolgreich!</b><br>
|
Sehr geehrte(r) Herr/Frau $nachname,<br><br><b>Ihre Impftermin Anfrage bei Praxis-Creutzburg war erfolgreich!</b><br>
|
||||||
Bitte bestätigten Sie Ihre Impfanfrage noch über dieses Formular:<br>
|
Bitte bestätigten Sie Ihre Impfanfrage noch über dieses Formular:<br>
|
||||||
<a href=$hashaufruf style='box-shadow:inset 0px -1px 15px 3px #23395e;background:linear-gradient(to bottom, #2e466e 5%, #415989 100%);background-color:#2e466e;border-radius:17px;border:1px solid #1f2f47;display:inline-block;cursor:pointer;color:#ffffff;font-family:Arial;font-size:27px;padding:20px 57px;text-decoration:none;text-shadow:0px 1px 0px #263666;' >Impftermin bestätigen</a><br><br>
|
<a href=$hashaufruf style='box-shadow:inset 0px -1px 15px 3px #23395e;background:linear-gradient(to bottom, #2e466e 5%, #415989 100%);background-color:#2e466e;border-radius:17px;border:1px solid #1f2f47;display:inline-block;cursor:pointer;color:#ffffff;font-family:Arial;font-size:27px;padding:20px 57px;text-decoration:none;text-shadow:0px 1px 0px #263666;' >Impftermin bestätigen</a><br><br>
|
||||||
oder geben Sie die folgende Zeile in Ihrem Browser in die Adressezeile ein:<br>
|
oder geben Sie die folgende Zeile in Ihrem Browser in die Adressezeile ein:<br>
|
||||||
$hashaufruf<br>
|
$hashaufruf<br>
|
||||||
<b>Bitte bestätigen Sie Ihren Termin innerhalb von 24 Stunden!</b><br>
|
<b>Bitte bestätigen Sie Ihren Termin innerhalb von 24 Stunden!</b><br>
|
||||||
Anderenfalls wird der Termin automatisch storniert.<br><br>
|
Anderenfalls wird der Termin automatisch storniert.<br><br>
|
||||||
Erscheinen Sie nicht zum Termin wird eine Aufwandentschädigung von 50€ fällig.<br>
|
Erscheinen Sie nicht zum Termin wird eine Aufwandentschädigung von 50€ fällig.<br>
|
||||||
Sie können den Termin bis einen Tag vor dem Termin kostenfrei stornieren.<br><br>
|
Sie können den Termin bis einen Tag vor dem Termin kostenfrei stornieren.<br><br>
|
||||||
|
|
||||||
<p>Die Impfunterlagen liegen zwei Tage vor dem Impftermin ausgedruckt aussen neben der Eingangstuer, vor der Praxis fuer Sie bereit, wenn Sie keine Moeglichkeiten zum ausdrucken haben!
|
<p>Die Impfunterlagen liegen zwei Tage vor dem Impftermin ausgedruckt aussen neben der Eingangstuer, vor der Praxis fuer Sie bereit, wenn Sie keine Moeglichkeiten zum ausdrucken haben!
|
||||||
Impfaufklaerung und Einwilligung sind zusammengeheftet, beide Dokumente muessen Unterschrieben werden.</p>
|
Impfaufklaerung und Einwilligung sind zusammengeheftet, beide Dokumente muessen Unterschrieben werden.</p>
|
||||||
|
|
||||||
https://www.praxis-creutzburg.de/impfunterlagen.php<br>
|
https://www.praxis-creutzburg.de/impfunterlagen.php<br>
|
||||||
Hier koennen Sie die Unterlagen zum ausdrucken herunterladen.<br>
|
Hier koennen Sie die Unterlagen zum ausdrucken herunterladen.<br>
|
||||||
Unterschreiben Sie die Einwilligungserklaerung und die Impfaufklaerung!<br><b>Zwei Dokumente, zwei Unterschriften!</b><br>
|
Unterschreiben Sie die Einwilligungserklaerung und die Impfaufklaerung!<br><b>Zwei Dokumente, zwei Unterschriften!</b><br>
|
||||||
|
|
||||||
<h4>Bitte rufen Sie uns nicht wegen Impfterminen an! </h4>
|
<h4>Bitte rufen Sie uns nicht wegen Impfterminen an! </h4>
|
||||||
|
|
||||||
<b>Ihre Angaben</b><br><br>
|
<b>Ihre Angaben</b><br><br>
|
||||||
Name: $vorname $nachname<br>
|
Name: $vorname $nachname<br>
|
||||||
Termin: $Zeitanzeige<br>
|
Termin: $Zeitanzeige<br>
|
||||||
<br>
|
<br>
|
||||||
Bitte sein Sie pünktlich zum Termin vor Ort.<br>Vielen Dank für <b>Ihre Mithilfe</b>!<br>
|
Bitte sein Sie pünktlich zum Termin vor Ort.<br>Vielen Dank für <b>Ihre Mithilfe</b>!<br>
|
||||||
<br>
|
<br>
|
||||||
Ihr Praxis-Team<br>
|
Ihr Praxis-Team<br>
|
||||||
der Praxis Creutzburg<br>
|
der Praxis Creutzburg<br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
";
|
";
|
||||||
|
|
||||||
echo "<h3>Nachricht abgeschickt!</h3> ";
|
echo "<h3>Nachricht abgeschickt!</h3> ";
|
||||||
$betreff = 'Impftermin-Anfrage bei Praxis Creuzburg';
|
$betreff = 'Impftermin-Anfrage bei Praxis Creuzburg';
|
||||||
|
|
||||||
SendMailMessage($con, $Email, $betreff, $nachricht);
|
SendMailMessage($con, $Email, $betreff, $nachricht);
|
||||||
*/
|
*/
|
||||||
SendMailMessageVorlage($pdo, "1", $terminid, "31");
|
SendMailMessageVorlage($pdo, "1", $terminid, "31");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
<a href="impfanmeldung.php" class="button">Impftermin sichern</a>
|
<a href="impfanmeldung.php" class="button">Impftermin sichern</a>
|
||||||
<br><br>
|
<br><br>
|
||||||
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>
|
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>
|
||||||
Elektronische Nachrichten können von Dritten gelesen werden. Bei Bedenken nutzen Sie unsere Rezepthotline für alle Serviceleistungen: 05156 99 03 77
|
Elektronische Nachrichten können von Dritten gelesen werden. Bei Bedenken nutzen Sie unsere Rezepthotline für alle Serviceleistungen: 05156 99 03 77
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+164
-164
@@ -1,165 +1,165 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Corona Termin Löschung</title>
|
<title>Praxis Creutzburg - Corona Termin Löschung</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<header>
|
<header>
|
||||||
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
||||||
<h2>Impftermin online anfordern</h2>
|
<h2>Impftermin online anfordern</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<section class="box">
|
<section class="box">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
//echo $_GET["aktion"];
|
//echo $_GET["aktion"];
|
||||||
if(isset($_GET["aktion"])) {
|
if(isset($_GET["aktion"])) {
|
||||||
if( $_GET["aktion"] == "AufrufzurLoeschung"){
|
if( $_GET["aktion"] == "AufrufzurLoeschung"){
|
||||||
|
|
||||||
|
|
||||||
$today = date("Y-m-d");
|
$today = date("Y-m-d");
|
||||||
$yesterday = Date('Y-m-d', strtotime('-1 day'));
|
$yesterday = Date('Y-m-d', strtotime('-1 day'));
|
||||||
$yesteryesterday = Date('Y-m-d', strtotime('-2 days'));
|
$yesteryesterday = Date('Y-m-d', strtotime('-2 days'));
|
||||||
$querytermin = mysqli_query($con, "SELECT * FROM impftermin INNER JOIN timeslots ON impftermin.timeid = timeslots.timeid WHERE date_created <= '". $yesteryesterday . "' AND checked = '0'");
|
$querytermin = mysqli_query($con, "SELECT * FROM impftermin INNER JOIN timeslots ON impftermin.timeid = timeslots.timeid WHERE date_created <= '". $yesteryesterday . "' AND checked = '0'");
|
||||||
while ($rowtermin = $querytermin->fetch_assoc()) {
|
while ($rowtermin = $querytermin->fetch_assoc()) {
|
||||||
$terminid = $rowtermin["terminid"];
|
$terminid = $rowtermin["terminid"];
|
||||||
$hash = $rowtermin["hash"];
|
$hash = $rowtermin["hash"];
|
||||||
$userid = $rowtermin["userid"];
|
$userid = $rowtermin["userid"];
|
||||||
$timeid = $rowtermin["timeid"];
|
$timeid = $rowtermin["timeid"];
|
||||||
$query = mysqli_query($con, "SELECT * FROM user WHERE userid ='". $userid . "'");
|
$query = mysqli_query($con, "SELECT * FROM user WHERE userid ='". $userid . "'");
|
||||||
$row = $query->fetch_assoc();
|
$row = $query->fetch_assoc();
|
||||||
$vorname = $row["vorname"];
|
$vorname = $row["vorname"];
|
||||||
$nachname = $row["nachname"];
|
$nachname = $row["nachname"];
|
||||||
$jahrgang = $row["jahrgang"];
|
$jahrgang = $row["jahrgang"];
|
||||||
$mail = $row["mail"];
|
$mail = $row["mail"];
|
||||||
$tele = $row["tele"];
|
$tele = $row["tele"];
|
||||||
|
|
||||||
echo "Löschen Id $terminid <br>";
|
echo "Löschen Id $terminid <br>";
|
||||||
|
|
||||||
$datum = date("d.m.Y", strtotime($row["date"]));
|
$datum = date("d.m.Y", strtotime($row["date"]));
|
||||||
$start = substr($row["start"],0, 5);
|
$start = substr($row["start"],0, 5);
|
||||||
$ende = substr($row["ende"],0, 5);
|
$ende = substr($row["ende"],0, 5);
|
||||||
$Zeitanzeige = $datum . " " . $start. " - " . $ende;
|
$Zeitanzeige = $datum . " " . $start. " - " . $ende;
|
||||||
$queryloeschen = mysqli_query($con, "Update impftermin SET checked='5' WHERE terminid = '". $terminid . "' ");
|
$queryloeschen = mysqli_query($con, "Update impftermin SET checked='5' WHERE terminid = '". $terminid . "' ");
|
||||||
|
|
||||||
// Impfdosen um einen erhöhen
|
// Impfdosen um einen erhöhen
|
||||||
$query = mysqli_query($con, "Select impfdosen FROM timeslots WHERE timeid='".$timeid."'");
|
$query = mysqli_query($con, "Select impfdosen FROM timeslots WHERE timeid='".$timeid."'");
|
||||||
$row = mysqli_fetch_assoc($query);
|
$row = mysqli_fetch_assoc($query);
|
||||||
$dosen = $row["impfdosen"] + 1;
|
$dosen = $row["impfdosen"] + 1;
|
||||||
$query = mysqli_query($con, "Update timeslots SET impfdosen='".$dosen ."' WHERE timeid ='".$timeid."'");
|
$query = mysqli_query($con, "Update timeslots SET impfdosen='".$dosen ."' WHERE timeid ='".$timeid."'");
|
||||||
|
|
||||||
if($queryloeschen){
|
if($queryloeschen){
|
||||||
|
|
||||||
/*
|
/*
|
||||||
$dosen = $rowtermin["impfdosen"];
|
$dosen = $rowtermin["impfdosen"];
|
||||||
$dosen = $dosen + 1;
|
$dosen = $dosen + 1;
|
||||||
$query = mysqli_query($con, "Update timeslots SET impfdosen='".$dosen."' WHERE timeid ='".$timeid."'");
|
$query = mysqli_query($con, "Update timeslots SET impfdosen='".$dosen."' WHERE timeid ='".$timeid."'");
|
||||||
|
|
||||||
$nachricht = "<meta http-equiv='Content-Type' content='text/html charset=UTF-8' />
|
$nachricht = "<meta http-equiv='Content-Type' content='text/html charset=UTF-8' />
|
||||||
Sehr geehrte(r) Herr/Frau $nachname,<br><br>
|
Sehr geehrte(r) Herr/Frau $nachname,<br><br>
|
||||||
|
|
||||||
Ihre ausgewählter Impftermin wurde storniert, da Sie diesen nicht innerhalb von 24 Stunden bestätigt haben.<br>
|
Ihre ausgewählter Impftermin wurde storniert, da Sie diesen nicht innerhalb von 24 Stunden bestätigt haben.<br>
|
||||||
Termin: $Zeitanzeige<br>
|
Termin: $Zeitanzeige<br>
|
||||||
<br>
|
<br>
|
||||||
Benötigen Sie einen neuen Termin, müssen Sie das Formular erneut ausfüllen.<br>
|
Benötigen Sie einen neuen Termin, müssen Sie das Formular erneut ausfüllen.<br>
|
||||||
|
|
||||||
<h4>Bitte rufen Sie uns nicht wegen Impfterminen an! </h4>
|
<h4>Bitte rufen Sie uns nicht wegen Impfterminen an! </h4>
|
||||||
|
|
||||||
<br>Vielen Dank für <b>Ihre Mithilfe</b>!<br>
|
<br>Vielen Dank für <b>Ihre Mithilfe</b>!<br>
|
||||||
<br>
|
<br>
|
||||||
Ihr Praxis-Team<br>
|
Ihr Praxis-Team<br>
|
||||||
der Praxis Creutzburg<br>
|
der Praxis Creutzburg<br>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
";
|
";
|
||||||
$nachricht = iconv('UTF-8', 'CP1252//IGNORE', $nachricht);
|
$nachricht = iconv('UTF-8', 'CP1252//IGNORE', $nachricht);
|
||||||
|
|
||||||
//echo $nachricht;
|
//echo $nachricht;
|
||||||
|
|
||||||
echo "<h3>Nachricht abgeschickt!</h3> ";
|
echo "<h3>Nachricht abgeschickt!</h3> ";
|
||||||
$betreff = 'Impftermin-Anfrage bei Praxis Creuzburg';
|
$betreff = 'Impftermin-Anfrage bei Praxis Creuzburg';
|
||||||
|
|
||||||
SendMailMessage($con, $mail, $betreff, $nachricht);
|
SendMailMessage($con, $mail, $betreff, $nachricht);
|
||||||
*/
|
*/
|
||||||
SendMailMessageVorlage($pdo, "1", $terminid, "30");
|
SendMailMessageVorlage($pdo, "1", $terminid, "30");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="impfanmeldung.php" class="button">Impftermin sichern</a>
|
<a href="impfanmeldung.php" class="button">Impftermin sichern</a>
|
||||||
<br><br>
|
<br><br>
|
||||||
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>
|
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>
|
||||||
Elektronische Nachrichten können von Dritten gelesen werden. Bei Bedenken nutzen Sie unsere Rezepthotline für alle Serviceleistungen: 05156 99 03 77
|
Elektronische Nachrichten können von Dritten gelesen werden. Bei Bedenken nutzen Sie unsere Rezepthotline für alle Serviceleistungen: 05156 99 03 77
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,94 +1,94 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - corona warteliste info</title>
|
<title>Praxis Creutzburg - corona warteliste info</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<header>
|
<header>
|
||||||
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
||||||
<h2>Impftermin online anfordern erfolgreich</h2>
|
<h2>Impftermin online anfordern erfolgreich</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<section class="box">
|
<section class="box">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$today =Date("Y-m-d");
|
$today =Date("Y-m-d");
|
||||||
|
|
||||||
$querytermin = mysqli_query($con, "SELECT warteid FROM warteliste WHERE checked = '0' AND (impfstoff= '1' OR impfstoff= '2' OR impfstoff= '3' OR impfstoff= '4' OR impfstoff= '6') ");
|
$querytermin = mysqli_query($con, "SELECT warteid FROM warteliste WHERE checked = '0' AND (impfstoff= '1' OR impfstoff= '2' OR impfstoff= '3' OR impfstoff= '4' OR impfstoff= '6') ");
|
||||||
while ($rowtermin = $querytermin->fetch_assoc()) {
|
while ($rowtermin = $querytermin->fetch_assoc()) {
|
||||||
$warteid = $rowtermin["warteid"];
|
$warteid = $rowtermin["warteid"];
|
||||||
|
|
||||||
SendMailMessageVorlage($pdo, "2", $warteid , "22" );
|
SendMailMessageVorlage($pdo, "2", $warteid , "22" );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
<a href="impfanmeldung.php" class="button">Impftermin sichern</a>
|
<a href="impfanmeldung.php" class="button">Impftermin sichern</a>
|
||||||
<br><br>
|
<br><br>
|
||||||
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>
|
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>
|
||||||
Elektronische Nachrichten können von Dritten gelesen werden. Bei Bedenken nutzen Sie unsere Rezepthotline für alle Serviceleistungen: 05156 99 03 77
|
Elektronische Nachrichten können von Dritten gelesen werden. Bei Bedenken nutzen Sie unsere Rezepthotline für alle Serviceleistungen: 05156 99 03 77
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+97
-97
@@ -1,98 +1,98 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Corona wateliste info mail</title>
|
<title>Praxis Creutzburg - Corona wateliste info mail</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<header>
|
<header>
|
||||||
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
||||||
<h2>Impftermin online anfordern erfolgreich</h2>
|
<h2>Impftermin online anfordern erfolgreich</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<section class="box">
|
<section class="box">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
$query = mysqli_query($con, "SELECT maximalmailprostunde FROM config ");
|
$query = mysqli_query($con, "SELECT maximalmailprostunde FROM config ");
|
||||||
$row = $query->fetch_assoc();
|
$row = $query->fetch_assoc();
|
||||||
$maximalmail = $row["maximalmailprostunde"];
|
$maximalmail = $row["maximalmailprostunde"];
|
||||||
|
|
||||||
$today =Date("Y-m-d");
|
$today =Date("Y-m-d");
|
||||||
$yesteryesterday = Date('Y-m-d', strtotime('-14 days'));
|
$yesteryesterday = Date('Y-m-d', strtotime('-14 days'));
|
||||||
$querytermin = mysqli_query($con, "SELECT warteid FROM warteliste WHERE checked = '1' AND mailtime <='". $yesteryesterday . "' OR checked = '1' AND (impfstoff= '1' OR impfstoff= '2' OR impfstoff= '3' OR impfstoff= '4' OR impfstoff= '6') AND mailtime IS NULL LIMIT ". $maximalmail . " ");
|
$querytermin = mysqli_query($con, "SELECT warteid FROM warteliste WHERE checked = '1' AND mailtime <='". $yesteryesterday . "' OR checked = '1' AND (impfstoff= '1' OR impfstoff= '2' OR impfstoff= '3' OR impfstoff= '4' OR impfstoff= '6') AND mailtime IS NULL LIMIT ". $maximalmail . " ");
|
||||||
while ($rowtermin = $querytermin->fetch_assoc()) {
|
while ($rowtermin = $querytermin->fetch_assoc()) {
|
||||||
$warteid = $rowtermin["warteid"];
|
$warteid = $rowtermin["warteid"];
|
||||||
$queryupdate = mysqli_query($con, "UPDATE warteliste SET mailtime='" . date("Y-m-d h:i:s") . "' WHERE warteid ='". $warteid . "' ");
|
$queryupdate = mysqli_query($con, "UPDATE warteliste SET mailtime='" . date("Y-m-d h:i:s") . "' WHERE warteid ='". $warteid . "' ");
|
||||||
SendMailMessageVorlage($pdo, "2", $warteid , "24" );
|
SendMailMessageVorlage($pdo, "2", $warteid , "24" );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
<a href="impfanmeldung.php" class="button">Impftermin sichern</a>
|
<a href="impfanmeldung.php" class="button">Impftermin sichern</a>
|
||||||
<br><br>
|
<br><br>
|
||||||
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>
|
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>
|
||||||
Elektronische Nachrichten können von Dritten gelesen werden. Bei Bedenken nutzen Sie unsere Rezepthotline für alle Serviceleistungen: 05156 99 03 77
|
Elektronische Nachrichten können von Dritten gelesen werden. Bei Bedenken nutzen Sie unsere Rezepthotline für alle Serviceleistungen: 05156 99 03 77
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,2 +1,2 @@
|
|||||||
<?php
|
<?php
|
||||||
require_once __DIR__ . '/impfwarteliste.php';
|
require_once __DIR__ . '/impfwarteliste.php';
|
||||||
|
|||||||
+98
-98
@@ -1,99 +1,99 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - corona warteliste loeschung</title>
|
<title>Praxis Creutzburg - corona warteliste loeschung</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<header>
|
<header>
|
||||||
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
<img src="gif/logo-arzt-creutzburg-coppen.gif" align="left" alt="Praxis Logo Creutzburg, Facharzt für innere Medizin, Schloßstr. 18, 31863 Coppenbrügge, Sprechzeit 8-11:00 Uhr, Tel. 05156 8125" />
|
||||||
<h2>Impftermin online anfordern erfolgreich</h2>
|
<h2>Impftermin online anfordern erfolgreich</h2>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<section class="box">
|
<section class="box">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
if(isset($_GET["aktion"])) {
|
if(isset($_GET["aktion"])) {
|
||||||
if( $_GET["aktion"] == "AufrufzurLoeschung"){
|
if( $_GET["aktion"] == "AufrufzurLoeschung"){
|
||||||
$today =Date("Y-m-d");
|
$today =Date("Y-m-d");
|
||||||
$yesteryesterday = Date('Y-m-d', strtotime('-10 days'));
|
$yesteryesterday = Date('Y-m-d', strtotime('-10 days'));
|
||||||
$querytermin = mysqli_query($con, "SELECT warteid FROM warteliste WHERE checked = '0' AND date_created <= '" . $yesteryesterday . "'");
|
$querytermin = mysqli_query($con, "SELECT warteid FROM warteliste WHERE checked = '0' AND date_created <= '" . $yesteryesterday . "'");
|
||||||
while ($rowtermin = $querytermin->fetch_assoc()) {
|
while ($rowtermin = $querytermin->fetch_assoc()) {
|
||||||
$warteid = $rowtermin["warteid"];
|
$warteid = $rowtermin["warteid"];
|
||||||
$queryloeschen = mysqli_query($con, "DELETE FROM warteliste WHERE warteid = '". $warteid . "' ");
|
$queryloeschen = mysqli_query($con, "DELETE FROM warteliste WHERE warteid = '". $warteid . "' ");
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if($queryloeschen){
|
if($queryloeschen){
|
||||||
SendMailMessageVorlage($pdo, "2", $warteid , "23" );
|
SendMailMessageVorlage($pdo, "2", $warteid , "23" );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
<a href="impfanmeldung.php" class="button">Impftermin sichern</a>
|
<a href="impfanmeldung.php" class="button">Impftermin sichern</a>
|
||||||
<br><br>
|
<br><br>
|
||||||
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>
|
Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>
|
||||||
Elektronische Nachrichten können von Dritten gelesen werden. Bei Bedenken nutzen Sie unsere Rezepthotline für alle Serviceleistungen: 05156 99 03 77
|
Elektronische Nachrichten können von Dritten gelesen werden. Bei Bedenken nutzen Sie unsere Rezepthotline für alle Serviceleistungen: 05156 99 03 77
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+164
-164
@@ -1,164 +1,164 @@
|
|||||||
<?php
|
<?php
|
||||||
use PHPMailer\PHPMailer\PHPMailer;
|
use PHPMailer\PHPMailer\PHPMailer;
|
||||||
use PHPMailer\PHPMailer\Exception;
|
use PHPMailer\PHPMailer\Exception;
|
||||||
|
|
||||||
require 'PHPMailer/src/Exception.php';
|
require 'PHPMailer/src/Exception.php';
|
||||||
require 'PHPMailer/src/PHPMailer.php';
|
require 'PHPMailer/src/PHPMailer.php';
|
||||||
require 'PHPMailer/src/SMTP.php';
|
require 'PHPMailer/src/SMTP.php';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Togo Termine anlegen
|
### Togo Termine anlegen
|
||||||
|
|
||||||
function gototerminanlegung() {
|
function gototerminanlegung() {
|
||||||
|
|
||||||
global $pdo;
|
global $pdo;
|
||||||
|
|
||||||
$statementtermin = $pdo->prepare("SELECT * FROM togo_terminvorgaben");
|
$statementtermin = $pdo->prepare("SELECT * FROM togo_terminvorgaben");
|
||||||
$statementtermin->execute();
|
$statementtermin->execute();
|
||||||
foreach ($statementtermin as $row) {
|
foreach ($statementtermin as $row) {
|
||||||
$togovorgabenid = $row["vorgabenid"];
|
$togovorgabenid = $row["vorgabenid"];
|
||||||
$togodate = $row["date"];
|
$togodate = $row["date"];
|
||||||
$togostart = $row["start"];
|
$togostart = $row["start"];
|
||||||
$togoende = $row["ende"];
|
$togoende = $row["ende"];
|
||||||
$standort = $row["standort"];
|
$standort = $row["standort"];
|
||||||
$error = $row["error"];
|
$error = $row["error"];
|
||||||
$warning = $row["warning"];
|
$warning = $row["warning"];
|
||||||
$date = new DateTime();
|
$date = new DateTime();
|
||||||
if($togodate == "Mo"){
|
if($togodate == "Mo"){
|
||||||
$date->modify('next monday');
|
$date->modify('next monday');
|
||||||
|
|
||||||
}elseif($togodate == "Di"){
|
}elseif($togodate == "Di"){
|
||||||
$$date->modify('next tuesday');
|
$$date->modify('next tuesday');
|
||||||
#$nextday = date('Y-m-d', $nextTuesday);
|
#$nextday = date('Y-m-d', $nextTuesday);
|
||||||
}elseif($togodate == "Mi"){
|
}elseif($togodate == "Mi"){
|
||||||
$date->modify('next wednesday');
|
$date->modify('next wednesday');
|
||||||
#$nextday = date('Y-m-d', $nextTuesday);
|
#$nextday = date('Y-m-d', $nextTuesday);
|
||||||
}elseif($togodate == "Do"){
|
}elseif($togodate == "Do"){
|
||||||
$date->modify('next thursday');
|
$date->modify('next thursday');
|
||||||
#$nextday = date('Y-m-d', $nextTuesday);
|
#$nextday = date('Y-m-d', $nextTuesday);
|
||||||
}elseif($togodate == "Fr"){
|
}elseif($togodate == "Fr"){
|
||||||
$date->modify('next friday');
|
$date->modify('next friday');
|
||||||
#$nextday = date('Y-m-d', $nextTuesday);
|
#$nextday = date('Y-m-d', $nextTuesday);
|
||||||
}elseif($togodate == "Sa"){
|
}elseif($togodate == "Sa"){
|
||||||
$date->modify('next saturday');
|
$date->modify('next saturday');
|
||||||
#$nextday = date('Y-m-d', $nextTuesday);
|
#$nextday = date('Y-m-d', $nextTuesday);
|
||||||
}elseif($togodate == "so"){
|
}elseif($togodate == "so"){
|
||||||
$date->modify('next sunday');
|
$date->modify('next sunday');
|
||||||
#$nextday = date('Y-m-d', $nextTuesday);
|
#$nextday = date('Y-m-d', $nextTuesday);
|
||||||
}else{
|
}else{
|
||||||
$ausgabedate = "error";
|
$ausgabedate = "error";
|
||||||
}
|
}
|
||||||
$nextday = $date->format('Y-m-d');
|
$nextday = $date->format('Y-m-d');
|
||||||
|
|
||||||
$i=0;
|
$i=0;
|
||||||
while($i < 4){
|
while($i < 4){
|
||||||
|
|
||||||
if($i!=0){
|
if($i!=0){
|
||||||
#$nextday = date('Y-m-d', strtotime($nextday .' +7 day'));
|
#$nextday = date('Y-m-d', strtotime($nextday .' +7 day'));
|
||||||
// Create a new DateTime object
|
// Create a new DateTime object
|
||||||
$currentDate = new DateTime($nextday);
|
$currentDate = new DateTime($nextday);
|
||||||
$datetempz = $currentDate->add(new DateInterval('P7D'));
|
$datetempz = $currentDate->add(new DateInterval('P7D'));
|
||||||
//Get yesterday date
|
//Get yesterday date
|
||||||
$nextday = $datetempz->format('Y-m-d');
|
$nextday = $datetempz->format('Y-m-d');
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
$statementuser = $pdo->prepare("SELECT terminid FROM togo_termin WHERE date=:date AND start=:start AND end=:end AND standort=:standort");
|
$statementuser = $pdo->prepare("SELECT terminid FROM togo_termin WHERE date=:date AND start=:start AND end=:end AND standort=:standort");
|
||||||
$statementuser->execute(array('date' => $nextday , 'start' => $togostart, 'end' => $togoende , 'standort' => $standort ));
|
$statementuser->execute(array('date' => $nextday , 'start' => $togostart, 'end' => $togoende , 'standort' => $standort ));
|
||||||
|
|
||||||
$count = $statementuser->rowCount();
|
$count = $statementuser->rowCount();
|
||||||
if($count == 0){
|
if($count == 0){
|
||||||
$insert = $pdo->prepare("INSERT INTO togo_termin (date, start, end,standort,error,warning) VALUES (:date, :start, :end,:standort, :error, :warning)");
|
$insert = $pdo->prepare("INSERT INTO togo_termin (date, start, end,standort,error,warning) VALUES (:date, :start, :end,:standort, :error, :warning)");
|
||||||
$insert->execute(array('date' => $nextday , 'start' => $togostart, 'end' => $togoende , 'standort' => $standort, 'error' => $error , 'warning' => $warning ));
|
$insert->execute(array('date' => $nextday , 'start' => $togostart, 'end' => $togoende , 'standort' => $standort, 'error' => $error , 'warning' => $warning ));
|
||||||
$userid = $pdo->lastInsertId();
|
$userid = $pdo->lastInsertId();
|
||||||
}
|
}
|
||||||
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function SendMailMessageSilent($con, $empfaenger, $betreff, $body){
|
function SendMailMessageSilent($con, $empfaenger, $betreff, $body){
|
||||||
|
|
||||||
// LOGIN CONFIG AUSLESEN
|
// LOGIN CONFIG AUSLESEN
|
||||||
$queryconfig = mysqli_query($con, "Select * FROM config");
|
$queryconfig = mysqli_query($con, "Select * FROM config");
|
||||||
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
||||||
|
|
||||||
if($queryconfig->num_rows == 1){
|
if($queryconfig->num_rows == 1){
|
||||||
$row = mysqli_fetch_assoc($queryconfig);
|
$row = mysqli_fetch_assoc($queryconfig);
|
||||||
$userid = $row["mailserver"];
|
$userid = $row["mailserver"];
|
||||||
echo $userid;
|
echo $userid;
|
||||||
}
|
}
|
||||||
$mailserver = $rowconfig["mailserver"];
|
$mailserver = $rowconfig["mailserver"];
|
||||||
$mailUsername = $rowconfig["mailUsername"];
|
$mailUsername = $rowconfig["mailUsername"];
|
||||||
$mailPassword = $rowconfig["mailPassword"];
|
$mailPassword = $rowconfig["mailPassword"];
|
||||||
$mailPort = $rowconfig["mailPort"];
|
$mailPort = $rowconfig["mailPort"];
|
||||||
$mailFrom = $rowconfig["mailFrom"];
|
$mailFrom = $rowconfig["mailFrom"];
|
||||||
$mailFromName = $rowconfig["mailFromName"];
|
$mailFromName = $rowconfig["mailFromName"];
|
||||||
$mailSMTPSecure = $rowconfig["mailSMTPSecure"];
|
$mailSMTPSecure = $rowconfig["mailSMTPSecure"];
|
||||||
|
|
||||||
|
|
||||||
$body = iconv('UTF-8', 'CP1252//IGNORE', $body);
|
$body = iconv('UTF-8', 'CP1252//IGNORE', $body);
|
||||||
$betreff = iconv('UTF-8', 'CP1252//IGNORE', $betreff);
|
$betreff = iconv('UTF-8', 'CP1252//IGNORE', $betreff);
|
||||||
//$mail = new PHPMailer(true);
|
//$mail = new PHPMailer(true);
|
||||||
|
|
||||||
|
|
||||||
$mail = new PHPMailer(true);
|
$mail = new PHPMailer(true);
|
||||||
try {
|
try {
|
||||||
//Server settings
|
//Server settings
|
||||||
$mail->SMTPDebug = 0; // Enable verbose debug output
|
$mail->SMTPDebug = 0; // Enable verbose debug output
|
||||||
$mail->isSMTP(); // Set mailer to use SMTP
|
$mail->isSMTP(); // Set mailer to use SMTP
|
||||||
//$mail->Host = 'vwp0583.webpack.hosteurope.de'; // Specify main and backup SMTP servers
|
//$mail->Host = 'vwp0583.webpack.hosteurope.de'; // Specify main and backup SMTP servers
|
||||||
$mail->Host = $mailserver;
|
$mail->Host = $mailserver;
|
||||||
$mail->SMTPAuth = true; // Enable SMTP authentication
|
$mail->SMTPAuth = true; // Enable SMTP authentication
|
||||||
//$mail->Username = 'wp1085322-creutzburg'; // SMTP username
|
//$mail->Username = 'wp1085322-creutzburg'; // SMTP username
|
||||||
//$mail->Password = 'praxis.cr'; // SMTP password
|
//$mail->Password = 'praxis.cr'; // SMTP password
|
||||||
$mail->Username = $mailUsername;
|
$mail->Username = $mailUsername;
|
||||||
$mail->Password = $mailPassword;
|
$mail->Password = $mailPassword;
|
||||||
$mail->SMTPSecure = $mailSMTPSecure; // Enable TLS encryption, `ssl` also accepted
|
$mail->SMTPSecure = $mailSMTPSecure; // Enable TLS encryption, `ssl` also accepted
|
||||||
//$mail->Port = 587; // TCP port to connect to
|
//$mail->Port = 587; // TCP port to connect to
|
||||||
$mail->Port = $mailPort;
|
$mail->Port = $mailPort;
|
||||||
//Recipients
|
//Recipients
|
||||||
$mail->setFrom($mailFrom , $mailFromName);
|
$mail->setFrom($mailFrom , $mailFromName);
|
||||||
#$mail->addAddress('ccreutzburg@live.de', 'Joe User'); // Add a recipient
|
#$mail->addAddress('ccreutzburg@live.de', 'Joe User'); // Add a recipient
|
||||||
$mail->addAddress($empfaenger); // Name is optional
|
$mail->addAddress($empfaenger); // Name is optional
|
||||||
//$mail->addReplyTo('kontakt@praxis-creutzburg.de', 'Praxis Creutzburg');
|
//$mail->addReplyTo('kontakt@praxis-creutzburg.de', 'Praxis Creutzburg');
|
||||||
//$mail->addBCC('Arzt@praxis-creutzburg.de');
|
//$mail->addBCC('Arzt@praxis-creutzburg.de');
|
||||||
//$mail->addBCC("praxis@balanceacademie.de");
|
//$mail->addBCC("praxis@balanceacademie.de");
|
||||||
//Attachments
|
//Attachments
|
||||||
#$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
|
#$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
|
||||||
#$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
|
#$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
|
||||||
|
|
||||||
//Content
|
//Content
|
||||||
$mail->isHTML(true); // Set email format to HTML
|
$mail->isHTML(true); // Set email format to HTML
|
||||||
$mail->Subject = $betreff;
|
$mail->Subject = $betreff;
|
||||||
$mail->Body = $body;
|
$mail->Body = $body;
|
||||||
$mail->AltBody = $body;
|
$mail->AltBody = $body;
|
||||||
//$mail->charSet = "UTF-8";
|
//$mail->charSet = "UTF-8";
|
||||||
//$mail->Encoding = 'base64';
|
//$mail->Encoding = 'base64';
|
||||||
|
|
||||||
$mail->send();
|
$mail->send();
|
||||||
|
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
+36
-36
@@ -1,37 +1,37 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @package Patientsuche
|
* @package Patientsuche
|
||||||
* @copyright Copyright (C) 2021 ctb-it.de Inc. All rights reserved.
|
* @copyright Copyright (C) 2021 ctb-it.de Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
include("config.inc.php");
|
include("config.inc.php");
|
||||||
|
|
||||||
|
|
||||||
/* retrieve the search term that autocomplete sends */
|
/* retrieve the search term that autocomplete sends */
|
||||||
$term = trim(strip_tags($_GET['term']));
|
$term = trim(strip_tags($_GET['term']));
|
||||||
|
|
||||||
$a_json = array();
|
$a_json = array();
|
||||||
$a_json_row = array();
|
$a_json_row = array();
|
||||||
|
|
||||||
$sql = 'SELECT * FROM persons WHERE vorname LIKE "%' . $term . '%" OR nachname LIKE "%' . $term . '%" OR email LIKE "%' . $term . '%" OR tele LIKE "%' . $term . '%" ORDER BY nachname, vorname ';
|
$sql = 'SELECT * FROM persons WHERE vorname LIKE "%' . $term . '%" OR nachname LIKE "%' . $term . '%" OR email LIKE "%' . $term . '%" OR tele LIKE "%' . $term . '%" ORDER BY nachname, vorname ';
|
||||||
foreach ($pdo->query($sql) as $row) {
|
foreach ($pdo->query($sql) as $row) {
|
||||||
|
|
||||||
$userid = stripslashes($row['person_id']);
|
$userid = stripslashes($row['person_id']);
|
||||||
$name = stripslashes($row['nachname']);
|
$name = stripslashes($row['nachname']);
|
||||||
$vorname = stripslashes($row['vorname']);
|
$vorname = stripslashes($row['vorname']);
|
||||||
$geburtstag = stripslashes($row['geburtstag']);
|
$geburtstag = stripslashes($row['geburtstag']);
|
||||||
$email = htmlentities(stripslashes($row['email']));
|
$email = htmlentities(stripslashes($row['email']));
|
||||||
$tele = htmlentities(stripslashes($row['tele']));
|
$tele = htmlentities(stripslashes($row['tele']));
|
||||||
$a_json_row["id"] = $userid;
|
$a_json_row["id"] = $userid;
|
||||||
$a_json_row["value"] = $vorname.' '.$name.' - '.$geburtstag.' - '.$email.' - '.$tele;
|
$a_json_row["value"] = $vorname.' '.$name.' - '.$geburtstag.' - '.$email.' - '.$tele;
|
||||||
$a_json_row["label"] = $vorname.' '.$name.' - '.$geburtstag.' - '.$email.' - '.$tele;
|
$a_json_row["label"] = $vorname.' '.$name.' - '.$geburtstag.' - '.$email.' - '.$tele;
|
||||||
array_push($a_json, $a_json_row);
|
array_push($a_json, $a_json_row);
|
||||||
|
|
||||||
}
|
}
|
||||||
// jQuery wants JSON data
|
// jQuery wants JSON data
|
||||||
echo json_encode($a_json);
|
echo json_encode($a_json);
|
||||||
|
|
||||||
?>
|
?>
|
||||||
+119
-119
@@ -1,120 +1,120 @@
|
|||||||
<?php
|
<?php
|
||||||
/**
|
/**
|
||||||
* @package Patientsuche
|
* @package Patientsuche
|
||||||
* @copyright Copyright (C) 2021 ctb-it.de Inc. All rights reserved.
|
* @copyright Copyright (C) 2021 ctb-it.de Inc. All rights reserved.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
include("config.inc.php");
|
include("config.inc.php");
|
||||||
|
|
||||||
|
|
||||||
if(isset($_POST["timeid"])){
|
if(isset($_POST["timeid"])){
|
||||||
$timeid=$_POST["timeid"];
|
$timeid=$_POST["timeid"];
|
||||||
|
|
||||||
$statementtermin = $pdo->prepare("SELECT impfstoff, date,terminart, ZIminimal, ZImaximal, ZIaktiv, ZIbiontech, ZIastra, ZImoderna FROM timeslots INNER JOIN impfstoff ON timeslots.impfstoff = impfstoff.impfid WHERE timeid = :timeid");
|
$statementtermin = $pdo->prepare("SELECT impfstoff, date,terminart, ZIminimal, ZImaximal, ZIaktiv, ZIbiontech, ZIastra, ZImoderna FROM timeslots INNER JOIN impfstoff ON timeslots.impfstoff = impfstoff.impfid WHERE timeid = :timeid");
|
||||||
$statementtermin->execute(array('timeid' => $timeid));
|
$statementtermin->execute(array('timeid' => $timeid));
|
||||||
$rowtime = $statementtermin->fetch(PDO::FETCH_ASSOC);
|
$rowtime = $statementtermin->fetch(PDO::FETCH_ASSOC);
|
||||||
$ZIaktiv = $rowtime["ZIaktiv"];
|
$ZIaktiv = $rowtime["ZIaktiv"];
|
||||||
$ZIminimal = $rowtime["ZIminimal"];
|
$ZIminimal = $rowtime["ZIminimal"];
|
||||||
$ZImaximal = $rowtime["ZImaximal"];
|
$ZImaximal = $rowtime["ZImaximal"];
|
||||||
$ZIbiontech = $rowtime["ZIbiontech"];
|
$ZIbiontech = $rowtime["ZIbiontech"];
|
||||||
$ZIastra = $rowtime["ZIastra"];
|
$ZIastra = $rowtime["ZIastra"];
|
||||||
$ZImoderna = $rowtime["ZImoderna"];
|
$ZImoderna = $rowtime["ZImoderna"];
|
||||||
$impfname = $rowtime["impfname"];
|
$impfname = $rowtime["impfname"];
|
||||||
$terminart = $rowtime["terminart"];
|
$terminart = $rowtime["terminart"];
|
||||||
|
|
||||||
$minimaldate = date_create($rowtime["date"]);
|
$minimaldate = date_create($rowtime["date"]);
|
||||||
date_add($minimaldate, date_interval_create_from_date_string($ZIminimal . ' days'));
|
date_add($minimaldate, date_interval_create_from_date_string($ZIminimal . ' days'));
|
||||||
$minimaldate = date_format($minimaldate, 'Y-m-d');
|
$minimaldate = date_format($minimaldate, 'Y-m-d');
|
||||||
$maximaldate = date_create($rowtime["date"]);
|
$maximaldate = date_create($rowtime["date"]);
|
||||||
date_add($maximaldate, date_interval_create_from_date_string($ZImaximal . ' days'));
|
date_add($maximaldate, date_interval_create_from_date_string($ZImaximal . ' days'));
|
||||||
$maximaldate = date_format($maximaldate, 'Y-m-d');
|
$maximaldate = date_format($maximaldate, 'Y-m-d');
|
||||||
$impfstoffstring = "";
|
$impfstoffstring = "";
|
||||||
$terminartstring = "";
|
$terminartstring = "";
|
||||||
|
|
||||||
if($ZIaktiv && ($terminart == 1 || $terminart == 0) ){
|
if($ZIaktiv && ($terminart == 1 || $terminart == 0) ){
|
||||||
if($ZIbiontech){
|
if($ZIbiontech){
|
||||||
if($impfstoffstring == ""){
|
if($impfstoffstring == ""){
|
||||||
$impfstoffstring = $impfstoffstring . "(impfstoff='3'";
|
$impfstoffstring = $impfstoffstring . "(impfstoff='3'";
|
||||||
}else{
|
}else{
|
||||||
$impfstoffstring = $impfstoffstring . " OR impfstoff='3'";
|
$impfstoffstring = $impfstoffstring . " OR impfstoff='3'";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($ZIastra){
|
if($ZIastra){
|
||||||
if($impfstoffstring == ""){
|
if($impfstoffstring == ""){
|
||||||
$impfstoffstring = $impfstoffstring . "(impfstoff='2'";
|
$impfstoffstring = $impfstoffstring . "(impfstoff='2'";
|
||||||
}else{
|
}else{
|
||||||
$impfstoffstring = $impfstoffstring . " OR impfstoff='2'";
|
$impfstoffstring = $impfstoffstring . " OR impfstoff='2'";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if($ZImoderna){
|
if($ZImoderna){
|
||||||
if($impfstoffstring == ""){
|
if($impfstoffstring == ""){
|
||||||
$impfstoffstring = $impfstoffstring . "(impfstoff='5'";
|
$impfstoffstring = $impfstoffstring . "(impfstoff='5'";
|
||||||
}else{
|
}else{
|
||||||
$impfstoffstring = $impfstoffstring . " OR impfstoff='5'";
|
$impfstoffstring = $impfstoffstring . " OR impfstoff='5'";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$impfstoffstring = $impfstoffstring . ")";
|
$impfstoffstring = $impfstoffstring . ")";
|
||||||
$terminartstring = " AND (terminart='1' OR terminart='3' OR terminart='5')";
|
$terminartstring = " AND (terminart='1' OR terminart='3' OR terminart='5')";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$statement = $pdo->prepare("SELECT date,start,ende,impfdosen,timeid,impfstoff FROM timeslots WHERE date>= '$minimaldate' AND date<='$maximaldate' AND $impfstoffstring $terminartstring AND impfdosen > 0");
|
$statement = $pdo->prepare("SELECT date,start,ende,impfdosen,timeid,impfstoff FROM timeslots WHERE date>= '$minimaldate' AND date<='$maximaldate' AND $impfstoffstring $terminartstring AND impfdosen > 0");
|
||||||
$statement->execute();
|
$statement->execute();
|
||||||
$count = $statement->rowCount();
|
$count = $statement->rowCount();
|
||||||
|
|
||||||
if($count == 0){
|
if($count == 0){
|
||||||
echo"<h3>Zweitimpfung</h3><b>Aktuell stehen bei uns keine Termine für die Zweitimpfung zur Verfügung.</b><br>Bitte kümmern Sie sich selbstständig, um einen Termin für die Zweitimpfung.<br>Sobald wir Termine für die Zweitimpfung zur Verfügung haben, finden Sie diese auch auf dieser Webseite.<br><h4>Sehen Sie von weiteren telefonischen Anfragen ab!</h4><br>";
|
echo"<h3>Zweitimpfung</h3><b>Aktuell stehen bei uns keine Termine für die Zweitimpfung zur Verfügung.</b><br>Bitte kümmern Sie sich selbstständig, um einen Termin für die Zweitimpfung.<br>Sobald wir Termine für die Zweitimpfung zur Verfügung haben, finden Sie diese auch auf dieser Webseite.<br><h4>Sehen Sie von weiteren telefonischen Anfragen ab!</h4><br>";
|
||||||
}else{
|
}else{
|
||||||
?>
|
?>
|
||||||
<div class="select-wrapper">
|
<div class="select-wrapper">
|
||||||
<label for="Zweitimpfung">Die Zweitimpfung nehme ich am folgenden Termin wahr:</label>
|
<label for="Zweitimpfung">Die Zweitimpfung nehme ich am folgenden Termin wahr:</label>
|
||||||
<select name="Zweitimpfung" id="Zweitimpfung" required onchange="checkTerminzeitraumZweit()">
|
<select name="Zweitimpfung" id="Zweitimpfung" required onchange="checkTerminzeitraumZweit()">
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
//echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
//echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
||||||
echo '<option value="">- Terminzeitraum </option>';
|
echo '<option value="">- Terminzeitraum </option>';
|
||||||
|
|
||||||
foreach ($statement as $row) {
|
foreach ($statement as $row) {
|
||||||
$datum = date("d.m.Y", strtotime($row["date"]));
|
$datum = date("d.m.Y", strtotime($row["date"]));
|
||||||
$start = substr($row["start"],0, 5);
|
$start = substr($row["start"],0, 5);
|
||||||
$ende = substr($row["ende"],0, 5);
|
$ende = substr($row["ende"],0, 5);
|
||||||
$dosenanzahl = $row["impfdosen"];
|
$dosenanzahl = $row["impfdosen"];
|
||||||
$timeid = $row["timeid"];
|
$timeid = $row["timeid"];
|
||||||
$impfid = $row["impfstoff"];
|
$impfid = $row["impfstoff"];
|
||||||
|
|
||||||
$statementtermin = $pdo->prepare("SELECT impfname FROM impfstoff WHERE impfid =:impfid");
|
$statementtermin = $pdo->prepare("SELECT impfname FROM impfstoff WHERE impfid =:impfid");
|
||||||
$statementtermin->execute(array('impfid' => $impfid));
|
$statementtermin->execute(array('impfid' => $impfid));
|
||||||
$rowimpf = $statementtermin->fetch(PDO::FETCH_ASSOC);
|
$rowimpf = $statementtermin->fetch(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
|
|
||||||
$impfstofftext = $rowimpf["impfname"];
|
$impfstofftext = $rowimpf["impfname"];
|
||||||
|
|
||||||
$value = "$timeid";
|
$value = "$timeid";
|
||||||
$anzeige = "$datum - $start-$ende - $dosenanzahl Plätze frei - $impfstofftext";
|
$anzeige = "$datum - $start-$ende - $dosenanzahl Plätze frei - $impfstofftext";
|
||||||
echo '<option value="' . $value . '">' . $anzeige . '</option>';
|
echo '<option value="' . $value . '">' . $anzeige . '</option>';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
<div id="TerminzeitrauminfoZweit"></div><br>
|
<div id="TerminzeitrauminfoZweit"></div><br>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -1,179 +1,179 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Startseite</title>
|
<title>Praxis Creutzburg - Startseite</title>
|
||||||
</head>
|
</head>
|
||||||
<body class="landing">
|
<body class="landing">
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="alt">
|
<header id="header" class="alt">
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Banner -->
|
<!-- Banner -->
|
||||||
<section id="banner">
|
<section id="banner">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<h2>Praxis Heiner Creutzburg</h2>
|
<h2>Praxis Heiner Creutzburg</h2>
|
||||||
<h3>Facharzt für Innere Medizin, hausärztliche Versorgung</h3>
|
<h3>Facharzt für Innere Medizin, hausärztliche Versorgung</h3>
|
||||||
<?php
|
<?php
|
||||||
$ausgabe = checkurlaub();
|
$ausgabe = checkurlaub();
|
||||||
echo $ausgabe;
|
echo $ausgabe;
|
||||||
?>
|
?>
|
||||||
<div id=news class="container" style="background-color: rgba(85, 85, 85, 0.6);padding:5px;">
|
<div id=news class="container" style="background-color: rgba(85, 85, 85, 0.6);padding:5px;">
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
#### Inhalt Änderung nicht mehr hier durchführen sondern auf der Adminseite: https://www.praxis-creutzburg.de/admin/webseitenadmin.php
|
#### Inhalt Änderung nicht mehr hier durchführen sondern auf der Adminseite: https://www.praxis-creutzburg.de/admin/webseitenadmin.php
|
||||||
#### Punkt Infobox Startseite Praxis
|
#### Punkt Infobox Startseite Praxis
|
||||||
|
|
||||||
|
|
||||||
### Vordefinierte InhaltsID
|
### Vordefinierte InhaltsID
|
||||||
$inhaltid = "2";
|
$inhaltid = "2";
|
||||||
|
|
||||||
$queryconfig = mysqli_query($con, "Select webseitentitel,inhalt FROM webseiteninhalt WHERE inhaltid='$inhaltid' ");
|
$queryconfig = mysqli_query($con, "Select webseitentitel,inhalt FROM webseiteninhalt WHERE inhaltid='$inhaltid' ");
|
||||||
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
||||||
$webseitentitel = $rowconfig["webseitentitel"];
|
$webseitentitel = $rowconfig["webseitentitel"];
|
||||||
$inhalt = $rowconfig["inhalt"];
|
$inhalt = $rowconfig["inhalt"];
|
||||||
|
|
||||||
|
|
||||||
echo $inhalt;
|
echo $inhalt;
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
|
|
||||||
<ul class="actions">
|
<ul class="actions">
|
||||||
<li><a href="dienstleistung.php#notfall" class="button" style="background-color: rgba(85, 85, 85, 0.6);">Notfallsprechstunde</a></li>
|
<li><a href="dienstleistung.php#notfall" class="button" style="background-color: rgba(85, 85, 85, 0.6);">Notfallsprechstunde</a></li>
|
||||||
<li><a href="formulare.php" class="button" style="background-color: rgba(85, 85, 85, 0.6);">Anfragen</a></li>
|
<li><a href="formulare.php" class="button" style="background-color: rgba(85, 85, 85, 0.6);">Anfragen</a></li>
|
||||||
|
|
||||||
<li><a href="termine.php" class="button" style="background-color: rgba(85, 85, 85, 0.6);">Termine</a></li>
|
<li><a href="termine.php" class="button" style="background-color: rgba(85, 85, 85, 0.6);">Termine</a></li>
|
||||||
|
|
||||||
<li><a href="rezepte.php" class="button" style="background-color: rgba(85, 85, 85, 0.6);">Rezepte</a></li>
|
<li><a href="rezepte.php" class="button" style="background-color: rgba(85, 85, 85, 0.6);">Rezepte</a></li>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<!--
|
<!--
|
||||||
<ul class="actions">
|
<ul class="actions">
|
||||||
<br><br>
|
<br><br>
|
||||||
<li><a href="stellenangebote.php" class="button alt" style="background-color: rgba(252, 94, 0, 0.6);">Wir suchen Unterstützung für unser Team!</a></li>
|
<li><a href="stellenangebote.php" class="button alt" style="background-color: rgba(252, 94, 0, 0.6);">Wir suchen Unterstützung für unser Team!</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
-->
|
-->
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
|
|
||||||
<section class="box special">
|
<section class="box special">
|
||||||
<?php
|
<?php
|
||||||
echo showHeaderpraxis();
|
echo showHeaderpraxis();
|
||||||
?>
|
?>
|
||||||
<br>
|
<br>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
echo geplantenUrlaubanzeigen();
|
echo geplantenUrlaubanzeigen();
|
||||||
echo "<br>";
|
echo "<br>";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<h2> Aktuelle Informationen</h2>
|
<h2> Aktuelle Informationen</h2>
|
||||||
<?php
|
<?php
|
||||||
#akutelle Informationen
|
#akutelle Informationen
|
||||||
$inhaltid = "12";
|
$inhaltid = "12";
|
||||||
$queryconfig = mysqli_query($con, "Select webseitentitel,inhalt FROM webseiteninhalt WHERE inhaltid='$inhaltid' ");
|
$queryconfig = mysqli_query($con, "Select webseitentitel,inhalt FROM webseiteninhalt WHERE inhaltid='$inhaltid' ");
|
||||||
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
||||||
$webseitentitel = $rowconfig["webseitentitel"];
|
$webseitentitel = $rowconfig["webseitentitel"];
|
||||||
$text = $rowconfig["inhalt"];
|
$text = $rowconfig["inhalt"];
|
||||||
|
|
||||||
echo $text;
|
echo $text;
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<hr>
|
<hr>
|
||||||
<div id="marquee-cont">
|
<div id="marquee-cont">
|
||||||
<marquee onmouseover="this.stop();" onmouseout="this.start();" id='scroll'>
|
<marquee onmouseover="this.stop();" onmouseout="this.start();" id='scroll'>
|
||||||
+++<? echo $Laufband1 ?>+++ +++<? echo $Laufband2 ?>+++ +++<? echo $Laufband3 ?>+++ +++<? echo $Laufband4 ?>+++ +++<? echo $Laufband5 ?>+++ +++<? echo $Laufband6 ?>+++
|
+++<? echo $Laufband1 ?>+++ +++<? echo $Laufband2 ?>+++ +++<? echo $Laufband3 ?>+++ +++<? echo $Laufband4 ?>+++ +++<? echo $Laufband5 ?>+++ +++<? echo $Laufband6 ?>+++
|
||||||
</marquee>
|
</marquee>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<br>
|
<br>
|
||||||
<h3>Wir impfen gegen Gürtelrose, Grippe, Corona und andere Erkrankungen! Anmeldung online! Derzeit Beratung auch in der normalen Sprechstunde.</h3>
|
<h3>Wir impfen gegen Gürtelrose, Grippe, Corona und andere Erkrankungen! Anmeldung online! Derzeit Beratung auch in der normalen Sprechstunde.</h3>
|
||||||
<a href="impfanmeldung.php" class="button alt" style="background-color: rgba(85, 85, 85, 0.6);color: white;" >Impftermin sichern</a>
|
<a href="impfanmeldung.php" class="button alt" style="background-color: rgba(85, 85, 85, 0.6);color: white;" >Impftermin sichern</a>
|
||||||
<br>
|
<br>
|
||||||
<a href="grippeimpfwarteliste.php" class="button alt" style="background-color: rgba(85, 85, 85, 0.6);color: white;" >Warteliste Grippeschutzimpfung</a>
|
<a href="grippeimpfwarteliste.php" class="button alt" style="background-color: rgba(85, 85, 85, 0.6);color: white;" >Warteliste Grippeschutzimpfung</a>
|
||||||
<br><br>
|
<br><br>
|
||||||
<hr>
|
<hr>
|
||||||
<h3>Haben Sie Fragen?</h3>
|
<h3>Haben Sie Fragen?</h3>
|
||||||
Nutzen Sie unsere Formulare für eine Anfrage an unser Praxisteam.<br><br>
|
Nutzen Sie unsere Formulare für eine Anfrage an unser Praxisteam.<br><br>
|
||||||
<a href="formulare.php" class="button alt" style="background-color: rgba(85, 85, 85, 0.6);color: white;" >Frage stellen</a>
|
<a href="formulare.php" class="button alt" style="background-color: rgba(85, 85, 85, 0.6);color: white;" >Frage stellen</a>
|
||||||
<br><br>
|
<br><br>
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
|
||||||
<!-- laufband -->
|
<!-- laufband -->
|
||||||
<div id="marquee-cont">
|
<div id="marquee-cont">
|
||||||
<marquee onmouseover="this.stop();" onmouseout="this.start();" id='scroll'>
|
<marquee onmouseover="this.stop();" onmouseout="this.start();" id='scroll'>
|
||||||
+++<? echo $Laufband1 ?>+++ +++<? echo $Laufband2 ?>+++ +++<? echo $Laufband3 ?>+++ +++<? echo $Laufband4 ?>+++ +++<? echo $Laufband5 ?>+++ +++<? echo $Laufband6 ?>+++
|
+++<? echo $Laufband1 ?>+++ +++<? echo $Laufband2 ?>+++ +++<? echo $Laufband3 ?>+++ +++<? echo $Laufband4 ?>+++ +++<? echo $Laufband5 ?>+++ +++<? echo $Laufband6 ?>+++
|
||||||
</marquee>
|
</marquee>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a href="service.php" class="button alt">Termine/absagen</a>
|
<a href="service.php" class="button alt">Termine/absagen</a>
|
||||||
|
|
||||||
<a href="rezepte.php"class="button alt">Rezepte</a>
|
<a href="rezepte.php"class="button alt">Rezepte</a>
|
||||||
|
|
||||||
<a href="formulare.php"class="button alt">Anfrage</a>
|
<a href="formulare.php"class="button alt">Anfrage</a>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+30
-30
@@ -1,30 +1,30 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
require_once("inc/functions.inc.php");
|
require_once("inc/functions.inc.php");
|
||||||
|
|
||||||
//Überprüfe, dass der User eingeloggt ist
|
//Überprüfe, dass der User eingeloggt ist
|
||||||
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
|
|
||||||
include("templates/header.inc.php");
|
include("templates/header.inc.php");
|
||||||
|
|
||||||
|
|
||||||
if(check_admin()){
|
if(check_admin()){
|
||||||
echo "Admin";
|
echo "Admin";
|
||||||
}else{
|
}else{
|
||||||
echo "nicht Admin";
|
echo "nicht Admin";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
include("templates/footer.inc.php")
|
include("templates/footer.inc.php")
|
||||||
?>
|
?>
|
||||||
|
|||||||
+118
-118
@@ -1,56 +1,56 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once(__DIR__ . "/../inc/config.inc.php");
|
require_once(__DIR__ . "/../inc/config.inc.php");
|
||||||
require_once(__DIR__ . "/../inc/functions.inc.php");
|
require_once(__DIR__ . "/../inc/functions.inc.php");
|
||||||
|
|
||||||
|
|
||||||
include("templates/header.inc.php");
|
include("templates/header.inc.php");
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
|
|
||||||
<div class="jumbotron">
|
<div class="jumbotron">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<?php
|
<?php
|
||||||
if( is_checked_in_index() ){
|
if( is_checked_in_index() ){
|
||||||
$user = check_intern_user();
|
$user = check_intern_user();
|
||||||
?>
|
?>
|
||||||
<h1>Interner Bereich</h1>
|
<h1>Interner Bereich</h1>
|
||||||
|
|
||||||
<p>Hallo <?php echo htmlentities($user['vorname']); ?>,<br>
|
<p>Hallo <?php echo htmlentities($user['vorname']); ?>,<br>
|
||||||
Herzlich Willkommen im internen Bereich von <?php echo $organisationsname; ?>!<br><br></p>
|
Herzlich Willkommen im internen Bereich von <?php echo $organisationsname; ?>!<br><br></p>
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
if(!check_mailreg()){
|
if(!check_mailreg()){
|
||||||
|
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "Es fehlt die Authentifizierung Ihres Kontos per E-Mail! Bitte authentifizieren Sie Ihre E-Mail-Adresse.<br>";
|
echo "Es fehlt die Authentifizierung Ihres Kontos per E-Mail! Bitte authentifizieren Sie Ihre E-Mail-Adresse.<br>";
|
||||||
echo "<form action='authmeldung.php' method=POST>";
|
echo "<form action='authmeldung.php' method=POST>";
|
||||||
echo "<input name=aktion type=hidden value=1>";
|
echo "<input name=aktion type=hidden value=1>";
|
||||||
echo "<input type=submit class='btn btn-primary' value='E-Mail Authentifizierung'><br>";
|
echo "<input type=submit class='btn btn-primary' value='E-Mail Authentifizierung'><br>";
|
||||||
echo '</form>';
|
echo '</form>';
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if(!check_userdatenvorhanden()){
|
if(!check_userdatenvorhanden()){
|
||||||
|
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "Es fehlen noch Informationen in Ihrem Stammdaten. Bitte pflegen Sie die Daten nach, damit <br>";
|
echo "Es fehlen noch Informationen in Ihrem Stammdaten. Bitte pflegen Sie die Daten nach, damit <br>";
|
||||||
echo "<form action='settings.php' method=POST>";
|
echo "<form action='settings.php' method=POST>";
|
||||||
echo "<input name=aktion type=hidden value=1>";
|
echo "<input name=aktion type=hidden value=1>";
|
||||||
echo "<input type=submit class='btn btn-primary' value='Stammdaten pflegen'><br>";
|
echo "<input type=submit class='btn btn-primary' value='Stammdaten pflegen'><br>";
|
||||||
echo '</form>';
|
echo '</form>';
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(check_mailreg() && check_userdatenvorhanden() ){
|
if(check_mailreg() && check_userdatenvorhanden() ){
|
||||||
?>
|
?>
|
||||||
<p>Neue Anfragen können Sie über diesen Button einreichen:<br><br></p>
|
<p>Neue Anfragen können Sie über diesen Button einreichen:<br><br></p>
|
||||||
<p><a class="btn btn-primary btn-lg" href="neueanfrage.php" role="button">Neue Anfragen erstellen</a></p><br><br>
|
<p><a class="btn btn-primary btn-lg" href="neueanfrage.php" role="button">Neue Anfragen erstellen</a></p><br><br>
|
||||||
|
|
||||||
@@ -58,69 +58,69 @@ if( is_checked_in_index() ){
|
|||||||
<p><a class="btn btn-primary btn-lg" href="impfwarteliste.php" role="button">Zur Impfwarteliste</a></p><br><br>
|
<p><a class="btn btn-primary btn-lg" href="impfwarteliste.php" role="button">Zur Impfwarteliste</a></p><br><br>
|
||||||
|
|
||||||
<p>Hier können Sie Ihre Anfragen einsehen. Die Antwort erhalten Sie per E-Mail.<br><br></p>
|
<p>Hier können Sie Ihre Anfragen einsehen. Die Antwort erhalten Sie per E-Mail.<br><br></p>
|
||||||
<p><a class="btn btn-primary btn-lg" href="meineanfragen.php" role="button">Meine Anfragen einsehen</a></p><br><br>
|
<p><a class="btn btn-primary btn-lg" href="meineanfragen.php" role="button">Meine Anfragen einsehen</a></p><br><br>
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<h1>Interner Bereich</h1>
|
<h1>Interner Bereich</h1>
|
||||||
|
|
||||||
<p>Nach der Anmeldung können Sie Ihre Anfragen an <?php echo $organisationsname; ?> einsehen oder neue Anfragen erstellen.<br>
|
<p>Nach der Anmeldung können Sie Ihre Anfragen an <?php echo $organisationsname; ?> einsehen oder neue Anfragen erstellen.<br>
|
||||||
Bevor Sie sich anmelden können, müssen Sie sich registieren.<br><br></p>
|
Bevor Sie sich anmelden können, müssen Sie sich registieren.<br><br></p>
|
||||||
<form action="login.php" method="post">
|
<form action="login.php" method="post">
|
||||||
<h2 class="form-signin-heading">Login</h2>
|
<h2 class="form-signin-heading">Login</h2>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
if(isset($error_msg) && !empty($error_msg)) {
|
if(isset($error_msg) && !empty($error_msg)) {
|
||||||
echo $error_msg;
|
echo $error_msg;
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<label for="inputEmail" class="sr-only">E-Mail</label>
|
<label for="inputEmail" class="sr-only">E-Mail</label>
|
||||||
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="E-Mail" value="<?php echo $email_value; ?>" required autofocus>
|
<input type="email" name="email" id="inputEmail" class="form-control" placeholder="E-Mail" value="<?php echo $email_value; ?>" required autofocus>
|
||||||
<label for="inputPassword" class="sr-only">Passwort</label>
|
<label for="inputPassword" class="sr-only">Passwort</label>
|
||||||
<input type="password" name="passwort" id="inputPassword" class="form-control" placeholder="Passwort" required>
|
<input type="password" name="passwort" id="inputPassword" class="form-control" placeholder="Passwort" required>
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" value="remember-me" name="angemeldet_bleiben" value="1" checked> Angemeldet bleiben
|
<input type="checkbox" value="remember-me" name="angemeldet_bleiben" value="1" checked> Angemeldet bleiben
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<button class="btn btn-lg btn-primary " type="submit">Login</button>
|
<button class="btn btn-lg btn-primary " type="submit">Login</button>
|
||||||
<br><br>
|
<br><br>
|
||||||
<a href="passwortvergessen.php">Passwort vergessen</a>
|
<a href="passwortvergessen.php">Passwort vergessen</a>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<br><br><br><br>
|
<br><br><br><br>
|
||||||
|
|
||||||
<p><a class="btn btn-primary " href="register.php" role="button">Jetzt registrieren</a></p>
|
<p><a class="btn btn-primary " href="register.php" role="button">Jetzt registrieren</a></p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include("templates/footer.inc.php")
|
include("templates/footer.inc.php")
|
||||||
?>
|
?>
|
||||||
|
|||||||
+46
-46
@@ -1,47 +1,47 @@
|
|||||||
var http = createRequestObject();
|
var http = createRequestObject();
|
||||||
var objectId = '';
|
var objectId = '';
|
||||||
|
|
||||||
|
|
||||||
function createRequestObject(htmlObjectId){
|
function createRequestObject(htmlObjectId){
|
||||||
var obj;
|
var obj;
|
||||||
var browser = navigator.appName;
|
var browser = navigator.appName;
|
||||||
|
|
||||||
objectId = htmlObjectId;
|
objectId = htmlObjectId;
|
||||||
|
|
||||||
if(browser == "Microsoft Internet Explorer"){
|
if(browser == "Microsoft Internet Explorer"){
|
||||||
obj = new ActiveXObject("Microsoft.XMLHTTP");
|
obj = new ActiveXObject("Microsoft.XMLHTTP");
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
obj = new XMLHttpRequest();
|
obj = new XMLHttpRequest();
|
||||||
}
|
}
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendReq(serverFileName, variableNames, variableValues) {
|
function sendReq(serverFileName, variableNames, variableValues) {
|
||||||
var paramString = '';
|
var paramString = '';
|
||||||
|
|
||||||
variableNames = variableNames.split(',');
|
variableNames = variableNames.split(',');
|
||||||
variableValues = variableValues.split(',');
|
variableValues = variableValues.split(',');
|
||||||
|
|
||||||
for(i=0; i<variableNames.length; i++) {
|
for(i=0; i<variableNames.length; i++) {
|
||||||
paramString += variableNames[i]+'='+variableValues[i]+'&';
|
paramString += variableNames[i]+'='+variableValues[i]+'&';
|
||||||
}
|
}
|
||||||
paramString = paramString.substring(0, (paramString.length-1));
|
paramString = paramString.substring(0, (paramString.length-1));
|
||||||
|
|
||||||
if (paramString.length == 0) {
|
if (paramString.length == 0) {
|
||||||
http.open('get', serverFileName);
|
http.open('get', serverFileName);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
http.open('get', serverFileName+'?'+paramString);
|
http.open('get', serverFileName+'?'+paramString);
|
||||||
}
|
}
|
||||||
http.onreadystatechange = handleResponse;
|
http.onreadystatechange = handleResponse;
|
||||||
http.send(null);
|
http.send(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
function handleResponse() {
|
function handleResponse() {
|
||||||
|
|
||||||
if(http.readyState == 4){
|
if(http.readyState == 4){
|
||||||
responseText = http.responseText;
|
responseText = http.responseText;
|
||||||
document.getElementById(objectId).innerHTML = responseText;
|
document.getElementById(objectId).innerHTML = responseText;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Vendored
+1
-1
File diff suppressed because one or more lines are too long
+45
-45
@@ -1,46 +1,46 @@
|
|||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
$("#user_input").autocomplete({
|
$("#user_input").autocomplete({
|
||||||
source: "inc/suchepatient.php",
|
source: "inc/suchepatient.php",
|
||||||
minLength: 3,
|
minLength: 3,
|
||||||
select: function( event, ui ) {
|
select: function( event, ui ) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
$("#userid_input").val(ui.item.id);
|
$("#userid_input").val(ui.item.id);
|
||||||
$("#user_input").val(ui.item.value);
|
$("#user_input").val(ui.item.value);
|
||||||
$("#formbenutzersuche").submit();
|
$("#formbenutzersuche").submit();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
function behandelt(str) {
|
function behandelt(str) {
|
||||||
|
|
||||||
|
|
||||||
result = $.ajax({
|
result = $.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
async: false,
|
async: false,
|
||||||
url: 'inc/behandelt.php',
|
url: 'inc/behandelt.php',
|
||||||
data: ({
|
data: ({
|
||||||
terminid: str
|
terminid: str
|
||||||
})
|
})
|
||||||
}).responseText;
|
}).responseText;
|
||||||
document.getElementById(str).style.display = 'none';
|
document.getElementById(str).style.display = 'none';
|
||||||
//window.location.reload(false);
|
//window.location.reload(false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function submitForm(sub) {
|
function submitForm(sub) {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
result = $.ajax({
|
result = $.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
async: false,
|
async: false,
|
||||||
url: 'impfadmin.php',
|
url: 'impfadmin.php',
|
||||||
data: ({
|
data: ({
|
||||||
aktion: 4,
|
aktion: 4,
|
||||||
searchdate: sub
|
searchdate: sub
|
||||||
})
|
})
|
||||||
}).responseText;
|
}).responseText;
|
||||||
//window.location.reload(false);
|
//window.location.reload(false);
|
||||||
document.body.innerHTML = result;
|
document.body.innerHTML = result;
|
||||||
}
|
}
|
||||||
+95
-95
@@ -1,96 +1,96 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8">
|
<meta charset="utf-8">
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta name="description" content="">
|
<meta name="description" content="">
|
||||||
<meta name="author" content="">
|
<meta name="author" content="">
|
||||||
<link rel="shortcut icon" href="favicon.png">
|
<link rel="shortcut icon" href="favicon.png">
|
||||||
|
|
||||||
<title>Sticky Footer Navbar Template for Bootstrap</title>
|
<title>Sticky Footer Navbar Template for Bootstrap</title>
|
||||||
|
|
||||||
<!-- Bootstrap core CSS -->
|
<!-- Bootstrap core CSS -->
|
||||||
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
|
<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet">
|
||||||
|
|
||||||
<!-- Custom styles for this template -->
|
<!-- Custom styles for this template -->
|
||||||
<link href="http://getbootstrap.com/examples/sticky-footer-navbar/sticky-footer-navbar.css" rel="stylesheet">
|
<link href="http://getbootstrap.com/examples/sticky-footer-navbar/sticky-footer-navbar.css" rel="stylesheet">
|
||||||
|
|
||||||
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
|
||||||
<!--[if lt IE 9]>
|
<!--[if lt IE 9]>
|
||||||
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
|
||||||
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
<script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
|
||||||
<![endif]-->
|
<![endif]-->
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<!-- Wrap all page content here -->
|
<!-- Wrap all page content here -->
|
||||||
<div id="wrap">
|
<div id="wrap">
|
||||||
|
|
||||||
<!-- Fixed navbar -->
|
<!-- Fixed navbar -->
|
||||||
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="navbar-header">
|
<div class="navbar-header">
|
||||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||||
<span class="sr-only">Toggle navigation</span>
|
<span class="sr-only">Toggle navigation</span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
<span class="icon-bar"></span>
|
<span class="icon-bar"></span>
|
||||||
</button>
|
</button>
|
||||||
<a class="navbar-brand" href="#">Project name</a>
|
<a class="navbar-brand" href="#">Project name</a>
|
||||||
</div>
|
</div>
|
||||||
<div class="collapse navbar-collapse">
|
<div class="collapse navbar-collapse">
|
||||||
<ul class="nav navbar-nav">
|
<ul class="nav navbar-nav">
|
||||||
<li class="active"><a href="#">Home</a></li>
|
<li class="active"><a href="#">Home</a></li>
|
||||||
<li><a href="#about">About</a></li>
|
<li><a href="#about">About</a></li>
|
||||||
<li><a href="#contact">Contact</a></li>
|
<li><a href="#contact">Contact</a></li>
|
||||||
<li class="dropdown">
|
<li class="dropdown">
|
||||||
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
|
||||||
<ul class="dropdown-menu">
|
<ul class="dropdown-menu">
|
||||||
<li><a href="#">Action</a></li>
|
<li><a href="#">Action</a></li>
|
||||||
<li><a href="#">Another action</a></li>
|
<li><a href="#">Another action</a></li>
|
||||||
<li><a href="#">Something else here</a></li>
|
<li><a href="#">Something else here</a></li>
|
||||||
<li class="divider"></li>
|
<li class="divider"></li>
|
||||||
<li class="dropdown-header">Nav header</li>
|
<li class="dropdown-header">Nav header</li>
|
||||||
<li><a href="#">Separated link</a></li>
|
<li><a href="#">Separated link</a></li>
|
||||||
<li><a href="#">One more separated link</a></li>
|
<li><a href="#">One more separated link</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div><!--/.nav-collapse -->
|
</div><!--/.nav-collapse -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Begin page content -->
|
<!-- Begin page content -->
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
<div class="page-header">
|
<div class="page-header">
|
||||||
<h1>PHP Calendar</h1>
|
<h1>PHP Calendar</h1>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php print $calendar; ?>
|
<?php print $calendar; ?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="footer">
|
<div id="footer">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<p class="text-muted">Place sticky footer content here.</p>
|
<p class="text-muted">Place sticky footer content here.</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<!-- Bootstrap core JavaScript
|
<!-- Bootstrap core JavaScript
|
||||||
================================================== -->
|
================================================== -->
|
||||||
<!-- Placed at the end of the document so the pages load faster -->
|
<!-- Placed at the end of the document so the pages load faster -->
|
||||||
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
|
<script src="https://code.jquery.com/jquery-1.10.2.min.js"></script>
|
||||||
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
|
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.5.2/underscore-min.js"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.js/1.1.0/backbone-min.js"></script>
|
||||||
<!--
|
<!--
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.syphon/0.4.1/backbone.syphon.min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.syphon/0.4.1/backbone.syphon.min.js"></script>
|
||||||
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.modelbinder/1.0.4/Backbone.ModelBinder.min.js"></script>
|
<script src="//cdnjs.cloudflare.com/ajax/libs/backbone.modelbinder/1.0.4/Backbone.ModelBinder.min.js"></script>
|
||||||
-->
|
-->
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@@ -1,19 +1,19 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('../impfconfig.php');
|
include('../impfconfig.php');
|
||||||
// E-Mail Vorlage laden
|
// E-Mail Vorlage laden
|
||||||
|
|
||||||
$templetid = $_POST["templetid"];
|
$templetid = $_POST["templetid"];
|
||||||
$anfrageid = $_POST["anfrageid"];
|
$anfrageid = $_POST["anfrageid"];
|
||||||
$queryconfig = mysqli_query($con, "Select betreff,body,name FROM mailtemplates WHERE templetid='$templetid' ");
|
$queryconfig = mysqli_query($con, "Select betreff,body,name FROM mailtemplates WHERE templetid='$templetid' ");
|
||||||
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
||||||
$body = $rowconfig["body"];
|
$body = $rowconfig["body"];
|
||||||
$betreff = $rowconfig["betreff"];
|
$betreff = $rowconfig["betreff"];
|
||||||
$name = $rowconfig["name"];
|
$name = $rowconfig["name"];
|
||||||
|
|
||||||
|
|
||||||
$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
|
$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
|
||||||
$body = iconv('CP1252//IGNORE', 'UTF-8' , $body);
|
$body = iconv('CP1252//IGNORE', 'UTF-8' , $body);
|
||||||
echo $betreff;
|
echo $betreff;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
+59
-59
@@ -1,60 +1,60 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('../impfconfig.php');
|
include('../impfconfig.php');
|
||||||
// E-Mail Vorlage laden
|
// E-Mail Vorlage laden
|
||||||
|
|
||||||
$templetid = $_POST["templetid"];
|
$templetid = $_POST["templetid"];
|
||||||
$anfrageid = $_POST["anfrageid"];
|
$anfrageid = $_POST["anfrageid"];
|
||||||
$queryconfig = mysqli_query($con, "Select betreff,body,name FROM mailtemplates WHERE templetid='$templetid' ");
|
$queryconfig = mysqli_query($con, "Select betreff,body,name FROM mailtemplates WHERE templetid='$templetid' ");
|
||||||
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
||||||
$body = $rowconfig["body"];
|
$body = $rowconfig["body"];
|
||||||
$betreff = $rowconfig["betreff"];
|
$betreff = $rowconfig["betreff"];
|
||||||
$name = $rowconfig["name"];
|
$name = $rowconfig["name"];
|
||||||
|
|
||||||
$sqlstring = "SELECT * FROM anfragen INNER JOIN user ON anfragen.personid = user.userid WHERE anfrageid ='" . $anfrageid . "'";
|
$sqlstring = "SELECT * FROM anfragen INNER JOIN user ON anfragen.personid = user.userid WHERE anfrageid ='" . $anfrageid . "'";
|
||||||
$query = mysqli_query($con,$sqlstring);
|
$query = mysqli_query($con,$sqlstring);
|
||||||
$rowtime = mysqli_fetch_assoc($query);
|
$rowtime = mysqli_fetch_assoc($query);
|
||||||
$vorname = $rowtime["vorname"];
|
$vorname = $rowtime["vorname"];
|
||||||
$nachname = $rowtime["nachname"];
|
$nachname = $rowtime["nachname"];
|
||||||
$geburtstag = $rowtime["geburtstag"];
|
$geburtstag = $rowtime["geburtstag"];
|
||||||
$tele = $rowtime["tele"];
|
$tele = $rowtime["tele"];
|
||||||
$plz = $rowtime["plz"];
|
$plz = $rowtime["plz"];
|
||||||
$ort = $rowtime["ort"];
|
$ort = $rowtime["ort"];
|
||||||
$strasse = $rowtime["strasse"];
|
$strasse = $rowtime["strasse"];
|
||||||
$adresse = "$ort $plz, $stasse";
|
$adresse = "$ort $plz, $stasse";
|
||||||
$empfaenger = $rowtime["mail"];
|
$empfaenger = $rowtime["mail"];
|
||||||
$hash = $rowtime["hash"];
|
$hash = $rowtime["hash"];
|
||||||
$timeid = $rowtime["timeid"];
|
$timeid = $rowtime["timeid"];
|
||||||
$userausgabe = $vorname . " " . $nachname;
|
$userausgabe = $vorname . " " . $nachname;
|
||||||
$anfragenlogin = $anfragebestaetigung . "?id=" . $hash ;
|
$anfragenlogin = $anfragebestaetigung . "?id=" . $hash ;
|
||||||
|
|
||||||
$nachricht = $rowtime["nachricht"];
|
$nachricht = $rowtime["nachricht"];
|
||||||
$medikamenteins = $rowtime["medikament1"];
|
$medikamenteins = $rowtime["medikament1"];
|
||||||
$medikamentzwei = $rowtime["medikament2"];
|
$medikamentzwei = $rowtime["medikament2"];
|
||||||
$anforderungart = $rowtime["anforderungart"];
|
$anforderungart = $rowtime["anforderungart"];
|
||||||
|
|
||||||
$sqlimpfstoffstring = "SELECT artname FROM anfrageart WHERE artid ='" . $anforderungart . "'";
|
$sqlimpfstoffstring = "SELECT artname FROM anfrageart WHERE artid ='" . $anforderungart . "'";
|
||||||
$queryimpfstoff = mysqli_query($con,$sqlimpfstoffstring);
|
$queryimpfstoff = mysqli_query($con,$sqlimpfstoffstring);
|
||||||
$rowimpf = mysqli_fetch_assoc($queryimpfstoff);
|
$rowimpf = mysqli_fetch_assoc($queryimpfstoff);
|
||||||
$rezeptart = $rowimpf["artname"];
|
$rezeptart = $rowimpf["artname"];
|
||||||
$body = str_replace("%BENUTZERVORNAME%", $vorname, $body);
|
$body = str_replace("%BENUTZERVORNAME%", $vorname, $body);
|
||||||
$body = str_replace("%BENUTZERNACHNAME%", $nachname, $body);
|
$body = str_replace("%BENUTZERNACHNAME%", $nachname, $body);
|
||||||
$body = str_replace("%BENUTZERGEBURTSTAG%", $geburtstag, $body);
|
$body = str_replace("%BENUTZERGEBURTSTAG%", $geburtstag, $body);
|
||||||
$body = str_replace("%BENUTZERADRESSE%", $adresse, $body);
|
$body = str_replace("%BENUTZERADRESSE%", $adresse, $body);
|
||||||
$body = str_replace("%TERMINZEITVORGABE%", $Zeitanzeige, $body);
|
$body = str_replace("%TERMINZEITVORGABE%", $Zeitanzeige, $body);
|
||||||
$body = str_replace("%TERMINIMPFSTOFF%", $impfstofftext, $body);
|
$body = str_replace("%TERMINIMPFSTOFF%", $impfstofftext, $body);
|
||||||
$body = str_replace("%TERMINLOGIN%", $terminlogin, $body);
|
$body = str_replace("%TERMINLOGIN%", $terminlogin, $body);
|
||||||
$body = str_replace("%WARTELISTELOGIN%", $wartelistelogin, $body);
|
$body = str_replace("%WARTELISTELOGIN%", $wartelistelogin, $body);
|
||||||
$body = str_replace("%WARTELISTEIMPFSTOFF%", $impfstofftextwarte, $body);
|
$body = str_replace("%WARTELISTEIMPFSTOFF%", $impfstofftextwarte, $body);
|
||||||
$body = str_replace("%WARTELISTEIMPFANGEBOT%", $impfangebottext, $body);
|
$body = str_replace("%WARTELISTEIMPFANGEBOT%", $impfangebottext, $body);
|
||||||
$body = str_replace("%REZEPTART%", $rezeptart, $body);
|
$body = str_replace("%REZEPTART%", $rezeptart, $body);
|
||||||
$body = str_replace("%MEDIKAMENTNUMMEREINS%", $medikamenteins, $body);
|
$body = str_replace("%MEDIKAMENTNUMMEREINS%", $medikamenteins, $body);
|
||||||
$body = str_replace("%MEDIKAMENTNUMMERZWEI%", $medikamentzwei, $body);
|
$body = str_replace("%MEDIKAMENTNUMMERZWEI%", $medikamentzwei, $body);
|
||||||
$body = str_replace("%ANFRAGENACHRICHT%", $nachricht, $body);
|
$body = str_replace("%ANFRAGENACHRICHT%", $nachricht, $body);
|
||||||
$body = str_replace("%ANFRAGENLOGIN%", $anfragenlogin, $body);
|
$body = str_replace("%ANFRAGENLOGIN%", $anfragenlogin, $body);
|
||||||
|
|
||||||
$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
|
$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
|
||||||
$body = iconv('CP1252//IGNORE', 'UTF-8' , $body);
|
$body = iconv('CP1252//IGNORE', 'UTF-8' , $body);
|
||||||
echo $body;
|
echo $body;
|
||||||
|
|
||||||
?>
|
?>
|
||||||
+264
-264
@@ -1,265 +1,265 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once(__DIR__ . "/../inc/config.inc.php");
|
require_once(__DIR__ . "/../inc/config.inc.php");
|
||||||
require_once(__DIR__ . "/../inc/functions.inc.php");
|
require_once(__DIR__ . "/../inc/functions.inc.php");
|
||||||
|
|
||||||
$user = check_intern_user();
|
$user = check_intern_user();
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
header("Location: login.php");
|
header("Location: login.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
include("templates/header.inc.php");
|
include("templates/header.inc.php");
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
|
|
||||||
<div class="jumbotron">
|
<div class="jumbotron">
|
||||||
<div class="container">
|
<div class="container">
|
||||||
|
|
||||||
<h1>Interner Bereich</h1>
|
<h1>Interner Bereich</h1>
|
||||||
|
|
||||||
Hallo <?php echo htmlentities($user['vorname']); ?>,<br>
|
Hallo <?php echo htmlentities($user['vorname']); ?>,<br>
|
||||||
Herzlich Willkommen im internen Bereich von <?php echo $organisationsname; ?>!<br><br>
|
Herzlich Willkommen im internen Bereich von <?php echo $organisationsname; ?>!<br><br>
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
if(!check_mailreg()){
|
if(!check_mailreg()){
|
||||||
|
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "Es fehlt die Authentifizierung Ihres Kontos per E-Mail! Bitte authentifizieren Sie Ihre E-Mail-Adresse.<br>";
|
echo "Es fehlt die Authentifizierung Ihres Kontos per E-Mail! Bitte authentifizieren Sie Ihre E-Mail-Adresse.<br>";
|
||||||
echo "<form action='authmeldung.php' method=POST>";
|
echo "<form action='authmeldung.php' method=POST>";
|
||||||
echo "<input name=aktion type=hidden value=1>";
|
echo "<input name=aktion type=hidden value=1>";
|
||||||
echo "<input type=submit class='btn btn-primary' value='E-Mail Authentifizierung'><br>";
|
echo "<input type=submit class='btn btn-primary' value='E-Mail Authentifizierung'><br>";
|
||||||
echo '</form>';
|
echo '</form>';
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
if(!check_userdatenvorhanden()){
|
if(!check_userdatenvorhanden()){
|
||||||
|
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "Es fehlen noch Informationen in Ihrem Stammdaten. Bitte pflegen Sie die Daten nach, damit <br>";
|
echo "Es fehlen noch Informationen in Ihrem Stammdaten. Bitte pflegen Sie die Daten nach, damit <br>";
|
||||||
echo "<form action='settings.php' method=POST>";
|
echo "<form action='settings.php' method=POST>";
|
||||||
echo "<input name=aktion type=hidden value=1>";
|
echo "<input name=aktion type=hidden value=1>";
|
||||||
echo "<input type=submit class='btn btn-primary' value='Stammdaten pflegen'><br>";
|
echo "<input type=submit class='btn btn-primary' value='Stammdaten pflegen'><br>";
|
||||||
echo '</form>';
|
echo '</form>';
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(check_mailreg() && check_userdatenvorhanden() ){
|
if(check_mailreg() && check_userdatenvorhanden() ){
|
||||||
if($_POST["aktion"] == "11"){
|
if($_POST["aktion"] == "11"){
|
||||||
|
|
||||||
$sqlstring = "SELECT * FROM anfragen INNER JOIN persons ON anfragen.requester_person_id = persons.person_id INNER JOIN anfrageart ON anfragen.anforderungart = anfrageart.artid WHERE anfrageid='" . $_POST["anfrageid"] . "'";
|
$sqlstring = "SELECT * FROM anfragen INNER JOIN persons ON anfragen.requester_person_id = persons.person_id INNER JOIN anfrageart ON anfragen.anforderungart = anfrageart.artid WHERE anfrageid='" . $_POST["anfrageid"] . "'";
|
||||||
$query = mysqli_query($con,$sqlstring);
|
$query = mysqli_query($con,$sqlstring);
|
||||||
// Ticket und Antwort ansehen.
|
// Ticket und Antwort ansehen.
|
||||||
while ($row = $query->fetch_assoc()) {
|
while ($row = $query->fetch_assoc()) {
|
||||||
|
|
||||||
|
|
||||||
$anfrageid = $row["anfrageid"];
|
$anfrageid = $row["anfrageid"];
|
||||||
$Zeitanzeige = $datum . " " . $start . "-" . $ende ;
|
$Zeitanzeige = $datum . " " . $start . "-" . $ende ;
|
||||||
$userid = $row["userid"];
|
$userid = $row["userid"];
|
||||||
$checked = $row["checked"];
|
$checked = $row["checked"];
|
||||||
$workerid = $row["workerid"];
|
$workerid = $row["workerid"];
|
||||||
$antwortid = $row["antwortid"];
|
$antwortid = $row["antwortid"];
|
||||||
$date_created = $row["create_time"];
|
$date_created = $row["create_time"];
|
||||||
|
|
||||||
$vorname = $row["vorname"];
|
$vorname = $row["vorname"];
|
||||||
$nachname = $row["nachname"];
|
$nachname = $row["nachname"];
|
||||||
$mail = $row["mail"];
|
$mail = $row["mail"];
|
||||||
$tel = $row["tele"];
|
$tel = $row["tele"];
|
||||||
|
|
||||||
$geburtstag = $row["geburtstag"];
|
$geburtstag = $row["geburtstag"];
|
||||||
$ausgabegeburstag = $geburtstag;
|
$ausgabegeburstag = $geburtstag;
|
||||||
|
|
||||||
$ort = $row["ort"];
|
$ort = $row["ort"];
|
||||||
$plz = $row["plz"];
|
$plz = $row["plz"];
|
||||||
$strasse = $row["strasse"];
|
$strasse = $row["strasse"];
|
||||||
$ordnungsid = $row["ordnungsid"];
|
$ordnungsid = $row["ordnungsid"];
|
||||||
$ordnungsstring = GetOrdnungsid($ordnungsid);
|
$ordnungsstring = GetOrdnungsid($ordnungsid);
|
||||||
$nachricht = $row["nachricht"];
|
$nachricht = $row["nachricht"];
|
||||||
$medikamenteins = $row["medikament1"];
|
$medikamenteins = $row["medikament1"];
|
||||||
$medikamentzwei = $row["medikament2"];
|
$medikamentzwei = $row["medikament2"];
|
||||||
$medikamentdrei = $row["medikament3"];
|
$medikamentdrei = $row["medikament3"];
|
||||||
$medikamentvier = $row["medikament4"];
|
$medikamentvier = $row["medikament4"];
|
||||||
$medikamentfuenf = $row["medikament5"];
|
$medikamentfuenf = $row["medikament5"];
|
||||||
$medikamentsechs = $row["medikament6"];
|
$medikamentsechs = $row["medikament6"];
|
||||||
$anfrageart = $row["artname"];
|
$anfrageart = $row["artname"];
|
||||||
#$anfrageart = iconv('UTF-8' ,'CP1252//IGNORE', $anfrageart);
|
#$anfrageart = iconv('UTF-8' ,'CP1252//IGNORE', $anfrageart);
|
||||||
$antworttext = $row["antworttext"];
|
$antworttext = $row["antworttext"];
|
||||||
$WeitereInfos= "";
|
$WeitereInfos= "";
|
||||||
if($medikamenteins){
|
if($medikamenteins){
|
||||||
$WeitereInfos .= "Medikament1: $medikamenteins<br>";
|
$WeitereInfos .= "Medikament1: $medikamenteins<br>";
|
||||||
}
|
}
|
||||||
if($medikamentzwei){
|
if($medikamentzwei){
|
||||||
$WeitereInfos .= "Medikament2: $medikamentzwei<br>";
|
$WeitereInfos .= "Medikament2: $medikamentzwei<br>";
|
||||||
}
|
}
|
||||||
if($medikamentdrei){
|
if($medikamentdrei){
|
||||||
$WeitereInfos .= "Medikament3: $medikamentdrei<br>";
|
$WeitereInfos .= "Medikament3: $medikamentdrei<br>";
|
||||||
}
|
}
|
||||||
if($medikamentvier){
|
if($medikamentvier){
|
||||||
$WeitereInfos .= "Medikament4: $medikamentvier<br>";
|
$WeitereInfos .= "Medikament4: $medikamentvier<br>";
|
||||||
}
|
}
|
||||||
if($medikamentfuenf){
|
if($medikamentfuenf){
|
||||||
$WeitereInfos .= "Medikament5: $medikamentfuenf<br>";
|
$WeitereInfos .= "Medikament5: $medikamentfuenf<br>";
|
||||||
}
|
}
|
||||||
if($medikamentsechs){
|
if($medikamentsechs){
|
||||||
$WeitereInfos .= "Medikament6: $medikamentsechs<br>";
|
$WeitereInfos .= "Medikament6: $medikamentsechs<br>";
|
||||||
}
|
}
|
||||||
if($nachricht){
|
if($nachricht){
|
||||||
$WeitereInfos .= "Nachricht: $nachricht";
|
$WeitereInfos .= "Nachricht: $nachricht";
|
||||||
}
|
}
|
||||||
|
|
||||||
$datumausgabe= date("d.m.Y H:i", strtotime($date_created ));
|
$datumausgabe= date("d.m.Y H:i", strtotime($date_created ));
|
||||||
|
|
||||||
$ausgabeworker = GetWorkerName($workerid);
|
$ausgabeworker = GetWorkerName($workerid);
|
||||||
$farbe = GetStatusFarbe($checked);
|
$farbe = GetStatusFarbe($checked);
|
||||||
$checkausgabe = GetStatus($checked);
|
$checkausgabe = GetStatus($checked);
|
||||||
|
|
||||||
$userausgabe = $vorname . " " . $nachname;
|
$userausgabe = $vorname . " " . $nachname;
|
||||||
$adresse = $plz . " " . $ort . ", " . $strasse ;
|
$adresse = $plz . " " . $ort . ", " . $strasse ;
|
||||||
/*
|
/*
|
||||||
$queryconfig = mysqli_query($con, "Select betreff,body,name FROM mailtemplates WHERE templetid='$antwortid' ");
|
$queryconfig = mysqli_query($con, "Select betreff,body,name FROM mailtemplates WHERE templetid='$antwortid' ");
|
||||||
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
$rowconfig = mysqli_fetch_assoc($queryconfig);
|
||||||
$body = $rowconfig["body"];
|
$body = $rowconfig["body"];
|
||||||
$betreff = $rowconfig["betreff"];
|
$betreff = $rowconfig["betreff"];
|
||||||
*/
|
*/
|
||||||
//$name = $rowconfig["name"];
|
//$name = $rowconfig["name"];
|
||||||
//$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
|
//$betreff = iconv('CP1252//IGNORE', 'UTF-8' , $betreff);
|
||||||
$body = iconv('CP1252//IGNORE', 'UTF-8' , $antworttext);
|
$body = iconv('CP1252//IGNORE', 'UTF-8' , $antworttext);
|
||||||
|
|
||||||
|
|
||||||
echo "<b>Person:</b><br>$userausgabe <br> $mail <br><br><b>Anfrageinformationen:</b><br>$ordnungsstring - $anfrageart <br>$WeitereInfos<br><br><b>Status der Anfrage:</b><br>$checkausgabe - $datumausgabe<br><br>";
|
echo "<b>Person:</b><br>$userausgabe <br> $mail <br><br><b>Anfrageinformationen:</b><br>$ordnungsstring - $anfrageart <br>$WeitereInfos<br><br><b>Status der Anfrage:</b><br>$checkausgabe - $datumausgabe<br><br>";
|
||||||
|
|
||||||
echo "<b>Antwortnachricht:<b><br><br>";
|
echo "<b>Antwortnachricht:<b><br><br>";
|
||||||
echo "$body <br>";
|
echo "$body <br>";
|
||||||
|
|
||||||
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
echo "<form action='". $_SERVER['PHP_SELF'] . "' method=POST>";
|
||||||
echo "<input name=aktion type=hidden value=1>";
|
echo "<input name=aktion type=hidden value=1>";
|
||||||
echo "<input type=submit class='btn btn-primary' value='Zurück'><br>";
|
echo "<input type=submit class='btn btn-primary' value='Zurück'><br>";
|
||||||
echo '</form>';
|
echo '</form>';
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<p>Hier finden Sie die letzten 100 Anfragen für die E-Mail-Adresse '<?php echo $user["email"];?>'.<br>Die Antworten können Sie auf dieser Webseite datenschutzkonform einsehen.<br><br></p>
|
<p>Hier finden Sie die letzten 100 Anfragen für die E-Mail-Adresse '<?php echo $user["email"];?>'.<br>Die Antworten können Sie auf dieser Webseite datenschutzkonform einsehen.<br><br></p>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
//global $pdo;
|
//global $pdo;
|
||||||
$statement = $pdo->prepare("SELECT * FROM anfragen INNER JOIN persons ON anfragen.requester_person_id = persons.person_id INNER JOIN anfrageart ON anfragen.anforderungart = anfrageart.artid WHERE persons.email = :email ORDER by create_time DESC LIMIT 100 ");
|
$statement = $pdo->prepare("SELECT * FROM anfragen INNER JOIN persons ON anfragen.requester_person_id = persons.person_id INNER JOIN anfrageart ON anfragen.anforderungart = anfrageart.artid WHERE persons.email = :email ORDER by create_time DESC LIMIT 100 ");
|
||||||
$statement->execute(array('email' => $user["email"]));
|
$statement->execute(array('email' => $user["email"]));
|
||||||
|
|
||||||
|
|
||||||
echo '<table class="table display" id="table_id" > ';
|
echo '<table class="table display" id="table_id" > ';
|
||||||
echo '<thead><tr><th >Person/Adresse</th><th >createdate</th><th >Anfragedatum</th><th >Anfrage/Status</th><th>Aktion</th></tr> </thead>';
|
echo '<thead><tr><th >Person/Adresse</th><th >createdate</th><th >Anfragedatum</th><th >Anfrage/Status</th><th>Aktion</th></tr> </thead>';
|
||||||
echo "<tbody>";
|
echo "<tbody>";
|
||||||
while($row = $statement->fetch(PDO::FETCH_ASSOC)){
|
while($row = $statement->fetch(PDO::FETCH_ASSOC)){
|
||||||
#echo $row["anfrageid"];
|
#echo $row["anfrageid"];
|
||||||
#echo "<br>";
|
#echo "<br>";
|
||||||
$anfrageid = $row["anfrageid"];
|
$anfrageid = $row["anfrageid"];
|
||||||
$Zeitanzeige = $datum . " " . $start . "-" . $ende ;
|
$Zeitanzeige = $datum . " " . $start . "-" . $ende ;
|
||||||
$userid = $row["userid"];
|
$userid = $row["userid"];
|
||||||
$checked = $row["checked"];
|
$checked = $row["checked"];
|
||||||
$workerid = $row["workerid"];
|
$workerid = $row["workerid"];
|
||||||
$date_created = $row["create_time"];
|
$date_created = $row["create_time"];
|
||||||
$mailtime = $row["update_time"];
|
$mailtime = $row["update_time"];
|
||||||
|
|
||||||
$vorname = $row["vorname"];
|
$vorname = $row["vorname"];
|
||||||
$nachname = $row["nachname"];
|
$nachname = $row["nachname"];
|
||||||
$mail = $row["mail"];
|
$mail = $row["mail"];
|
||||||
$tel = $row["tele"];
|
$tel = $row["tele"];
|
||||||
|
|
||||||
$geburtstag = $row["geburtstag"];
|
$geburtstag = $row["geburtstag"];
|
||||||
$ausgabegeburstag = $geburtstag;
|
$ausgabegeburstag = $geburtstag;
|
||||||
|
|
||||||
$ort = $row["ort"];
|
$ort = $row["ort"];
|
||||||
$plz = $row["plz"];
|
$plz = $row["plz"];
|
||||||
$strasse = $row["strasse"];
|
$strasse = $row["strasse"];
|
||||||
|
|
||||||
$nachricht = $row["nachricht"];
|
$nachricht = $row["nachricht"];
|
||||||
$medikamenteins = $row["medikament1"];
|
$medikamenteins = $row["medikament1"];
|
||||||
$medikamentzwei = $row["medikament2"];
|
$medikamentzwei = $row["medikament2"];
|
||||||
$medikamentdrei = $row["medikament3"];
|
$medikamentdrei = $row["medikament3"];
|
||||||
$medikamentvier = $row["medikament4"];
|
$medikamentvier = $row["medikament4"];
|
||||||
$medikamentfuenf = $row["medikament5"];
|
$medikamentfuenf = $row["medikament5"];
|
||||||
$medikamentsechs = $row["medikament6"];
|
$medikamentsechs = $row["medikament6"];
|
||||||
$anfrageart = $row["artname"];
|
$anfrageart = $row["artname"];
|
||||||
$ordnungsid = $row["ordnungsid"];
|
$ordnungsid = $row["ordnungsid"];
|
||||||
$ordnungsstring = GetOrdnungsid($ordnungsid);
|
$ordnungsstring = GetOrdnungsid($ordnungsid);
|
||||||
$WeitereInfos= "";
|
$WeitereInfos= "";
|
||||||
if($medikamenteins){
|
if($medikamenteins){
|
||||||
$WeitereInfos .= "Medikament1: $medikamenteins<br>";
|
$WeitereInfos .= "Medikament1: $medikamenteins<br>";
|
||||||
}
|
}
|
||||||
if($medikamentzwei){
|
if($medikamentzwei){
|
||||||
$WeitereInfos .= "Medikament2: $medikamentzwei<br>";
|
$WeitereInfos .= "Medikament2: $medikamentzwei<br>";
|
||||||
}
|
}
|
||||||
if($medikamentdrei){
|
if($medikamentdrei){
|
||||||
$WeitereInfos .= "Medikament3: $medikamentdrei<br>";
|
$WeitereInfos .= "Medikament3: $medikamentdrei<br>";
|
||||||
}
|
}
|
||||||
if($medikamentvier){
|
if($medikamentvier){
|
||||||
$WeitereInfos .= "Medikament4: $medikamentvier<br>";
|
$WeitereInfos .= "Medikament4: $medikamentvier<br>";
|
||||||
}
|
}
|
||||||
if($medikamentfuenf){
|
if($medikamentfuenf){
|
||||||
$WeitereInfos .= "Medikament5: $medikamentfuenf<br>";
|
$WeitereInfos .= "Medikament5: $medikamentfuenf<br>";
|
||||||
}
|
}
|
||||||
if($nachricht){
|
if($nachricht){
|
||||||
$WeitereInfos .= "Nachricht: $nachricht";
|
$WeitereInfos .= "Nachricht: $nachricht";
|
||||||
}
|
}
|
||||||
|
|
||||||
$datumausgabe= date("d.m.Y H:i", strtotime($date_created ));
|
$datumausgabe= date("d.m.Y H:i", strtotime($date_created ));
|
||||||
$antwortzeit = date("d.m.Y H:i", strtotime($mailtime ));
|
$antwortzeit = date("d.m.Y H:i", strtotime($mailtime ));
|
||||||
|
|
||||||
$farbe = GetStatusFarbe($checked);
|
$farbe = GetStatusFarbe($checked);
|
||||||
$checkausgabe = GetStatus($checked);
|
$checkausgabe = GetStatus($checked);
|
||||||
|
|
||||||
$userausgabe = $vorname . " " . $nachname . "<br>" . $ausgabegeburstag;
|
$userausgabe = $vorname . " " . $nachname . "<br>" . $ausgabegeburstag;
|
||||||
$adresse = $plz . " " . $ort . "<br>" . $strasse ;
|
$adresse = $plz . " " . $ort . "<br>" . $strasse ;
|
||||||
|
|
||||||
echo "<tr style='background-color:". $farbe. ";' ><th scope='row' >$userausgabe <br> $adresse</th><td>$date_created</td><td>$datumausgabe</td><td >$ordnungsstring - $anfrageart <br>$WeitereInfos<br><br>Status:<br>$checkausgabe<br>$antwortzeit</td>";
|
echo "<tr style='background-color:". $farbe. ";' ><th scope='row' >$userausgabe <br> $adresse</th><td>$date_created</td><td>$datumausgabe</td><td >$ordnungsstring - $anfrageart <br>$WeitereInfos<br><br>Status:<br>$checkausgabe<br>$antwortzeit</td>";
|
||||||
echo "<td >";
|
echo "<td >";
|
||||||
if($checked == "10"){
|
if($checked == "10"){
|
||||||
echo "
|
echo "
|
||||||
<div style='float: left;margin:15px; height: 20px;'>
|
<div style='float: left;margin:15px; height: 20px;'>
|
||||||
<form action='". $_SERVER["PHP_SELF"] ."' method=POST>
|
<form action='". $_SERVER["PHP_SELF"] ."' method=POST>
|
||||||
<input type=hidden name=aktion value=11>
|
<input type=hidden name=aktion value=11>
|
||||||
<input type=hidden name=anfrageid value=$anfrageid>
|
<input type=hidden name=anfrageid value=$anfrageid>
|
||||||
<input type=submit class='btn btn-primary' value='Antwort einsehen'>
|
<input type=submit class='btn btn-primary' value='Antwort einsehen'>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
";
|
";
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
echo "Keine Antwort einsehbar.";
|
echo "Keine Antwort einsehbar.";
|
||||||
|
|
||||||
}
|
}
|
||||||
echo "</td ></tr>";
|
echo "</td ></tr>";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "</tbody></table>";
|
echo "</tbody></table>";
|
||||||
//echo "</div>";
|
//echo "</div>";
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include("templates/footer.inc.php")
|
include("templates/footer.inc.php")
|
||||||
?>
|
?>
|
||||||
+810
-810
File diff suppressed because it is too large
Load Diff
+810
-810
File diff suppressed because it is too large
Load Diff
+443
-443
@@ -1,443 +1,443 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
require_once(__DIR__ . "/../inc/config.inc.php");
|
require_once(__DIR__ . "/../inc/config.inc.php");
|
||||||
require_once(__DIR__ . "/../inc/functions.inc.php");
|
require_once(__DIR__ . "/../inc/functions.inc.php");
|
||||||
|
|
||||||
ini_set('display_errors', '1');
|
ini_set('display_errors', '1');
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
|
|
||||||
/* ---------------------------
|
/* ---------------------------
|
||||||
Page start
|
Page start
|
||||||
----------------------------*/
|
----------------------------*/
|
||||||
|
|
||||||
include(__DIR__ . "/templates/header.inc.php");
|
include(__DIR__ . "/templates/header.inc.php");
|
||||||
|
|
||||||
echo "</header>";
|
echo "</header>";
|
||||||
echo "<div class='jumbotron'><div class='container'>";
|
echo "<div class='jumbotron'><div class='container'>";
|
||||||
|
|
||||||
$user = check_intern_user(); // intern session user
|
$user = check_intern_user(); // intern session user
|
||||||
|
|
||||||
if (!$user) {
|
if (!$user) {
|
||||||
header("Location: login.php");
|
header("Location: login.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
echo "<h1>Neue Anfrage</h1>";
|
echo "<h1>Neue Anfrage</h1>";
|
||||||
echo "<p>Hallo " . e((string)($user['vorname'] ?? '')) . ",<br></p>";
|
echo "<p>Hallo " . e((string)($user['vorname'] ?? '')) . ",<br></p>";
|
||||||
|
|
||||||
// Preconditions
|
// Preconditions
|
||||||
if (!check_mailreg()) {
|
if (!check_mailreg()) {
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "Es fehlt die Authentifizierung Ihres Kontos per E-Mail! Bitte authentifizieren Sie Ihre E-Mail-Adresse.<br>";
|
echo "Es fehlt die Authentifizierung Ihres Kontos per E-Mail! Bitte authentifizieren Sie Ihre E-Mail-Adresse.<br>";
|
||||||
echo "<form action='authmeldung.php' method='POST'>";
|
echo "<form action='authmeldung.php' method='POST'>";
|
||||||
echo "<input name='aktion' type='hidden' value='1'>";
|
echo "<input name='aktion' type='hidden' value='1'>";
|
||||||
echo "<input type='submit' class='btn btn-primary' value='E-Mail Authentifizierung'><br>";
|
echo "<input type='submit' class='btn btn-primary' value='E-Mail Authentifizierung'><br>";
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!check_userdatenvorhanden()) {
|
if (!check_userdatenvorhanden()) {
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "Es fehlen noch Informationen in Ihren Stammdaten. Bitte pflegen Sie die Daten nach.<br>";
|
echo "Es fehlen noch Informationen in Ihren Stammdaten. Bitte pflegen Sie die Daten nach.<br>";
|
||||||
echo "<form action='settings.php' method='POST'>";
|
echo "<form action='settings.php' method='POST'>";
|
||||||
echo "<input name='aktion' type='hidden' value='1'>";
|
echo "<input name='aktion' type='hidden' value='1'>";
|
||||||
echo "<input type='submit' class='btn btn-primary' value='Stammdaten pflegen'><br>";
|
echo "<input type='submit' class='btn btn-primary' value='Stammdaten pflegen'><br>";
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(check_mailreg() && check_userdatenvorhanden())) {
|
if (!(check_mailreg() && check_userdatenvorhanden())) {
|
||||||
echo "<br><br><br><form action='index.php' method='POST'>
|
echo "<br><br><br><form action='index.php' method='POST'>
|
||||||
<input type='submit' class='btn btn-primary' value='Zum Hauptmenü'>
|
<input type='submit' class='btn btn-primary' value='Zum Hauptmenü'>
|
||||||
</form>";
|
</form>";
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// action routing
|
// action routing
|
||||||
$aktion = $_POST['aktion'] ?? ''; // '', choose, confirm, submit
|
$aktion = $_POST['aktion'] ?? ''; // '', choose, confirm, submit
|
||||||
|
|
||||||
// Ensure persons id early
|
// Ensure persons id early
|
||||||
try {
|
try {
|
||||||
$internUserId = isset($_SESSION['userid']) ? (int)$_SESSION['userid'] : null;
|
$internUserId = isset($_SESSION['userid']) ? (int)$_SESSION['userid'] : null;
|
||||||
$personId = ensurePersonFromInternUsersByEmail($pdo, (string)($user['email'] ?? ''), $internUserId);
|
$personId = ensurePersonFromInternUsersByEmail($pdo, (string)($user['email'] ?? ''), $internUserId);
|
||||||
} catch (Throwable $t) {
|
} catch (Throwable $t) {
|
||||||
echo "<div class='alert alert-danger'>Fehler: " . e($t->getMessage()) . "</div>";
|
echo "<div class='alert alert-danger'>Fehler: " . e($t->getMessage()) . "</div>";
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Vacation check
|
// Vacation check
|
||||||
if ($aktion === 'choose' || $aktion === 'confirm' || $aktion === 'submit' || $aktion === '') {
|
if ($aktion === 'choose' || $aktion === 'confirm' || $aktion === 'submit' || $aktion === '') {
|
||||||
if (isPraxisImUrlaub($pdo)) {
|
if (isPraxisImUrlaub($pdo)) {
|
||||||
$info = loadAktuelleUrlaubsInfo($pdo);
|
$info = loadAktuelleUrlaubsInfo($pdo);
|
||||||
echo "<h2>Praxis im Urlaub</h2>";
|
echo "<h2>Praxis im Urlaub</h2>";
|
||||||
echo "Wir befinden uns aktuell im Urlaub.<br>Wenden Sie sich an unsere Vertretung oder warten Sie bis nach unserem Urlaub mit Ihrer Anfrage.<br><br>";
|
echo "Wir befinden uns aktuell im Urlaub.<br>Wenden Sie sich an unsere Vertretung oder warten Sie bis nach unserem Urlaub mit Ihrer Anfrage.<br><br>";
|
||||||
|
|
||||||
if ($info) {
|
if ($info) {
|
||||||
$ende = (string)$info['ende'];
|
$ende = (string)$info['ende'];
|
||||||
$endeausgabe = date("d.m.Y", strtotime("+1 day", strtotime($ende)));
|
$endeausgabe = date("d.m.Y", strtotime("+1 day", strtotime($ende)));
|
||||||
|
|
||||||
if (!empty($info['vertretung'])) echo "Unsere Vertretung: " . e($info['vertretung']) . "<br>";
|
if (!empty($info['vertretung'])) echo "Unsere Vertretung: " . e($info['vertretung']) . "<br>";
|
||||||
if (!empty($info['vertreterurl'])) echo "Webseite Vertretung: " . e($info['vertreterurl']) . "<br>";
|
if (!empty($info['vertreterurl'])) echo "Webseite Vertretung: " . e($info['vertreterurl']) . "<br>";
|
||||||
if (!empty($info['vertretertelefon'])) echo "Telefonischer Kontakt Vertretung: " . e($info['vertretertelefon']) . "<br>";
|
if (!empty($info['vertretertelefon'])) echo "Telefonischer Kontakt Vertretung: " . e($info['vertretertelefon']) . "<br>";
|
||||||
if (!empty($info['vertreteradresse'])) echo "Adresse Vertretung: " . e($info['vertreteradresse']) . "<br>";
|
if (!empty($info['vertreteradresse'])) echo "Adresse Vertretung: " . e($info['vertreteradresse']) . "<br>";
|
||||||
|
|
||||||
echo "<br>Wir stehen Ihnen ab dem " . e($endeausgabe) . " wieder zur Verfügung.<br><br><br>";
|
echo "<br>Wir stehen Ihnen ab dem " . e($endeausgabe) . " wieder zur Verfügung.<br><br><br>";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<form action='index.php' method='POST'><input type='submit' class='btn btn-primary' value='Zurück'></form>";
|
echo "<form action='index.php' method='POST'><input type='submit' class='btn btn-primary' value='Zurück'></form>";
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// default: show selection
|
// default: show selection
|
||||||
if ($aktion === '') {
|
if ($aktion === '') {
|
||||||
echo "<p>Wählen Sie die Anfragenart aus:<br><br></p>";
|
echo "<p>Wählen Sie die Anfragenart aus:<br><br></p>";
|
||||||
echo "<form action='" . e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
echo "<form action='" . e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
||||||
echo "<input type='hidden' name='aktion' value='choose'>";
|
echo "<input type='hidden' name='aktion' value='choose'>";
|
||||||
|
|
||||||
echo "<h4>Benutzer</h4>";
|
echo "<h4>Benutzer</h4>";
|
||||||
echo "Name: " . e((string)$user["vorname"]) . " " . e((string)$user["nachname"]) . "<br>";
|
echo "Name: " . e((string)$user["vorname"]) . " " . e((string)$user["nachname"]) . "<br>";
|
||||||
echo "Geburtstag: " . e((string)$user["geburtstag"]) . "<br>";
|
echo "Geburtstag: " . e((string)$user["geburtstag"]) . "<br>";
|
||||||
echo "Adresse: " . e((string)$user["strasse"]) . ", " . e((string)$user["plz"]) . ", " . e((string)$user["ort"]) . "<br>";
|
echo "Adresse: " . e((string)$user["strasse"]) . ", " . e((string)$user["plz"]) . ", " . e((string)$user["ort"]) . "<br>";
|
||||||
|
|
||||||
echo "<input type='hidden' name='requester_person_id' value='" . (int)$personId . "'>";
|
echo "<input type='hidden' name='requester_person_id' value='" . (int)$personId . "'>";
|
||||||
|
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "<label for='anfrageart'>Art der Anfrage:</label>";
|
echo "<label for='anfrageart'>Art der Anfrage:</label>";
|
||||||
echo "<select class='form-control' name='anfrageart' id='anfrageart' required>
|
echo "<select class='form-control' name='anfrageart' id='anfrageart' required>
|
||||||
<option value='1'>Rezeptanfrage</option>
|
<option value='1'>Rezeptanfrage</option>
|
||||||
<option value='2'>Allgemeine Anfrage</option>
|
<option value='2'>Allgemeine Anfrage</option>
|
||||||
<option value='3'>Terminabsage</option>
|
<option value='3'>Terminabsage</option>
|
||||||
</select>";
|
</select>";
|
||||||
echo "<br><br>";
|
echo "<br><br>";
|
||||||
echo "<input type='submit' class='btn btn-primary' value='Anfrage stellen'><br>";
|
echo "<input type='submit' class='btn btn-primary' value='Anfrage stellen'><br>";
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
echo "<br><br><br><form action='index.php' method='POST'>
|
echo "<br><br><br><form action='index.php' method='POST'>
|
||||||
<input type='submit' class='btn btn-primary' value='Zum Hauptmenü'>
|
<input type='submit' class='btn btn-primary' value='Zum Hauptmenü'>
|
||||||
</form>";
|
</form>";
|
||||||
|
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// choose -> show form
|
// choose -> show form
|
||||||
if ($aktion === 'choose') {
|
if ($aktion === 'choose') {
|
||||||
$anfrageart = (int)($_POST['anfrageart'] ?? 0);
|
$anfrageart = (int)($_POST['anfrageart'] ?? 0);
|
||||||
$requester_person_id = (int)($_POST['requester_person_id'] ?? $personId);
|
$requester_person_id = (int)($_POST['requester_person_id'] ?? $personId);
|
||||||
|
|
||||||
$mode = match ($anfrageart) {
|
$mode = match ($anfrageart) {
|
||||||
1 => 'rezept',
|
1 => 'rezept',
|
||||||
2 => 'allgemein',
|
2 => 'allgemein',
|
||||||
3 => 'terminabsage',
|
3 => 'terminabsage',
|
||||||
default => ''
|
default => ''
|
||||||
};
|
};
|
||||||
if ($mode === '') {
|
if ($mode === '') {
|
||||||
echo "<div class='alert alert-danger'>Unbekannte Anfrageart.</div>";
|
echo "<div class='alert alert-danger'>Unbekannte Anfrageart.</div>";
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$arten = loadAnfragearten($pdo, $mode);
|
$arten = loadAnfragearten($pdo, $mode);
|
||||||
|
|
||||||
echo "<p>Füllen Sie das Formular aus.</p>";
|
echo "<p>Füllen Sie das Formular aus.</p>";
|
||||||
echo "<form action='" . e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
echo "<form action='" . e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
||||||
echo "<input type='hidden' name='aktion' value='confirm'>";
|
echo "<input type='hidden' name='aktion' value='confirm'>";
|
||||||
echo "<input type='hidden' name='mode' value='" . e($mode) . "'>";
|
echo "<input type='hidden' name='mode' value='" . e($mode) . "'>";
|
||||||
echo "<input type='hidden' name='requester_person_id' value='" . (int)$requester_person_id . "'>";
|
echo "<input type='hidden' name='requester_person_id' value='" . (int)$requester_person_id . "'>";
|
||||||
|
|
||||||
// User block
|
// User block
|
||||||
echo "<h4>Benutzer</h4>";
|
echo "<h4>Benutzer</h4>";
|
||||||
echo "Name: " . e((string)$user["vorname"]) . " " . e((string)$user["nachname"]) . "<br>";
|
echo "Name: " . e((string)$user["vorname"]) . " " . e((string)$user["nachname"]) . "<br>";
|
||||||
echo "Geburtstag: " . e((string)$user["geburtstag"]) . "<br>";
|
echo "Geburtstag: " . e((string)$user["geburtstag"]) . "<br>";
|
||||||
echo "Adresse: " . e((string)$user["strasse"]) . ", " . e((string)$user["plz"]) . ", " . e((string)$user["ort"]) . "<br>";
|
echo "Adresse: " . e((string)$user["strasse"]) . ", " . e((string)$user["plz"]) . ", " . e((string)$user["ort"]) . "<br>";
|
||||||
|
|
||||||
echo "<br><br><div class='col-sm-10'>";
|
echo "<br><br><div class='col-sm-10'>";
|
||||||
echo "<label for='category'>Thema:</label>";
|
echo "<label for='category'>Thema:</label>";
|
||||||
echo "<select class='form-control' name='category' id='category' required>";
|
echo "<select class='form-control' name='category' id='category' required>";
|
||||||
echo "<option value=''>Bitte wählen Sie aus</option>";
|
echo "<option value=''>Bitte wählen Sie aus</option>";
|
||||||
foreach ($arten as $a) {
|
foreach ($arten as $a) {
|
||||||
$artid = (int)$a['artid'];
|
$artid = (int)$a['artid'];
|
||||||
$artname = (string)$a['artname'];
|
$artname = (string)$a['artname'];
|
||||||
echo "<option value='{$artid}'>" . e($artname) . "</option>";
|
echo "<option value='{$artid}'>" . e($artname) . "</option>";
|
||||||
}
|
}
|
||||||
echo "</select></div>";
|
echo "</select></div>";
|
||||||
|
|
||||||
// Special fields for rezept
|
// Special fields for rezept
|
||||||
if ($mode === 'rezept') {
|
if ($mode === 'rezept') {
|
||||||
$curdate = date('d.m.Y');
|
$curdate = date('d.m.Y');
|
||||||
$curyear = date('Y');
|
$curyear = date('Y');
|
||||||
$curMonth = (int)date('m');
|
$curMonth = (int)date('m');
|
||||||
$curQuarter = (int)ceil($curMonth / 3);
|
$curQuarter = (int)ceil($curMonth / 3);
|
||||||
$current_quarter = (int)ceil(date('n') / 3);
|
$current_quarter = (int)ceil(date('n') / 3);
|
||||||
$first_date = date('d.m.Y', strtotime(date('Y') . '-' . (($current_quarter * 3) - 2) . '-1'));
|
$first_date = date('d.m.Y', strtotime(date('Y') . '-' . (($current_quarter * 3) - 2) . '-1'));
|
||||||
$last_date = date('t.m.Y', strtotime(date('Y') . '-' . (($current_quarter * 3)) . '-1'));
|
$last_date = date('t.m.Y', strtotime(date('Y') . '-' . (($current_quarter * 3)) . '-1'));
|
||||||
|
|
||||||
echo "<div class='col-sm-10'><br>";
|
echo "<div class='col-sm-10'><br>";
|
||||||
echo "<label for='karte'>Ich habe dieses Quartal schon meine Gesundheitskarte in der Praxis einlesen lassen:</label><br>";
|
echo "<label for='karte'>Ich habe dieses Quartal schon meine Gesundheitskarte in der Praxis einlesen lassen:</label><br>";
|
||||||
echo "Aktuell befinden wir uns im {$curQuarter}. Quartal von {$curyear}.<br>";
|
echo "Aktuell befinden wir uns im {$curQuarter}. Quartal von {$curyear}.<br>";
|
||||||
echo "Dieses geht vom <b>{$first_date} bis {$last_date}</b><br>";
|
echo "Dieses geht vom <b>{$first_date} bis {$last_date}</b><br>";
|
||||||
echo "Heute ist der {$curdate}.<br>";
|
echo "Heute ist der {$curdate}.<br>";
|
||||||
echo "War die Chipkarte dieses Quartal noch nicht eingelesen, ist die Abholung nur in der Praxis möglich.<br><br>";
|
echo "War die Chipkarte dieses Quartal noch nicht eingelesen, ist die Abholung nur in der Praxis möglich.<br><br>";
|
||||||
echo "<select class='form-control' name='karte' id='karte' required onchange='checkkarte()'>
|
echo "<select class='form-control' name='karte' id='karte' required onchange='checkkarte()'>
|
||||||
<option value=''>Bitte wählen Sie aus</option>
|
<option value=''>Bitte wählen Sie aus</option>
|
||||||
<option value='Ja'>Ja</option>
|
<option value='Ja'>Ja</option>
|
||||||
<option value='Nein'>Nein</option>
|
<option value='Nein'>Nein</option>
|
||||||
<option value='Privat'>Privatrezept (Selbstzahler)</option>
|
<option value='Privat'>Privatrezept (Selbstzahler)</option>
|
||||||
</select>";
|
</select>";
|
||||||
echo "</div>";
|
echo "</div>";
|
||||||
|
|
||||||
echo "<div class='col-sm-10'><br>";
|
echo "<div class='col-sm-10'><br>";
|
||||||
echo "<label for='abholung'>Ich möchte das Rezept hier abholen:</label>";
|
echo "<label for='abholung'>Ich möchte das Rezept hier abholen:</label>";
|
||||||
echo "<select class='form-control' name='abholung' id='abholung' required onchange='checkkarte()'>
|
echo "<select class='form-control' name='abholung' id='abholung' required onchange='checkkarte()'>
|
||||||
<option value=''>Bitte wählen Sie aus</option>
|
<option value=''>Bitte wählen Sie aus</option>
|
||||||
<option value='Praxis'>Praxis Creutzburg</option>
|
<option value='Praxis'>Praxis Creutzburg</option>
|
||||||
<option value='Apotheke'>Apotheke</option>
|
<option value='Apotheke'>Apotheke</option>
|
||||||
</select>";
|
</select>";
|
||||||
echo "</div>";
|
echo "</div>";
|
||||||
|
|
||||||
for ($i = 1; $i <= 6; $i++) {
|
for ($i = 1; $i <= 6; $i++) {
|
||||||
echo "<div class='col-sm-10'><br>";
|
echo "<div class='col-sm-10'><br>";
|
||||||
echo "<input class='form-control' type='text' name='Medikament{$i}' placeholder='Medikament, Wirkstoff, Packungsgröße' maxlength='150'>";
|
echo "<input class='form-control' type='text' name='Medikament{$i}' placeholder='Medikament, Wirkstoff, Packungsgröße' maxlength='150'>";
|
||||||
echo "</div>";
|
echo "</div>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<div class='col-sm-10'><br>";
|
echo "<div class='col-sm-10'><br>";
|
||||||
echo "<textarea class='form-control' name='message' id='message' placeholder='Ihre Nachricht/Bemerkung' rows='6' maxlength='500'></textarea>";
|
echo "<textarea class='form-control' name='message' id='message' placeholder='Ihre Nachricht/Bemerkung' rows='6' maxlength='500'></textarea>";
|
||||||
echo "</div>";
|
echo "</div>";
|
||||||
|
|
||||||
echo "<div class='col-sm-10'><br>";
|
echo "<div class='col-sm-10'><br>";
|
||||||
echo "Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>";
|
echo "Bedenken Sie bitte, dass wir einmal im Quartal Ihre Chipkarte benötigen. Ohne Chipkarte sind seit 1.1.2016 keine Kassendienstleistungen mehr möglich.<br>";
|
||||||
echo "</div>";
|
echo "</div>";
|
||||||
|
|
||||||
echo "<div class='col-sm-10'><br><br>";
|
echo "<div class='col-sm-10'><br><br>";
|
||||||
echo "<input class='form-control' type='submit' value='Weiter'>";
|
echo "<input class='form-control' type='submit' value='Weiter'>";
|
||||||
echo "<br><br><br></div>";
|
echo "<br><br><br></div>";
|
||||||
|
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
echo "<script>
|
echo "<script>
|
||||||
function checkkarte(){
|
function checkkarte(){
|
||||||
var karte = document.getElementById('karte');
|
var karte = document.getElementById('karte');
|
||||||
var abholung = document.getElementById('abholung');
|
var abholung = document.getElementById('abholung');
|
||||||
if (!karte || !abholung) return;
|
if (!karte || !abholung) return;
|
||||||
if (karte.value === 'Nein') {
|
if (karte.value === 'Nein') {
|
||||||
abholung.value = 'Praxis';
|
abholung.value = 'Praxis';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>";
|
</script>";
|
||||||
|
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// confirm -> summary
|
// confirm -> summary
|
||||||
if ($aktion === 'confirm') {
|
if ($aktion === 'confirm') {
|
||||||
$mode = (string)($_POST['mode'] ?? '');
|
$mode = (string)($_POST['mode'] ?? '');
|
||||||
$requester_person_id = (int)($_POST['requester_person_id'] ?? 0);
|
$requester_person_id = (int)($_POST['requester_person_id'] ?? 0);
|
||||||
$category = (int)($_POST['category'] ?? 0);
|
$category = (int)($_POST['category'] ?? 0);
|
||||||
|
|
||||||
if ($requester_person_id <= 0 || $category <= 0 || $mode === '') {
|
if ($requester_person_id <= 0 || $category <= 0 || $mode === '') {
|
||||||
echo "<div class='alert alert-danger'>Ungültige Eingaben.</div>";
|
echo "<div class='alert alert-danger'>Ungültige Eingaben.</div>";
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$anfrageartText = loadAnfrageartName($pdo, $category);
|
$anfrageartText = loadAnfrageartName($pdo, $category);
|
||||||
|
|
||||||
echo "<h4>Kontrollieren Sie Ihre Angaben!</h4><br>";
|
echo "<h4>Kontrollieren Sie Ihre Angaben!</h4><br>";
|
||||||
echo "<form action='" . e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
echo "<form action='" . e($_SERVER['PHP_SELF']) . "' method='POST'>";
|
||||||
echo "<input type='hidden' name='aktion' value='submit'>";
|
echo "<input type='hidden' name='aktion' value='submit'>";
|
||||||
echo "<input type='hidden' name='mode' value='" . e($mode) . "'>";
|
echo "<input type='hidden' name='mode' value='" . e($mode) . "'>";
|
||||||
echo "<input type='hidden' name='requester_person_id' value='" . (int)$requester_person_id . "'>";
|
echo "<input type='hidden' name='requester_person_id' value='" . (int)$requester_person_id . "'>";
|
||||||
echo "<input type='hidden' name='category' value='" . (int)$category . "'>";
|
echo "<input type='hidden' name='category' value='" . (int)$category . "'>";
|
||||||
|
|
||||||
echo "<table border='0' class='table'>";
|
echo "<table border='0' class='table'>";
|
||||||
echo "<tr><td class='fett' style='width:160px;'>Thema</td><td>" . e($anfrageartText) . "</td></tr>";
|
echo "<tr><td class='fett' style='width:160px;'>Thema</td><td>" . e($anfrageartText) . "</td></tr>";
|
||||||
|
|
||||||
if ($mode === 'rezept') {
|
if ($mode === 'rezept') {
|
||||||
$karte = (string)($_POST['karte'] ?? '');
|
$karte = (string)($_POST['karte'] ?? '');
|
||||||
$abholung = (string)($_POST['abholung'] ?? '');
|
$abholung = (string)($_POST['abholung'] ?? '');
|
||||||
echo "<input type='hidden' name='karte' value='" . e($karte) . "'>";
|
echo "<input type='hidden' name='karte' value='" . e($karte) . "'>";
|
||||||
echo "<input type='hidden' name='abholung' value='" . e($abholung) . "'>";
|
echo "<input type='hidden' name='abholung' value='" . e($abholung) . "'>";
|
||||||
echo "<tr><td class='fett'>Karte</td><td>" . e($karte) . "</td></tr>";
|
echo "<tr><td class='fett'>Karte</td><td>" . e($karte) . "</td></tr>";
|
||||||
echo "<tr><td class='fett'>Abholung</td><td>" . e($abholung) . "</td></tr>";
|
echo "<tr><td class='fett'>Abholung</td><td>" . e($abholung) . "</td></tr>";
|
||||||
|
|
||||||
for ($i = 1; $i <= 6; $i++) {
|
for ($i = 1; $i <= 6; $i++) {
|
||||||
$med = (string)($_POST["Medikament{$i}"] ?? '');
|
$med = (string)($_POST["Medikament{$i}"] ?? '');
|
||||||
echo "<input type='hidden' name='Medikament{$i}' value='" . e($med) . "'>";
|
echo "<input type='hidden' name='Medikament{$i}' value='" . e($med) . "'>";
|
||||||
if ($med !== '') {
|
if ($med !== '') {
|
||||||
echo "<tr><td class='fett'>Medikament{$i}</td><td>" . e($med) . "</td></tr>";
|
echo "<tr><td class='fett'>Medikament{$i}</td><td>" . e($med) . "</td></tr>";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$message = (string)($_POST['message'] ?? '');
|
$message = (string)($_POST['message'] ?? '');
|
||||||
echo "<input type='hidden' name='message' value='" . e($message) . "'>";
|
echo "<input type='hidden' name='message' value='" . e($message) . "'>";
|
||||||
echo "<tr><td class='fett'>Nachricht</td><td>" . nl2br(e($message)) . "</td></tr>";
|
echo "<tr><td class='fett'>Nachricht</td><td>" . nl2br(e($message)) . "</td></tr>";
|
||||||
echo "</table>";
|
echo "</table>";
|
||||||
|
|
||||||
echo "<input type='submit' class='form-control' value='Anfrage abschicken'>";
|
echo "<input type='submit' class='form-control' value='Anfrage abschicken'>";
|
||||||
echo "</form>";
|
echo "</form>";
|
||||||
|
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// submit -> insert + mail
|
// submit -> insert + mail
|
||||||
if ($aktion === 'submit') {
|
if ($aktion === 'submit') {
|
||||||
$mode = (string)($_POST['mode'] ?? '');
|
$mode = (string)($_POST['mode'] ?? '');
|
||||||
$requester_person_id = (int)($_POST['requester_person_id'] ?? 0);
|
$requester_person_id = (int)($_POST['requester_person_id'] ?? 0);
|
||||||
$anforderungart = (int)($_POST['category'] ?? 0);
|
$anforderungart = (int)($_POST['category'] ?? 0);
|
||||||
$message = (string)($_POST['message'] ?? '');
|
$message = (string)($_POST['message'] ?? '');
|
||||||
|
|
||||||
if ($requester_person_id <= 0 || $anforderungart <= 0) {
|
if ($requester_person_id <= 0 || $anforderungart <= 0) {
|
||||||
echo "<div class='alert alert-danger'>Ungültige Eingaben.</div>";
|
echo "<div class='alert alert-danger'>Ungültige Eingaben.</div>";
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$nachricht = $message;
|
$nachricht = $message;
|
||||||
|
|
||||||
$abholungnr = 0;
|
$abholungnr = 0;
|
||||||
if ($mode === 'rezept') {
|
if ($mode === 'rezept') {
|
||||||
$karte = (string)($_POST['karte'] ?? '');
|
$karte = (string)($_POST['karte'] ?? '');
|
||||||
$abholung = (string)($_POST['abholung'] ?? '');
|
$abholung = (string)($_POST['abholung'] ?? '');
|
||||||
|
|
||||||
$abholungnr = ($abholung === 'Praxis') ? 1 : (($abholung === 'Apotheke') ? 2 : 0);
|
$abholungnr = ($abholung === 'Praxis') ? 1 : (($abholung === 'Apotheke') ? 2 : 0);
|
||||||
if ($karte === 'Privat') {
|
if ($karte === 'Privat') {
|
||||||
$karte = 'Privatrezept (Selbstzahler)';
|
$karte = 'Privatrezept (Selbstzahler)';
|
||||||
}
|
}
|
||||||
$nachricht = "Karte eingelesen: {$karte}<br>Abholungsort: {$abholung}<br>" . $nachricht;
|
$nachricht = "Karte eingelesen: {$karte}<br>Abholungsort: {$abholung}<br>" . $nachricht;
|
||||||
}
|
}
|
||||||
|
|
||||||
$med = [];
|
$med = [];
|
||||||
for ($i = 1; $i <= 6; $i++) {
|
for ($i = 1; $i <= 6; $i++) {
|
||||||
$med[$i] = trim((string)($_POST["Medikament{$i}"] ?? ''));
|
$med[$i] = trim((string)($_POST["Medikament{$i}"] ?? ''));
|
||||||
}
|
}
|
||||||
|
|
||||||
// duplicate check (best effort)
|
// duplicate check (best effort)
|
||||||
$exists = false;
|
$exists = false;
|
||||||
try {
|
try {
|
||||||
$stmtDup = $pdo->prepare("
|
$stmtDup = $pdo->prepare("
|
||||||
SELECT *
|
SELECT *
|
||||||
FROM anfragen
|
FROM anfragen
|
||||||
WHERE requester_person_id = :pid
|
WHERE requester_person_id = :pid
|
||||||
AND anforderungart = :art
|
AND anforderungart = :art
|
||||||
AND nachricht = :nachricht
|
AND nachricht = :nachricht
|
||||||
AND create_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
AND create_time >= DATE_SUB(NOW(), INTERVAL 7 DAY)
|
||||||
");
|
");
|
||||||
$stmtDup->execute([
|
$stmtDup->execute([
|
||||||
':pid' => $requester_person_id,
|
':pid' => $requester_person_id,
|
||||||
':art' => $anforderungart,
|
':art' => $anforderungart,
|
||||||
':nachricht' => $nachricht,
|
':nachricht' => $nachricht,
|
||||||
]);
|
]);
|
||||||
$rows = $stmtDup->fetchAll(PDO::FETCH_ASSOC);
|
$rows = $stmtDup->fetchAll(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
$medFieldAliases = [
|
$medFieldAliases = [
|
||||||
1 => ['med1', 'medikament1', 'med_1'],
|
1 => ['med1', 'medikament1', 'med_1'],
|
||||||
2 => ['med2', 'medikament2', 'med_2'],
|
2 => ['med2', 'medikament2', 'med_2'],
|
||||||
3 => ['med3', 'medikament3', 'med_3'],
|
3 => ['med3', 'medikament3', 'med_3'],
|
||||||
4 => ['med4', 'medikament4', 'med_4'],
|
4 => ['med4', 'medikament4', 'med_4'],
|
||||||
5 => ['med5', 'medikament5', 'med_5'],
|
5 => ['med5', 'medikament5', 'med_5'],
|
||||||
6 => ['med6', 'medikament6', 'med_6'],
|
6 => ['med6', 'medikament6', 'med_6'],
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach ($rows as $row) {
|
foreach ($rows as $row) {
|
||||||
$allMedsEqual = true;
|
$allMedsEqual = true;
|
||||||
for ($i = 1; $i <= 6; $i++) {
|
for ($i = 1; $i <= 6; $i++) {
|
||||||
$dbValue = '';
|
$dbValue = '';
|
||||||
foreach ($medFieldAliases[$i] as $fieldName) {
|
foreach ($medFieldAliases[$i] as $fieldName) {
|
||||||
if (array_key_exists($fieldName, $row)) {
|
if (array_key_exists($fieldName, $row)) {
|
||||||
$dbValue = trim((string)($row[$fieldName] ?? ''));
|
$dbValue = trim((string)($row[$fieldName] ?? ''));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($dbValue !== $med[$i]) {
|
if ($dbValue !== $med[$i]) {
|
||||||
$allMedsEqual = false;
|
$allMedsEqual = false;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($allMedsEqual) {
|
if ($allMedsEqual) {
|
||||||
$exists = true;
|
$exists = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch (Throwable $t) {
|
} catch (Throwable $t) {
|
||||||
error_log('Duplicate check failed: ' . $t->getMessage());
|
error_log('Duplicate check failed: ' . $t->getMessage());
|
||||||
$exists = false;
|
$exists = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($exists) {
|
if ($exists) {
|
||||||
echo "<h3>Doppelte Anfrage</h3><br>Ihre Anfrage wurde schon in unserem System gespeichert.<br>
|
echo "<h3>Doppelte Anfrage</h3><br>Ihre Anfrage wurde schon in unserem System gespeichert.<br>
|
||||||
Sie haben die identische Anfrage schon in den letzten sieben Tagen eingereicht.<br>
|
Sie haben die identische Anfrage schon in den letzten sieben Tagen eingereicht.<br>
|
||||||
Bitte warten Sie auf die Verarbeitung Ihrer Anfrage.<br><br>";
|
Bitte warten Sie auf die Verarbeitung Ihrer Anfrage.<br><br>";
|
||||||
echo "<form action='index.php' method='POST'>
|
echo "<form action='index.php' method='POST'>
|
||||||
<input type='submit' class='btn btn-primary' value='Zum Hauptmenü'>
|
<input type='submit' class='btn btn-primary' value='Zum Hauptmenü'>
|
||||||
</form>";
|
</form>";
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$hash = bin2hex(random_bytes(16));
|
$hash = bin2hex(random_bytes(16));
|
||||||
$ordnungsid = ($mode === 'rezept') ? 1 : 2;
|
$ordnungsid = ($mode === 'rezept') ? 1 : 2;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$anfrageid = insertAnfrage($pdo, [
|
$anfrageid = insertAnfrage($pdo, [
|
||||||
'person_id' => $requester_person_id,
|
'person_id' => $requester_person_id,
|
||||||
'anforderungart' => $anforderungart,
|
'anforderungart' => $anforderungart,
|
||||||
'med1' => $med[1],
|
'med1' => $med[1],
|
||||||
'med2' => $med[2],
|
'med2' => $med[2],
|
||||||
'med3' => $med[3],
|
'med3' => $med[3],
|
||||||
'med4' => $med[4],
|
'med4' => $med[4],
|
||||||
'med5' => $med[5],
|
'med5' => $med[5],
|
||||||
'med6' => $med[6],
|
'med6' => $med[6],
|
||||||
'nachricht' => $nachricht,
|
'nachricht' => $nachricht,
|
||||||
'hash' => $hash,
|
'hash' => $hash,
|
||||||
'ordnungsid' => $ordnungsid,
|
'ordnungsid' => $ordnungsid,
|
||||||
'abholort' => $abholungnr,
|
'abholort' => $abholungnr,
|
||||||
'sicherenachricht' => 1,
|
'sicherenachricht' => 1,
|
||||||
'checked' => 1,
|
'checked' => 1,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$templateId = ($mode === 'rezept') ? 26 : 19;
|
$templateId = ($mode === 'rezept') ? 26 : 19;
|
||||||
|
|
||||||
// IMPORTANT: Your SendMailMessageVorlage() must accept PDO after your migration.
|
// IMPORTANT: Your SendMailMessageVorlage() must accept PDO after your migration.
|
||||||
SendMailMessageVorlage($pdo, "3", $anfrageid, (string)$templateId);
|
SendMailMessageVorlage($pdo, "3", $anfrageid, (string)$templateId);
|
||||||
|
|
||||||
echo "<h3>Nachricht abgeschickt!</h3><br>Sie bekommen eine Bestätigung per E-Mail!<br>
|
echo "<h3>Nachricht abgeschickt!</h3><br>Sie bekommen eine Bestätigung per E-Mail!<br>
|
||||||
Überprüfen Sie auch Ihren Spam-Filter!<br><br>";
|
Überprüfen Sie auch Ihren Spam-Filter!<br><br>";
|
||||||
|
|
||||||
} catch (Throwable $t) {
|
} catch (Throwable $t) {
|
||||||
echo "<h3>Speicherung nicht erfolgreich</h3><br>Ihre Anfrage konnte nicht gespeichert werden.<br>";
|
echo "<h3>Speicherung nicht erfolgreich</h3><br>Ihre Anfrage konnte nicht gespeichert werden.<br>";
|
||||||
echo "<div class='alert alert-danger'>Fehler: " . e($t->getMessage()) . "</div>";
|
echo "<div class='alert alert-danger'>Fehler: " . e($t->getMessage()) . "</div>";
|
||||||
}
|
}
|
||||||
|
|
||||||
echo "<br><br><br><form action='index.php' method='POST'>
|
echo "<br><br><br><form action='index.php' method='POST'>
|
||||||
<input type='submit' class='btn btn-primary' value='Zum Hauptmenü'>
|
<input type='submit' class='btn btn-primary' value='Zum Hauptmenü'>
|
||||||
</form>";
|
</form>";
|
||||||
|
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// fallback
|
// fallback
|
||||||
echo "<div class='alert alert-warning'>Unbekannte Aktion.</div>";
|
echo "<div class='alert alert-warning'>Unbekannte Aktion.</div>";
|
||||||
echo "</div></div>";
|
echo "</div></div>";
|
||||||
include(__DIR__ . "/templates/footer.inc.php");
|
include(__DIR__ . "/templates/footer.inc.php");
|
||||||
|
|||||||
+111
-111
@@ -1,111 +1,111 @@
|
|||||||
<?php
|
<?php
|
||||||
ob_start();
|
ob_start();
|
||||||
session_start();
|
session_start();
|
||||||
require_once(__DIR__ . "/../inc/config.inc.php");
|
require_once(__DIR__ . "/../inc/config.inc.php");
|
||||||
require_once(__DIR__ . "/../inc/functions.inc.php");
|
require_once(__DIR__ . "/../inc/functions.inc.php");
|
||||||
|
|
||||||
|
|
||||||
/* ---------- Kein direkter Zugriff ---------- */
|
/* ---------- Kein direkter Zugriff ---------- */
|
||||||
if (empty($_SESSION['2fa_userid'])) {
|
if (empty($_SESSION['2fa_userid'])) {
|
||||||
header('Location: login.php');
|
header('Location: login.php');
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$error_msg = '';
|
$error_msg = '';
|
||||||
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST['code'])) {
|
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST['code'])) {
|
||||||
|
|
||||||
$userId = (int)$_SESSION['2fa_userid'];
|
$userId = (int)$_SESSION['2fa_userid'];
|
||||||
$codeHash = hash('sha256', $_POST['code']);
|
$codeHash = hash('sha256', $_POST['code']);
|
||||||
|
|
||||||
// 2FA-Code prüfen
|
// 2FA-Code prüfen
|
||||||
$stmt = $pdo->prepare("
|
$stmt = $pdo->prepare("
|
||||||
SELECT id
|
SELECT id
|
||||||
FROM intern_2fa_codes
|
FROM intern_2fa_codes
|
||||||
WHERE user_id = :uid
|
WHERE user_id = :uid
|
||||||
AND code = :code
|
AND code = :code
|
||||||
AND expires_at > NOW()
|
AND expires_at > NOW()
|
||||||
LIMIT 1
|
LIMIT 1
|
||||||
");
|
");
|
||||||
$stmt->execute([
|
$stmt->execute([
|
||||||
'uid' => $userId,
|
'uid' => $userId,
|
||||||
'code' => $codeHash
|
'code' => $codeHash
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
$row = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
if ($row) {
|
if ($row) {
|
||||||
|
|
||||||
// Code löschen (Einmalverwendung)
|
// Code löschen (Einmalverwendung)
|
||||||
$pdo->prepare("DELETE FROM intern_2fa_codes WHERE user_id = :uid")
|
$pdo->prepare("DELETE FROM intern_2fa_codes WHERE user_id = :uid")
|
||||||
->execute(['uid' => $userId]);
|
->execute(['uid' => $userId]);
|
||||||
|
|
||||||
session_regenerate_id(true);
|
session_regenerate_id(true);
|
||||||
|
|
||||||
$_SESSION['userid'] = $userId;
|
$_SESSION['userid'] = $userId;
|
||||||
$_SESSION['2fa_verified'] = true;
|
$_SESSION['2fa_verified'] = true;
|
||||||
unset($_SESSION['2fa_userid']);
|
unset($_SESSION['2fa_userid']);
|
||||||
|
|
||||||
/* ---------- Gerät merken ---------- */
|
/* ---------- Gerät merken ---------- */
|
||||||
if (!empty($_POST['remember_device'])) {
|
if (!empty($_POST['remember_device'])) {
|
||||||
|
|
||||||
$identifier = bin2hex(random_bytes(32));
|
$identifier = bin2hex(random_bytes(32));
|
||||||
$token = bin2hex(random_bytes(32));
|
$token = bin2hex(random_bytes(32));
|
||||||
|
|
||||||
$pdo->prepare("
|
$pdo->prepare("
|
||||||
INSERT INTO intern_securitytokens
|
INSERT INTO intern_securitytokens
|
||||||
(user_id, identifier, securitytoken, expires_at)
|
(user_id, identifier, securitytoken, expires_at)
|
||||||
VALUES (:uid, :identifier, :token, :expires)
|
VALUES (:uid, :identifier, :token, :expires)
|
||||||
")->execute([
|
")->execute([
|
||||||
'uid' => $userId,
|
'uid' => $userId,
|
||||||
'identifier' => $identifier,
|
'identifier' => $identifier,
|
||||||
'token' => hash('sha256', $token),
|
'token' => hash('sha256', $token),
|
||||||
'expires' => date('Y-m-d H:i:s', time() + 30 * 24 * 3600)
|
'expires' => date('Y-m-d H:i:s', time() + 30 * 24 * 3600)
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$opts = [
|
$opts = [
|
||||||
'expires' => time() + 30 * 24 * 3600,
|
'expires' => time() + 30 * 24 * 3600,
|
||||||
'path' => '/',
|
'path' => '/',
|
||||||
'secure' => true,
|
'secure' => true,
|
||||||
'httponly' => true,
|
'httponly' => true,
|
||||||
'samesite' => 'Lax'
|
'samesite' => 'Lax'
|
||||||
];
|
];
|
||||||
|
|
||||||
setcookie('remember_device', $identifier, $opts);
|
setcookie('remember_device', $identifier, $opts);
|
||||||
setcookie('remember_device_token', $token, $opts);
|
setcookie('remember_device_token', $token, $opts);
|
||||||
}
|
}
|
||||||
|
|
||||||
header('Location: index.php');
|
header('Location: index.php');
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$error_msg = 'Falscher oder abgelaufener Code.';
|
$error_msg = 'Falscher oder abgelaufener Code.';
|
||||||
}
|
}
|
||||||
|
|
||||||
include("templates/header.inc.php");
|
include("templates/header.inc.php");
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="container small-container-330 form-signin">
|
<div class="container small-container-330 form-signin">
|
||||||
<form action="verify_2fa.php" method="post">
|
<form action="verify_2fa.php" method="post">
|
||||||
<h2 class="form-signin-heading">Zwei-Faktor-Authentifizierung</h2>
|
<h2 class="form-signin-heading">Zwei-Faktor-Authentifizierung</h2>
|
||||||
|
|
||||||
<p>Die Praxis Creutzburg sichert diesen Zugang mit einer Zwei-Faktor-Authentifizierung ab.<br>
|
<p>Die Praxis Creutzburg sichert diesen Zugang mit einer Zwei-Faktor-Authentifizierung ab.<br>
|
||||||
Sie benötigt neben Ihren Passwort auch den zweiten Faktor: eine zufällig generierte Nummer, die an Ihre E-Mail-Adresse versendet wurde.<br>
|
Sie benötigt neben Ihren Passwort auch den zweiten Faktor: eine zufällig generierte Nummer, die an Ihre E-Mail-Adresse versendet wurde.<br>
|
||||||
Der zweite Faktor ist 5 Minuten gültig.<br>
|
Der zweite Faktor ist 5 Minuten gültig.<br>
|
||||||
Prüfen Sie bitte jetzt Ihr Postfach und auch Ihren Spam-Ordner auf eine E-Mail von uns und geben Sie hier die sechsstellige Nummer ein.<br></p>
|
Prüfen Sie bitte jetzt Ihr Postfach und auch Ihren Spam-Ordner auf eine E-Mail von uns und geben Sie hier die sechsstellige Nummer ein.<br></p>
|
||||||
|
|
||||||
<?php if(!empty($error_msg)) echo $error_msg; ?>
|
<?php if(!empty($error_msg)) echo $error_msg; ?>
|
||||||
<label for="inputCode">6-stelliger Code</label>
|
<label for="inputCode">6-stelliger Code</label>
|
||||||
<input type="text" name="code" class="form-control" placeholder="Code eingeben" required>
|
<input type="text" name="code" class="form-control" placeholder="Code eingeben" required>
|
||||||
<br>
|
<br>
|
||||||
<div class="checkbox">
|
<div class="checkbox">
|
||||||
<label>
|
<label>
|
||||||
<input type="checkbox" name="remember_device" value="1"> Dieses Gerät für 30 Tage merken
|
<input type="checkbox" name="remember_device" value="1"> Dieses Gerät für 30 Tage merken
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<button class="btn btn-lg btn-primary btn-block" type="submit">Bestätigen</button>
|
<button class="btn btn-lg btn-primary btn-block" type="submit">Bestätigen</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include("templates/footer.inc.php"); ?>
|
<?php include("templates/footer.inc.php"); ?>
|
||||||
|
|||||||
+208
-208
@@ -1,209 +1,209 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Stellenangebote</title>
|
<title>Praxis Creutzburg - Stellenangebote</title>
|
||||||
<!-- Meta Pixel Code -->
|
<!-- Meta Pixel Code -->
|
||||||
<script>
|
<script>
|
||||||
!function(f,b,e,v,n,t,s)
|
!function(f,b,e,v,n,t,s)
|
||||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||||
'https://connect.facebook.net/en_US/fbevents.js');
|
'https://connect.facebook.net/en_US/fbevents.js');
|
||||||
fbq('init', '1304867248096206');
|
fbq('init', '1304867248096206');
|
||||||
fbq('track', 'PageView');
|
fbq('track', 'PageView');
|
||||||
</script>
|
</script>
|
||||||
<noscript><img height="1" width="1" style="display:none"
|
<noscript><img height="1" width="1" style="display:none"
|
||||||
src="https://www.facebook.com/tr?id=1304867248096206&ev=PageView&noscript=1"
|
src="https://www.facebook.com/tr?id=1304867248096206&ev=PageView&noscript=1"
|
||||||
/></noscript>
|
/></noscript>
|
||||||
<!-- End Meta Pixel Code -->
|
<!-- End Meta Pixel Code -->
|
||||||
<!--
|
<!--
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org/",
|
"@context": "https://schema.org/",
|
||||||
"@type": "JobPosting",
|
"@type": "JobPosting",
|
||||||
"title": "Auszubildende/r zur Medizinischen Fachangestellten (MFA) (m/w/d)",
|
"title": "Auszubildende/r zur Medizinischen Fachangestellten (MFA) (m/w/d)",
|
||||||
"description": "Starte deine Karriere in unserer modernen Praxis! Bist du kommunikativ, hilfsbereit und interessierst dich für den medizinischen Bereich? Dann bist du bei uns genau richtig! Die Praxis Creutzburg bietet dir die Möglichkeit, eine abwechslungsreiche und spannende Ausbildung zur Medizinischen Fachangestellten (MFA) zu beginnen. Aufgaben: Assistenz bei Untersuchungen und Behandlungen, Patientenbetreuung und -beratung, Praxishygiene, Unterstützung bei Diagnostik und Therapie, Verwaltung und Abrechnung, Notfallmaßnahmen, Datenschutz. Wir bieten: fundierte Ausbildung, freundliches Team, moderne Ausstattung, Weiterbildungsmöglichkeiten, Unterstützung bei Führerschein und Studium.",
|
"description": "Starte deine Karriere in unserer modernen Praxis! Bist du kommunikativ, hilfsbereit und interessierst dich für den medizinischen Bereich? Dann bist du bei uns genau richtig! Die Praxis Creutzburg bietet dir die Möglichkeit, eine abwechslungsreiche und spannende Ausbildung zur Medizinischen Fachangestellten (MFA) zu beginnen. Aufgaben: Assistenz bei Untersuchungen und Behandlungen, Patientenbetreuung und -beratung, Praxishygiene, Unterstützung bei Diagnostik und Therapie, Verwaltung und Abrechnung, Notfallmaßnahmen, Datenschutz. Wir bieten: fundierte Ausbildung, freundliches Team, moderne Ausstattung, Weiterbildungsmöglichkeiten, Unterstützung bei Führerschein und Studium.",
|
||||||
"datePosted": "2025-08-26",
|
"datePosted": "2025-08-26",
|
||||||
"validThrough": "2025-12-31T23:59",
|
"validThrough": "2025-12-31T23:59",
|
||||||
"employmentType": "FULL_TIME",
|
"employmentType": "FULL_TIME",
|
||||||
"hiringOrganization": {
|
"hiringOrganization": {
|
||||||
"@type": "Organization",
|
"@type": "Organization",
|
||||||
"name": "Praxis Creutzburg",
|
"name": "Praxis Creutzburg",
|
||||||
"sameAs": "https://www.praxis-creutzburg.de",
|
"sameAs": "https://www.praxis-creutzburg.de",
|
||||||
"logo": "https://praxis-creutzburg.de/images/logo-arzt-creutzburg-coppen.gif"
|
"logo": "https://praxis-creutzburg.de/images/logo-arzt-creutzburg-coppen.gif"
|
||||||
},
|
},
|
||||||
"jobLocation": {
|
"jobLocation": {
|
||||||
"@type": "Place",
|
"@type": "Place",
|
||||||
"address": {
|
"address": {
|
||||||
"@type": "PostalAddress",
|
"@type": "PostalAddress",
|
||||||
"streetAddress": "Schlossstraße 18",
|
"streetAddress": "Schlossstraße 18",
|
||||||
"addressLocality": "Coppenbrügge",
|
"addressLocality": "Coppenbrügge",
|
||||||
"postalCode": "31863",
|
"postalCode": "31863",
|
||||||
"addressCountry": "DE"
|
"addressCountry": "DE"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"applicantLocationRequirements": {
|
"applicantLocationRequirements": {
|
||||||
"@type": "Country",
|
"@type": "Country",
|
||||||
"name": "DE"
|
"name": "DE"
|
||||||
},
|
},
|
||||||
"educationRequirements": {
|
"educationRequirements": {
|
||||||
"@type": "EducationalOccupationalCredential",
|
"@type": "EducationalOccupationalCredential",
|
||||||
"credentialCategory": "secondary",
|
"credentialCategory": "secondary",
|
||||||
"description": "Mindestens Realschulabschluss oder sehr guter Hauptschulabschluss"
|
"description": "Mindestens Realschulabschluss oder sehr guter Hauptschulabschluss"
|
||||||
},
|
},
|
||||||
"qualifications": "Kommunikative Fähigkeiten, Verschwiegenheit, Kundenorientierung, Belastbarkeit, Teamfähigkeit, Interesse an medizinischen Themen.",
|
"qualifications": "Kommunikative Fähigkeiten, Verschwiegenheit, Kundenorientierung, Belastbarkeit, Teamfähigkeit, Interesse an medizinischen Themen.",
|
||||||
"incentiveCompensation": "Faire Vergütung, Weiterbildungsmöglichkeiten (z. B. VERAH), Unterstützung bei Führerschein und Studium.",
|
"incentiveCompensation": "Faire Vergütung, Weiterbildungsmöglichkeiten (z. B. VERAH), Unterstützung bei Führerschein und Studium.",
|
||||||
"industry": "Gesundheitswesen",
|
"industry": "Gesundheitswesen",
|
||||||
"occupationalCategory": "3220",
|
"occupationalCategory": "3220",
|
||||||
"experienceRequirements": "Keine Berufserfahrung erforderlich – Ausbildungsstelle.",
|
"experienceRequirements": "Keine Berufserfahrung erforderlich – Ausbildungsstelle.",
|
||||||
"jobBenefits": [
|
"jobBenefits": [
|
||||||
"Abwechslungsreiche Ausbildung",
|
"Abwechslungsreiche Ausbildung",
|
||||||
"Einblick in alle Bereiche einer Hausarztpraxis",
|
"Einblick in alle Bereiche einer Hausarztpraxis",
|
||||||
"Engagiertes und freundliches Team",
|
"Engagiertes und freundliches Team",
|
||||||
"Aktuelle IT-Ausstattung",
|
"Aktuelle IT-Ausstattung",
|
||||||
"Flache Hierarchien",
|
"Flache Hierarchien",
|
||||||
"Unterstützung bei Führerschein und Studium"
|
"Unterstützung bei Führerschein und Studium"
|
||||||
],
|
],
|
||||||
"applicationContact": {
|
"applicationContact": {
|
||||||
"@type": "ContactPoint",
|
"@type": "ContactPoint",
|
||||||
"name": "Dalia Alayan-Ibrahim",
|
"name": "Dalia Alayan-Ibrahim",
|
||||||
"email": "alayan@praxis-creutzburg.de",
|
"email": "alayan@praxis-creutzburg.de",
|
||||||
"contactType": "Bewerbung"
|
"contactType": "Bewerbung"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="skel-layers-fixed">
|
<header id="header" class="skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include("inc/config.inc.php");
|
include("inc/config.inc.php");
|
||||||
include("inc/functions.inc.php");
|
include("inc/functions.inc.php");
|
||||||
include('inc/functions.impfen.inc.php');
|
include('inc/functions.impfen.inc.php');
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<!--
|
<!--
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<?php
|
<?php
|
||||||
echo showHeaderpraxis();
|
echo showHeaderpraxis();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<section class="box">
|
<section class="box">
|
||||||
<h2>Auszubildende/r zur Medizinischen Fachangestellten (MFA) (m/w/d)</h2>
|
<h2>Auszubildende/r zur Medizinischen Fachangestellten (MFA) (m/w/d)</h2>
|
||||||
|
|
||||||
<h3>Starte deine Karriere in unserer modernen Praxis!</h3>
|
<h3>Starte deine Karriere in unserer modernen Praxis!</h3>
|
||||||
<p>Bist du kommunikativ, hilfsbereit und interessierst dich für den medizinischen Bereich? Dann bist du bei uns genau richtig! Die Praxis Creutzburg bietet dir die Möglichkeit, eine abwechslungsreiche und spannende Ausbildung zur Medizinischen Fachangestellten (MFA) zu beginnen. Wir legen großen Wert auf Teamarbeit, eine freundliche Atmosphäre und moderne Arbeitsbedingungen.</p>
|
<p>Bist du kommunikativ, hilfsbereit und interessierst dich für den medizinischen Bereich? Dann bist du bei uns genau richtig! Die Praxis Creutzburg bietet dir die Möglichkeit, eine abwechslungsreiche und spannende Ausbildung zur Medizinischen Fachangestellten (MFA) zu beginnen. Wir legen großen Wert auf Teamarbeit, eine freundliche Atmosphäre und moderne Arbeitsbedingungen.</p>
|
||||||
<p>Werde Teil eines motivierten Teams und profitiere von unserer langjährigen Erfahrung in der Ausbildung. Wir begleiten dich auf deinem Weg zum Erfolg und bieten dir beste Voraussetzungen für deine berufliche Zukunft.</p>
|
<p>Werde Teil eines motivierten Teams und profitiere von unserer langjährigen Erfahrung in der Ausbildung. Wir begleiten dich auf deinem Weg zum Erfolg und bieten dir beste Voraussetzungen für deine berufliche Zukunft.</p>
|
||||||
|
|
||||||
<h2>Wir suchen dich!</h2>
|
<h2>Wir suchen dich!</h2>
|
||||||
<p>Wir suchen zu <strong>sofort</strong> eine/n motivierte/n Auszubildende/n zur Verstärkung unseres Praxisteams.</p>
|
<p>Wir suchen zu <strong>sofort</strong> eine/n motivierte/n Auszubildende/n zur Verstärkung unseres Praxisteams.</p>
|
||||||
|
|
||||||
<h3>Deine Aufgaben:</h3>
|
<h3>Deine Aufgaben:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Assistenz bei Untersuchungen und Behandlungen</li>
|
<li>Assistenz bei Untersuchungen und Behandlungen</li>
|
||||||
<li>Patientenbetreuung und -beratung</li>
|
<li>Patientenbetreuung und -beratung</li>
|
||||||
<li>Gesundheitsschutz und Maßnahmen zur Arbeits- und Praxishygiene</li>
|
<li>Gesundheitsschutz und Maßnahmen zur Arbeits- und Praxishygiene</li>
|
||||||
<li>Gesetzliche und vertragliche Vorgaben der medizinischen Versorgung einhalten</li>
|
<li>Gesetzliche und vertragliche Vorgaben der medizinischen Versorgung einhalten</li>
|
||||||
<li>Assistenz bei Diagnostik und Therapie</li>
|
<li>Assistenz bei Diagnostik und Therapie</li>
|
||||||
<li>Umgang mit Arzneimitteln, Injektionen und Infusionen</li>
|
<li>Umgang mit Arzneimitteln, Injektionen und Infusionen</li>
|
||||||
<li>Planung und Umsetzung von Präventions- und Rehabilitationsmaßnahmen</li>
|
<li>Planung und Umsetzung von Präventions- und Rehabilitationsmaßnahmen</li>
|
||||||
<li>Betriebsorganisation, Verwaltung und Abrechnung durchführen</li>
|
<li>Betriebsorganisation, Verwaltung und Abrechnung durchführen</li>
|
||||||
<li>Qualitätsmanagement und Dokumentationen sicherstellen</li>
|
<li>Qualitätsmanagement und Dokumentationen sicherstellen</li>
|
||||||
<li>Schriftverkehr und organisatorische Aufgaben übernehmen</li>
|
<li>Schriftverkehr und organisatorische Aufgaben übernehmen</li>
|
||||||
<li>Notfallmaßnahmen einleiten und begleiten</li>
|
<li>Notfallmaßnahmen einleiten und begleiten</li>
|
||||||
<li>Datenschutz und Datensicherheit gewährleisten</li>
|
<li>Datenschutz und Datensicherheit gewährleisten</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h3>Dein Profil:</h3>
|
<h3>Dein Profil:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Mindestens einen Realschulabschluss oder sehr guten Hauptschulabschluss</li>
|
<li>Mindestens einen Realschulabschluss oder sehr guten Hauptschulabschluss</li>
|
||||||
<li>Ausgeprägte kommunikative Fähigkeiten und ein hohes Maß an Verschwiegenheit</li>
|
<li>Ausgeprägte kommunikative Fähigkeiten und ein hohes Maß an Verschwiegenheit</li>
|
||||||
<li>Kundenorientierung und ein sicheres Auftreten</li>
|
<li>Kundenorientierung und ein sicheres Auftreten</li>
|
||||||
<li>Belastbarkeit und exaktes Arbeiten auch unter Druck</li>
|
<li>Belastbarkeit und exaktes Arbeiten auch unter Druck</li>
|
||||||
<li>Selbstständigkeit und Teamfähigkeit</li>
|
<li>Selbstständigkeit und Teamfähigkeit</li>
|
||||||
<li>Interesse an medizinischen Themen und Organisation</li>
|
<li>Interesse an medizinischen Themen und Organisation</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h3>Wir bieten:</h3>
|
<h3>Wir bieten:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Eine fundierte und abwechslungsreiche Ausbildung</li>
|
<li>Eine fundierte und abwechslungsreiche Ausbildung</li>
|
||||||
<li>Einblick in alle Bereiche einer ländlichen Hausarztpraxis</li>
|
<li>Einblick in alle Bereiche einer ländlichen Hausarztpraxis</li>
|
||||||
<li>Ein engagiertes und freundliches Team</li>
|
<li>Ein engagiertes und freundliches Team</li>
|
||||||
<li>Aktuelle IT-Ausstattung inklusive Telefonanlage</li>
|
<li>Aktuelle IT-Ausstattung inklusive Telefonanlage</li>
|
||||||
<li>Flache Hierarchien und offene Kommunikation</li>
|
<li>Flache Hierarchien und offene Kommunikation</li>
|
||||||
<li>Faire Vergütung und Vertrauensarbeitszeit</li>
|
<li>Faire Vergütung und Vertrauensarbeitszeit</li>
|
||||||
<li>Weiterbildungsmöglichkeiten z.B. VERAH</li>
|
<li>Weiterbildungsmöglichkeiten z.B. VERAH</li>
|
||||||
<li>Unterstützung bei einem Führerschein</li>
|
<li>Unterstützung bei einem Führerschein</li>
|
||||||
<li>Unterstützung bei einem ausbildungsbegleitendem Studium </li>
|
<li>Unterstützung bei einem ausbildungsbegleitendem Studium </li>
|
||||||
<li>Raum für patientenorientiere Lösungen, wie z.B. <a href="https://www.dewezet.de/lokales/hameln-pyrmont/hameln/sumpfblume-impfen-bis-die-nadel-glueht-D27ZAZAAF52AY2FFA4365B44YA.html" target="_blank">bei unseren Impfaktionen</a></li>
|
<li>Raum für patientenorientiere Lösungen, wie z.B. <a href="https://www.dewezet.de/lokales/hameln-pyrmont/hameln/sumpfblume-impfen-bis-die-nadel-glueht-D27ZAZAAF52AY2FFA4365B44YA.html" target="_blank">bei unseren Impfaktionen</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Fragen:</h3>
|
<h3>Fragen:</h3>
|
||||||
<p>Du hast grundsätzlich Fragen oder etwas ist unklar?<br>
|
<p>Du hast grundsätzlich Fragen oder etwas ist unklar?<br>
|
||||||
Telefonisch kannst du uns eine Nachricht auf unserem Anrufbeantworter hinterlassen. <br>Unser Praxisteam ruft dich schnellstmöglich zurück.<br>
|
Telefonisch kannst du uns eine Nachricht auf unserem Anrufbeantworter hinterlassen. <br>Unser Praxisteam ruft dich schnellstmöglich zurück.<br>
|
||||||
Per Mail wende dich bitte an Dalia Alayan-Ibrahim <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a><br>
|
Per Mail wende dich bitte an Dalia Alayan-Ibrahim <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a><br>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<section class="box" style="border-left:4px solid #2e7; background:#f7fff9;">
|
<section class="box" style="border-left:4px solid #2e7; background:#f7fff9;">
|
||||||
<h3 style="margin-bottom:.4rem;">Onlinebewerbung</h3>
|
<h3 style="margin-bottom:.4rem;">Onlinebewerbung</h3>
|
||||||
<p style="margin:0 0 .8rem 0;">
|
<p style="margin:0 0 .8rem 0;">
|
||||||
Bei uns kannst du dich <strong>einfach und schnell</strong> online bewerben! Die Bewerbung dauert 1-2 Minuten.
|
Bei uns kannst du dich <strong>einfach und schnell</strong> online bewerben! Die Bewerbung dauert 1-2 Minuten.
|
||||||
</p>
|
</p>
|
||||||
<ul class="actions">
|
<ul class="actions">
|
||||||
<li><a href="kurzbewerbung.php" class="button">Onlinebewerbung</a></li>
|
<li><a href="kurzbewerbung.php" class="button">Onlinebewerbung</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<h3>Bewerbung:</h3>
|
<h3>Bewerbung:</h3>
|
||||||
<p>Bitte sende deine vollständigen Bewerbungsunterlagen an:</p>
|
<p>Bitte sende deine vollständigen Bewerbungsunterlagen an:</p>
|
||||||
<p><strong>Praxis Creutzburg</strong><br>
|
<p><strong>Praxis Creutzburg</strong><br>
|
||||||
z.H. Dalia Alayan-Ibrahim<br>
|
z.H. Dalia Alayan-Ibrahim<br>
|
||||||
Schlossstraße 18<br>
|
Schlossstraße 18<br>
|
||||||
31863 Coppenbrügge<br>
|
31863 Coppenbrügge<br>
|
||||||
E-Mail: <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a></p>
|
E-Mail: <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a></p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form action="stellenangebote.php" method=POST>
|
<form action="stellenangebote.php" method=POST>
|
||||||
<input type=submit class=button value="Zu den Stellenangeboten">
|
<input type=submit class=button value="Zu den Stellenangeboten">
|
||||||
</form>
|
</form>
|
||||||
</section>
|
</section>
|
||||||
-->
|
-->
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?></body>
|
?></body>
|
||||||
</html>
|
</html>
|
||||||
+216
-216
@@ -1,217 +1,217 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Stellenangebote</title>
|
<title>Praxis Creutzburg - Stellenangebote</title>
|
||||||
<!-- Meta Pixel Code -->
|
<!-- Meta Pixel Code -->
|
||||||
<script>
|
<script>
|
||||||
!function(f,b,e,v,n,t,s)
|
!function(f,b,e,v,n,t,s)
|
||||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||||
'https://connect.facebook.net/en_US/fbevents.js');
|
'https://connect.facebook.net/en_US/fbevents.js');
|
||||||
fbq('init', '1304867248096206');
|
fbq('init', '1304867248096206');
|
||||||
fbq('track', 'PageView');
|
fbq('track', 'PageView');
|
||||||
</script>
|
</script>
|
||||||
<noscript><img height="1" width="1" style="display:none"
|
<noscript><img height="1" width="1" style="display:none"
|
||||||
src="https://www.facebook.com/tr?id=1304867248096206&ev=PageView&noscript=1"
|
src="https://www.facebook.com/tr?id=1304867248096206&ev=PageView&noscript=1"
|
||||||
/></noscript>
|
/></noscript>
|
||||||
<!-- End Meta Pixel Code -->
|
<!-- End Meta Pixel Code -->
|
||||||
<!--
|
<!--
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://schema.org/",
|
"@context": "https://schema.org/",
|
||||||
"@type": "JobPosting",
|
"@type": "JobPosting",
|
||||||
"title": "Medizinische Fachangestellte (MFA) in Teilzeit (m/w/d)",
|
"title": "Medizinische Fachangestellte (MFA) in Teilzeit (m/w/d)",
|
||||||
"description": "Zur Verstärkung unseres Teams suchen wir ab sofort eine Medizinische Fachangestellte (MFA) in Teilzeit mit ca. 20 Stunden pro Woche. Aufgaben: Assistenz bei Untersuchungen und Behandlungen, Patientenbetreuung und -beratung, Praxishygiene, Assistenz bei Diagnostik und Therapie, Umgang mit Arzneimitteln, Injektionen und Infusionen, Organisation und Abrechnung, Notfallmaßnahmen, Datenschutz. Dein Profil: Abgeschlossene Ausbildung als MFA, Teilzeitverfügbarkeit (20 Std./Woche), professionelles Auftreten, Teamgeist, Verschwiegenheit, Laborerfahrung und EDV-Kenntnisse von Vorteil. Wir bieten: Abwechslungsreiche Tätigkeit, modernes Arbeitsumfeld, flache Hierarchien, strukturierte Praxisprozesse, papierlose Patientenakte, Online-Systeme, Weiterbildungsmöglichkeiten (z.B. VERAH), tarifnahe Vergütung, Unterstützung bei Studium, patientenorientierte Lösungen.",
|
"description": "Zur Verstärkung unseres Teams suchen wir ab sofort eine Medizinische Fachangestellte (MFA) in Teilzeit mit ca. 20 Stunden pro Woche. Aufgaben: Assistenz bei Untersuchungen und Behandlungen, Patientenbetreuung und -beratung, Praxishygiene, Assistenz bei Diagnostik und Therapie, Umgang mit Arzneimitteln, Injektionen und Infusionen, Organisation und Abrechnung, Notfallmaßnahmen, Datenschutz. Dein Profil: Abgeschlossene Ausbildung als MFA, Teilzeitverfügbarkeit (20 Std./Woche), professionelles Auftreten, Teamgeist, Verschwiegenheit, Laborerfahrung und EDV-Kenntnisse von Vorteil. Wir bieten: Abwechslungsreiche Tätigkeit, modernes Arbeitsumfeld, flache Hierarchien, strukturierte Praxisprozesse, papierlose Patientenakte, Online-Systeme, Weiterbildungsmöglichkeiten (z.B. VERAH), tarifnahe Vergütung, Unterstützung bei Studium, patientenorientierte Lösungen.",
|
||||||
"datePosted": "2025-08-26",
|
"datePosted": "2025-08-26",
|
||||||
"validThrough": "2025-12-31T23:59",
|
"validThrough": "2025-12-31T23:59",
|
||||||
"employmentType": "PART_TIME",
|
"employmentType": "PART_TIME",
|
||||||
"hiringOrganization": {
|
"hiringOrganization": {
|
||||||
"@type": "Organization",
|
"@type": "Organization",
|
||||||
"name": "Praxis Creutzburg",
|
"name": "Praxis Creutzburg",
|
||||||
"sameAs": "https://www.praxis-creutzburg.de",
|
"sameAs": "https://www.praxis-creutzburg.de",
|
||||||
"logo": "https://www.praxis-creutzburg.de/logo.png"
|
"logo": "https://www.praxis-creutzburg.de/logo.png"
|
||||||
},
|
},
|
||||||
"jobLocation": {
|
"jobLocation": {
|
||||||
"@type": "Place",
|
"@type": "Place",
|
||||||
"address": {
|
"address": {
|
||||||
"@type": "PostalAddress",
|
"@type": "PostalAddress",
|
||||||
"streetAddress": "Schlossstraße 18",
|
"streetAddress": "Schlossstraße 18",
|
||||||
"addressLocality": "Coppenbrügge",
|
"addressLocality": "Coppenbrügge",
|
||||||
"postalCode": "31863",
|
"postalCode": "31863",
|
||||||
"addressCountry": "DE"
|
"addressCountry": "DE"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"applicantLocationRequirements": {
|
"applicantLocationRequirements": {
|
||||||
"@type": "Country",
|
"@type": "Country",
|
||||||
"name": "DE"
|
"name": "DE"
|
||||||
},
|
},
|
||||||
"educationRequirements": {
|
"educationRequirements": {
|
||||||
"@type": "EducationalOccupationalCredential",
|
"@type": "EducationalOccupationalCredential",
|
||||||
"credentialCategory": "vocational",
|
"credentialCategory": "vocational",
|
||||||
"description": "Abgeschlossene Ausbildung als Medizinische Fachangestellte (MFA)"
|
"description": "Abgeschlossene Ausbildung als Medizinische Fachangestellte (MFA)"
|
||||||
},
|
},
|
||||||
"qualifications": "Abgeschlossene MFA-Ausbildung, Teilzeitverfügbarkeit (20 Std./Woche), freundliches Auftreten, Teamgeist, Verschwiegenheit, Laborerfahrung und EDV-Kenntnisse von Vorteil.",
|
"qualifications": "Abgeschlossene MFA-Ausbildung, Teilzeitverfügbarkeit (20 Std./Woche), freundliches Auftreten, Teamgeist, Verschwiegenheit, Laborerfahrung und EDV-Kenntnisse von Vorteil.",
|
||||||
"incentiveCompensation": "An den Tarif angelehnte Vergütung, Weiterbildungsmöglichkeiten (z.B. VERAH), Unterstützung bei Studium.",
|
"incentiveCompensation": "An den Tarif angelehnte Vergütung, Weiterbildungsmöglichkeiten (z.B. VERAH), Unterstützung bei Studium.",
|
||||||
"industry": "Gesundheitswesen",
|
"industry": "Gesundheitswesen",
|
||||||
"occupationalCategory": "3256",
|
"occupationalCategory": "3256",
|
||||||
"experienceRequirements": "Berufserfahrung als Medizinische Fachangestellte wünschenswert.",
|
"experienceRequirements": "Berufserfahrung als Medizinische Fachangestellte wünschenswert.",
|
||||||
"jobBenefits": [
|
"jobBenefits": [
|
||||||
"Abwechslungsreiche Tätigkeit",
|
"Abwechslungsreiche Tätigkeit",
|
||||||
"Modernes Arbeitsumfeld",
|
"Modernes Arbeitsumfeld",
|
||||||
"Flache Hierarchien",
|
"Flache Hierarchien",
|
||||||
"Strukturierte Praxisprozesse",
|
"Strukturierte Praxisprozesse",
|
||||||
"Papierlose Patientenakte & Online-Systeme",
|
"Papierlose Patientenakte & Online-Systeme",
|
||||||
"Flexible Arbeitsgestaltung",
|
"Flexible Arbeitsgestaltung",
|
||||||
"Weiterbildungsmöglichkeiten (z. B. VERAH)",
|
"Weiterbildungsmöglichkeiten (z. B. VERAH)",
|
||||||
"Tarifnahe Vergütung",
|
"Tarifnahe Vergütung",
|
||||||
"Unterstützung bei Studium",
|
"Unterstützung bei Studium",
|
||||||
"Patientenorientierte Lösungen"
|
"Patientenorientierte Lösungen"
|
||||||
],
|
],
|
||||||
"applicationContact": {
|
"applicationContact": {
|
||||||
"@type": "ContactPoint",
|
"@type": "ContactPoint",
|
||||||
"name": "Dalia Alayan-Ibrahim",
|
"name": "Dalia Alayan-Ibrahim",
|
||||||
"email": "alayan@praxis-creutzburg.de",
|
"email": "alayan@praxis-creutzburg.de",
|
||||||
"contactType": "Bewerbung"
|
"contactType": "Bewerbung"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
|
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<?php
|
<?php
|
||||||
echo showHeaderpraxis();
|
echo showHeaderpraxis();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<!--
|
<!--
|
||||||
<section class="box">
|
<section class="box">
|
||||||
<h3>Ihre Hausarztpraxis in Coppenbrügge und Bisperode</h3>
|
<h3>Ihre Hausarztpraxis in Coppenbrügge und Bisperode</h3>
|
||||||
|
|
||||||
Die Praxis Creutzburg hat aktuell die folgende Stellausschreibungen.<br>
|
Die Praxis Creutzburg hat aktuell die folgende Stellausschreibungen.<br>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<section class="box">
|
<section class="box">
|
||||||
<h2>Medizinische Fachangestellte (MFA) in Teilzeit (m/w/d)</h2>
|
<h2>Medizinische Fachangestellte (MFA) in Teilzeit (m/w/d)</h2>
|
||||||
|
|
||||||
<h2>Wir suchen dich!</h2>
|
<h2>Wir suchen dich!</h2>
|
||||||
<p>Zur Verstärkung unseres Teams suchen wir ab <strong>sofort</strong> eine <strong>Medizinische Fachangestellte (MFA)</strong> in Teilzeit mit ca. <strong>20 Stunden pro Woche</strong>.</p>
|
<p>Zur Verstärkung unseres Teams suchen wir ab <strong>sofort</strong> eine <strong>Medizinische Fachangestellte (MFA)</strong> in Teilzeit mit ca. <strong>20 Stunden pro Woche</strong>.</p>
|
||||||
|
|
||||||
<h3>Deine Aufgaben:</h3>
|
<h3>Deine Aufgaben:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Assistenz bei Untersuchungen und Behandlungen</li>
|
<li>Assistenz bei Untersuchungen und Behandlungen</li>
|
||||||
<li>Patientenbetreuung und -beratung</li>
|
<li>Patientenbetreuung und -beratung</li>
|
||||||
<li>Gesundheitsschutz und Maßnahmen zur Arbeits- und Praxishygiene</li>
|
<li>Gesundheitsschutz und Maßnahmen zur Arbeits- und Praxishygiene</li>
|
||||||
<li>Gesetzliche und vertragliche Vorgaben der medizinischen Versorgung einhalten</li>
|
<li>Gesetzliche und vertragliche Vorgaben der medizinischen Versorgung einhalten</li>
|
||||||
<li>Assistenz bei Diagnostik und Therapie</li>
|
<li>Assistenz bei Diagnostik und Therapie</li>
|
||||||
<li>Umgang mit Arzneimitteln, Injektionen und Infusionen</li>
|
<li>Umgang mit Arzneimitteln, Injektionen und Infusionen</li>
|
||||||
<li>Planung und Umsetzung von Präventions- und Rehabilitationsmaßnahmen</li>
|
<li>Planung und Umsetzung von Präventions- und Rehabilitationsmaßnahmen</li>
|
||||||
<li>Betriebsorganisation, Verwaltung und Abrechnung durchführen</li>
|
<li>Betriebsorganisation, Verwaltung und Abrechnung durchführen</li>
|
||||||
<li>Qualitätsmanagement und Dokumentationen sicherstellen</li>
|
<li>Qualitätsmanagement und Dokumentationen sicherstellen</li>
|
||||||
<li>Schriftverkehr und organisatorische Aufgaben übernehmen</li>
|
<li>Schriftverkehr und organisatorische Aufgaben übernehmen</li>
|
||||||
<li>Notfallmaßnahmen einleiten und begleiten</li>
|
<li>Notfallmaßnahmen einleiten und begleiten</li>
|
||||||
<li>Datenschutz und Datensicherheit gewährleisten</li>
|
<li>Datenschutz und Datensicherheit gewährleisten</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2>Dein Profil:</h2>
|
<h2>Dein Profil:</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Abgeschlossene Ausbildung als Medizinische Fachangestellte (MFA)</li>
|
<li>Abgeschlossene Ausbildung als Medizinische Fachangestellte (MFA)</li>
|
||||||
<li>Teilzeitverfügbarkeit (20 Stunden pro Woche)</li>
|
<li>Teilzeitverfügbarkeit (20 Stunden pro Woche)</li>
|
||||||
<li>Freundliches und professionelles Auftreten</li>
|
<li>Freundliches und professionelles Auftreten</li>
|
||||||
<li>Zuverlässigkeit, Verschwiegenheit und Teamgeist</li>
|
<li>Zuverlässigkeit, Verschwiegenheit und Teamgeist</li>
|
||||||
<li>Laborerfahrung und EDV-Kenntnisse sind von Vorteil</li>
|
<li>Laborerfahrung und EDV-Kenntnisse sind von Vorteil</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<h3>Wir bieten:</h3>
|
<h3>Wir bieten:</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Eine abwechslungsreiche Tätigkeit in einem modernen Arbeitsumfeld</li>
|
<li>Eine abwechslungsreiche Tätigkeit in einem modernen Arbeitsumfeld</li>
|
||||||
<li>Flache Hierarchien und ein familäres Miteinander</li>
|
<li>Flache Hierarchien und ein familäres Miteinander</li>
|
||||||
<li>Sehr gut struktierte Praxisprozesse und Terminplanung</li>
|
<li>Sehr gut struktierte Praxisprozesse und Terminplanung</li>
|
||||||
<li>Moderne IT-Ausstattung inkl. papierloser Patientenakte, Online-Anfragesystem und Telefonanlage</li>
|
<li>Moderne IT-Ausstattung inkl. papierloser Patientenakte, Online-Anfragesystem und Telefonanlage</li>
|
||||||
<li>Flexible Anpassung an aktuelle Situationen</li>
|
<li>Flexible Anpassung an aktuelle Situationen</li>
|
||||||
<li>Weiterbildungsmöglichkeiten z.B. VERAH uvw.</li>
|
<li>Weiterbildungsmöglichkeiten z.B. VERAH uvw.</li>
|
||||||
<li>Eine an den Tarif angelehnte Vergütung</li>
|
<li>Eine an den Tarif angelehnte Vergütung</li>
|
||||||
<li>Ein Chef, der hinter seinen Mitarbeitern steht</li>
|
<li>Ein Chef, der hinter seinen Mitarbeitern steht</li>
|
||||||
<li>Unterstützung bei einem ausbildungsbegleitendem Studium </li>
|
<li>Unterstützung bei einem ausbildungsbegleitendem Studium </li>
|
||||||
<li>Raum für patientenorientiere Lösungen, wie z.B. <a href="https://www.dewezet.de/lokales/hameln-pyrmont/hameln/sumpfblume-impfen-bis-die-nadel-glueht-D27ZAZAAF52AY2FFA4365B44YA.html" target="_blank">bei unseren Impfaktionen</a></li>
|
<li>Raum für patientenorientiere Lösungen, wie z.B. <a href="https://www.dewezet.de/lokales/hameln-pyrmont/hameln/sumpfblume-impfen-bis-die-nadel-glueht-D27ZAZAAF52AY2FFA4365B44YA.html" target="_blank">bei unseren Impfaktionen</a></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<h3>Fragen:</h3>
|
<h3>Fragen:</h3>
|
||||||
<p>Du hast grundsätzlich Fragen oder etwas ist unklar?<br>
|
<p>Du hast grundsätzlich Fragen oder etwas ist unklar?<br>
|
||||||
Telefonisch kannst du uns eine Nachricht auf unserem Anrufbeantworter hinterlassen. <br>Unser Praxisteam ruft dich schnellstmöglich zurück.<br>
|
Telefonisch kannst du uns eine Nachricht auf unserem Anrufbeantworter hinterlassen. <br>Unser Praxisteam ruft dich schnellstmöglich zurück.<br>
|
||||||
Per Mail wende dich bitte an Dalia Alayan-Ibrahim <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a><br>
|
Per Mail wende dich bitte an Dalia Alayan-Ibrahim <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a><br>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<section class="box" style="border-left:4px solid #2e7; background:#f7fff9;">
|
<section class="box" style="border-left:4px solid #2e7; background:#f7fff9;">
|
||||||
<h3 style="margin-bottom:.4rem;">Onlinebewerbung</h3>
|
<h3 style="margin-bottom:.4rem;">Onlinebewerbung</h3>
|
||||||
<p style="margin:0 0 .8rem 0;">
|
<p style="margin:0 0 .8rem 0;">
|
||||||
Bei uns kannst du dich <strong>einfach und schnell</strong> online bewerben! Die Bewerbung dauert 1-2 Minuten.
|
Bei uns kannst du dich <strong>einfach und schnell</strong> online bewerben! Die Bewerbung dauert 1-2 Minuten.
|
||||||
</p>
|
</p>
|
||||||
<ul class="actions">
|
<ul class="actions">
|
||||||
<li><a href="kurzbewerbung.php" class="button">Onlinebewerbung</a></li>
|
<li><a href="kurzbewerbung.php" class="button">Onlinebewerbung</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<h3>Bewerbung:</h3>
|
<h3>Bewerbung:</h3>
|
||||||
<p>Bitte sende deine vollständigen Bewerbungsunterlagen an:</p>
|
<p>Bitte sende deine vollständigen Bewerbungsunterlagen an:</p>
|
||||||
<p><strong>Praxis Creutzburg</strong><br>
|
<p><strong>Praxis Creutzburg</strong><br>
|
||||||
z.H. Dalia Alayan-Ibrahim<br>
|
z.H. Dalia Alayan-Ibrahim<br>
|
||||||
Schlossstraße 18<br>
|
Schlossstraße 18<br>
|
||||||
31863 Coppenbrügge<br>
|
31863 Coppenbrügge<br>
|
||||||
E-Mail: <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a></p>
|
E-Mail: <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a></p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form action="stellenangebote.php" method=POST>
|
<form action="stellenangebote.php" method=POST>
|
||||||
<input type=submit class=button value="Zu den Stellenangeboten">
|
<input type=submit class=button value="Zu den Stellenangeboten">
|
||||||
</form>
|
</form>
|
||||||
</section>
|
</section>
|
||||||
-->
|
-->
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?></body>
|
?></body>
|
||||||
</html>
|
</html>
|
||||||
+16
-16
@@ -1,17 +1,17 @@
|
|||||||
input[type="number"],input[type="date"] {
|
input[type="number"],input[type="date"] {
|
||||||
-moz-appearance: none;
|
-moz-appearance: none;
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
-o-appearance: none;
|
-o-appearance: none;
|
||||||
-ms-appearance: none;
|
-ms-appearance: none;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
background: #f8f8f8;
|
background: #f8f8f8;
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
border: solid 1px #e5e5e5;
|
border: solid 1px #e5e5e5;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
display: block;
|
display: block;
|
||||||
outline: 0;
|
outline: 0;
|
||||||
padding: 0 1em;
|
padding: 0 1em;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 3em;
|
height: 3em;
|
||||||
}
|
}
|
||||||
+21
-21
@@ -1,22 +1,22 @@
|
|||||||
#marquee-cont {
|
#marquee-cont {
|
||||||
background: #ff6363;
|
background: #ff6363;
|
||||||
margin-top:10px;
|
margin-top:10px;
|
||||||
}
|
}
|
||||||
#marquee-cont marquee {
|
#marquee-cont marquee {
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
background: #ff6363;
|
background: #ff6363;
|
||||||
}
|
}
|
||||||
#marquee-news {
|
#marquee-news {
|
||||||
|
|
||||||
background: #1174A8;
|
background: #1174A8;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
}
|
}
|
||||||
#ticker-title{
|
#ticker-title{
|
||||||
border:none;
|
border:none;
|
||||||
padding:5px 20px;
|
padding:5px 20px;
|
||||||
background:#1174A8;
|
background:#1174A8;
|
||||||
color:white;
|
color:white;
|
||||||
}
|
}
|
||||||
#ticker-title:focus{
|
#ticker-title:focus{
|
||||||
outline:none;
|
outline:none;
|
||||||
}
|
}
|
||||||
+446
-446
File diff suppressed because one or more lines are too long
+371
-371
@@ -1,372 +1,372 @@
|
|||||||
// By default, Klaro will load the config from a global "klaroConfig" variable.
|
// By default, Klaro will load the config from a global "klaroConfig" variable.
|
||||||
// You can change this by specifying the "data-config" attribute on your
|
// You can change this by specifying the "data-config" attribute on your
|
||||||
// script take, e.g. like this:
|
// script take, e.g. like this:
|
||||||
// <script src="klaro.js" data-config="myConfigVariableName" />
|
// <script src="klaro.js" data-config="myConfigVariableName" />
|
||||||
var klaroConfig = {
|
var klaroConfig = {
|
||||||
// With the 0.7.0 release we introduce a 'version' paramter that will make
|
// With the 0.7.0 release we introduce a 'version' paramter that will make
|
||||||
// if easier for us to keep configuration files backwards-compatible in the future.
|
// if easier for us to keep configuration files backwards-compatible in the future.
|
||||||
version: 1,
|
version: 1,
|
||||||
|
|
||||||
// You can customize the ID of the DIV element that Klaro will create
|
// You can customize the ID of the DIV element that Klaro will create
|
||||||
// when starting up. If undefined, Klaro will use 'klaro'.
|
// when starting up. If undefined, Klaro will use 'klaro'.
|
||||||
elementID: 'klaro',
|
elementID: 'klaro',
|
||||||
|
|
||||||
// You can override CSS style variables here. For IE11, Klaro will
|
// You can override CSS style variables here. For IE11, Klaro will
|
||||||
// dynamically inject the variables into the CSS. If you still consider
|
// dynamically inject the variables into the CSS. If you still consider
|
||||||
// supporting IE9-10 (which you probably shouldn't) you need to use Klaro
|
// supporting IE9-10 (which you probably shouldn't) you need to use Klaro
|
||||||
// with an external stylesheet as the dynamic replacement won't work there.
|
// with an external stylesheet as the dynamic replacement won't work there.
|
||||||
styling: {
|
styling: {
|
||||||
theme: ['light', 'top', 'wide'],
|
theme: ['light', 'top', 'wide'],
|
||||||
},
|
},
|
||||||
|
|
||||||
// Setting this to true will keep Klaro from automatically loading itself
|
// Setting this to true will keep Klaro from automatically loading itself
|
||||||
// when the page is being loaded.
|
// when the page is being loaded.
|
||||||
noAutoLoad: false,
|
noAutoLoad: false,
|
||||||
|
|
||||||
// Setting this to true will render the descriptions of the consent
|
// Setting this to true will render the descriptions of the consent
|
||||||
// modal and consent notice are HTML. Use with care.
|
// modal and consent notice are HTML. Use with care.
|
||||||
htmlTexts: true,
|
htmlTexts: true,
|
||||||
|
|
||||||
// Setting 'embedded' to true will render the Klaro modal and notice without
|
// Setting 'embedded' to true will render the Klaro modal and notice without
|
||||||
// the modal background, allowing you to e.g. embed them into a specific element
|
// the modal background, allowing you to e.g. embed them into a specific element
|
||||||
// of your website, such as your privacy notice.
|
// of your website, such as your privacy notice.
|
||||||
embedded: false,
|
embedded: false,
|
||||||
|
|
||||||
// You can group services by their purpose in the modal. This is advisable
|
// You can group services by their purpose in the modal. This is advisable
|
||||||
// if you have a large number of services. Users can then enable or disable
|
// if you have a large number of services. Users can then enable or disable
|
||||||
// entire groups of services instead of having to enable or disable every service.
|
// entire groups of services instead of having to enable or disable every service.
|
||||||
groupByPurpose: true,
|
groupByPurpose: true,
|
||||||
|
|
||||||
// How Klaro should store the user's preferences. It can be either 'cookie'
|
// How Klaro should store the user's preferences. It can be either 'cookie'
|
||||||
// (the default) or 'localStorage'.
|
// (the default) or 'localStorage'.
|
||||||
storageMethod: 'cookie',
|
storageMethod: 'cookie',
|
||||||
|
|
||||||
// You can customize the name of the cookie that Klaro uses for storing
|
// You can customize the name of the cookie that Klaro uses for storing
|
||||||
// user consent decisions. If undefined, Klaro will use 'klaro'.
|
// user consent decisions. If undefined, Klaro will use 'klaro'.
|
||||||
cookieName: 'klaro',
|
cookieName: 'klaro',
|
||||||
|
|
||||||
// You can also set a custom expiration time for the Klaro cookie.
|
// You can also set a custom expiration time for the Klaro cookie.
|
||||||
// By default, it will expire after 120 days.
|
// By default, it will expire after 120 days.
|
||||||
cookieExpiresAfterDays: 365,
|
cookieExpiresAfterDays: 365,
|
||||||
|
|
||||||
// You can change to cookie domain for the consent manager itself.
|
// You can change to cookie domain for the consent manager itself.
|
||||||
// Use this if you want to get consent once for multiple matching domains.
|
// Use this if you want to get consent once for multiple matching domains.
|
||||||
// If undefined, Klaro will use the current domain.
|
// If undefined, Klaro will use the current domain.
|
||||||
//cookieDomain: '.github.com',
|
//cookieDomain: '.github.com',
|
||||||
|
|
||||||
// You can change to cookie path for the consent manager itself.
|
// You can change to cookie path for the consent manager itself.
|
||||||
// Use this to restrict the cookie visibility to a specific path.
|
// Use this to restrict the cookie visibility to a specific path.
|
||||||
// If undefined, Klaro will use '/' as cookie path.
|
// If undefined, Klaro will use '/' as cookie path.
|
||||||
//cookiePath: '/',
|
//cookiePath: '/',
|
||||||
|
|
||||||
// Defines the default state for services (true=enabled by default).
|
// Defines the default state for services (true=enabled by default).
|
||||||
default: false,
|
default: false,
|
||||||
|
|
||||||
// If "mustConsent" is set to true, Klaro will directly display the consent
|
// If "mustConsent" is set to true, Klaro will directly display the consent
|
||||||
// manager modal and not allow the user to close it before having actively
|
// manager modal and not allow the user to close it before having actively
|
||||||
// consented or declines the use of third-party services.
|
// consented or declines the use of third-party services.
|
||||||
mustConsent: false,
|
mustConsent: false,
|
||||||
|
|
||||||
// Show "accept all" to accept all services instead of "ok" that only accepts
|
// Show "accept all" to accept all services instead of "ok" that only accepts
|
||||||
// required and "default: true" services
|
// required and "default: true" services
|
||||||
acceptAll: true,
|
acceptAll: true,
|
||||||
|
|
||||||
// replace "decline" with cookie manager modal
|
// replace "decline" with cookie manager modal
|
||||||
hideDeclineAll: false,
|
hideDeclineAll: false,
|
||||||
|
|
||||||
// hide "learnMore" link
|
// hide "learnMore" link
|
||||||
hideLearnMore: false,
|
hideLearnMore: false,
|
||||||
|
|
||||||
// show cookie notice as modal
|
// show cookie notice as modal
|
||||||
noticeAsModal: false,
|
noticeAsModal: false,
|
||||||
|
|
||||||
// You can also remove the 'Realized with Klaro!' text in the consent modal.
|
// You can also remove the 'Realized with Klaro!' text in the consent modal.
|
||||||
// Please don't do this! We provide Klaro as a free open source tool.
|
// Please don't do this! We provide Klaro as a free open source tool.
|
||||||
// Placing a link to our website helps us spread the word about it,
|
// Placing a link to our website helps us spread the word about it,
|
||||||
// which ultimately enables us to make Klaro! better for everyone.
|
// which ultimately enables us to make Klaro! better for everyone.
|
||||||
// So please be fair and keep the link enabled. Thanks :)
|
// So please be fair and keep the link enabled. Thanks :)
|
||||||
//disablePoweredBy: true,
|
//disablePoweredBy: true,
|
||||||
|
|
||||||
// you can specify an additional class (or classes) that will be added to the Klaro `div`
|
// you can specify an additional class (or classes) that will be added to the Klaro `div`
|
||||||
//additionalClass: 'my-klaro',
|
//additionalClass: 'my-klaro',
|
||||||
|
|
||||||
// You can define the UI language directly here. If undefined, Klaro will
|
// You can define the UI language directly here. If undefined, Klaro will
|
||||||
// use the value given in the global "lang" variable. If that does
|
// use the value given in the global "lang" variable. If that does
|
||||||
// not exist, it will use the value given in the "lang" attribute of your
|
// not exist, it will use the value given in the "lang" attribute of your
|
||||||
// HTML tag. If that also doesn't exist, it will use 'en'.
|
// HTML tag. If that also doesn't exist, it will use 'en'.
|
||||||
//lang: 'en',
|
//lang: 'en',
|
||||||
|
|
||||||
// You can overwrite existing translations and add translations for your
|
// You can overwrite existing translations and add translations for your
|
||||||
// service descriptions and purposes. See `src/translations/` for a full
|
// service descriptions and purposes. See `src/translations/` for a full
|
||||||
// list of translations that can be overwritten:
|
// list of translations that can be overwritten:
|
||||||
// https://github.com/KIProtect/klaro/tree/master/src/translations
|
// https://github.com/KIProtect/klaro/tree/master/src/translations
|
||||||
|
|
||||||
// Example config that shows how to overwrite translations:
|
// Example config that shows how to overwrite translations:
|
||||||
// https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
|
// https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
|
||||||
translations: {
|
translations: {
|
||||||
// translationsed defined under the 'zz' language code act as default
|
// translationsed defined under the 'zz' language code act as default
|
||||||
// translations.
|
// translations.
|
||||||
zz: {
|
zz: {
|
||||||
privacyPolicyUrl: '/#privacy',
|
privacyPolicyUrl: '/#privacy',
|
||||||
},
|
},
|
||||||
// If you erase the "consentModal" translations, Klaro will use the
|
// If you erase the "consentModal" translations, Klaro will use the
|
||||||
// bundled translations.
|
// bundled translations.
|
||||||
de: {
|
de: {
|
||||||
privacyPolicyUrl: '/#datenschutz',
|
privacyPolicyUrl: '/#datenschutz',
|
||||||
consentModal: {
|
consentModal: {
|
||||||
description:
|
description:
|
||||||
'Hier können Sie einsehen und anpassen, welche Information wir über Sie sammeln. Einträge die als "Beispiel" gekennzeichnet sind dienen lediglich zu Demonstrationszwecken und werden nicht wirklich verwendet.',
|
'Hier können Sie einsehen und anpassen, welche Information wir über Sie sammeln. Einträge die als "Beispiel" gekennzeichnet sind dienen lediglich zu Demonstrationszwecken und werden nicht wirklich verwendet.',
|
||||||
},
|
},
|
||||||
adsense: {
|
adsense: {
|
||||||
description: 'Anzeigen von Werbeanzeigen (Beispiel)',
|
description: 'Anzeigen von Werbeanzeigen (Beispiel)',
|
||||||
title: 'Google AdSense Werbezeugs',
|
title: 'Google AdSense Werbezeugs',
|
||||||
},
|
},
|
||||||
matomo: {
|
matomo: {
|
||||||
description: 'Sammeln von Besucherstatistiken',
|
description: 'Sammeln von Besucherstatistiken',
|
||||||
},
|
},
|
||||||
camera: {
|
camera: {
|
||||||
description:
|
description:
|
||||||
'Eine Überwachungskamera (nur ein Beispiel zu IMG-Tags)',
|
'Eine Überwachungskamera (nur ein Beispiel zu IMG-Tags)',
|
||||||
},
|
},
|
||||||
cloudflare: {
|
cloudflare: {
|
||||||
description: 'Schutz gegen DDoS-Angriffe',
|
description: 'Schutz gegen DDoS-Angriffe',
|
||||||
},
|
},
|
||||||
intercom: {
|
intercom: {
|
||||||
description:
|
description:
|
||||||
'Chat Widget & Sammeln von Besucherstatistiken (nur ein Beispiel)',
|
'Chat Widget & Sammeln von Besucherstatistiken (nur ein Beispiel)',
|
||||||
},
|
},
|
||||||
mouseflow: {
|
mouseflow: {
|
||||||
description: 'Echtzeit-Benutzeranalyse (nur ein Beispiel)',
|
description: 'Echtzeit-Benutzeranalyse (nur ein Beispiel)',
|
||||||
},
|
},
|
||||||
googleFonts: {
|
googleFonts: {
|
||||||
description: 'Web-Schriftarten von Google gehostet',
|
description: 'Web-Schriftarten von Google gehostet',
|
||||||
},
|
},
|
||||||
purposes: {
|
purposes: {
|
||||||
analytics: 'Besucher-Statistiken',
|
analytics: 'Besucher-Statistiken',
|
||||||
security: 'Sicherheit',
|
security: 'Sicherheit',
|
||||||
livechat: 'Live Chat',
|
livechat: 'Live Chat',
|
||||||
advertising: 'Anzeigen von Werbung',
|
advertising: 'Anzeigen von Werbung',
|
||||||
styling: 'Styling',
|
styling: 'Styling',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
consentModal: {
|
consentModal: {
|
||||||
title: '<u>test</u>',
|
title: '<u>test</u>',
|
||||||
description:
|
description:
|
||||||
'Here you can see and customize the information that we collect about you. Entries marked as "Example" are just for demonstration purposes and are not really used on this website.',
|
'Here you can see and customize the information that we collect about you. Entries marked as "Example" are just for demonstration purposes and are not really used on this website.',
|
||||||
},
|
},
|
||||||
adsense: {
|
adsense: {
|
||||||
description: 'Displaying of advertisements (just an example)',
|
description: 'Displaying of advertisements (just an example)',
|
||||||
title: 'Google Adsense Advertisement',
|
title: 'Google Adsense Advertisement',
|
||||||
},
|
},
|
||||||
matomo: {
|
matomo: {
|
||||||
description: 'Collecting of visitor statistics',
|
description: 'Collecting of visitor statistics',
|
||||||
},
|
},
|
||||||
camera: {
|
camera: {
|
||||||
description:
|
description:
|
||||||
'A surveillance camera (just an example for an IMG tag)',
|
'A surveillance camera (just an example for an IMG tag)',
|
||||||
},
|
},
|
||||||
cloudflare: {
|
cloudflare: {
|
||||||
description: 'Protection against DDoS attacks',
|
description: 'Protection against DDoS attacks',
|
||||||
},
|
},
|
||||||
intercom: {
|
intercom: {
|
||||||
description:
|
description:
|
||||||
'Chat widget & collecting of visitor statistics (just an example)',
|
'Chat widget & collecting of visitor statistics (just an example)',
|
||||||
},
|
},
|
||||||
mouseflow: {
|
mouseflow: {
|
||||||
description: 'Real-Time user analytics (just an example)',
|
description: 'Real-Time user analytics (just an example)',
|
||||||
},
|
},
|
||||||
googleFonts: {
|
googleFonts: {
|
||||||
description: 'Web fonts hosted by Google',
|
description: 'Web fonts hosted by Google',
|
||||||
},
|
},
|
||||||
purposes: {
|
purposes: {
|
||||||
analytics: 'Analytics',
|
analytics: 'Analytics',
|
||||||
security: 'Security',
|
security: 'Security',
|
||||||
livechat: 'Livechat',
|
livechat: 'Livechat',
|
||||||
advertising: 'Advertising',
|
advertising: 'Advertising',
|
||||||
styling: 'Styling',
|
styling: 'Styling',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// This is a list of third-party services that Klaro will manage for you.
|
// This is a list of third-party services that Klaro will manage for you.
|
||||||
services: [
|
services: [
|
||||||
{
|
{
|
||||||
name: 'twitter',
|
name: 'twitter',
|
||||||
default: false,
|
default: false,
|
||||||
contextualConsentOnly: true,
|
contextualConsentOnly: true,
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'youtube',
|
name: 'youtube',
|
||||||
default: true,
|
default: true,
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// Each service should have a unique (and short) name.
|
// Each service should have a unique (and short) name.
|
||||||
name: 'matomo',
|
name: 'matomo',
|
||||||
|
|
||||||
// If "default" is set to true, the service will be enabled by default
|
// If "default" is set to true, the service will be enabled by default
|
||||||
// Overwrites global "default" setting.
|
// Overwrites global "default" setting.
|
||||||
// We recommend leaving this to "false" for services that collect
|
// We recommend leaving this to "false" for services that collect
|
||||||
// personal information.
|
// personal information.
|
||||||
default: true,
|
default: true,
|
||||||
|
|
||||||
// The title of you service as listed in the consent modal.
|
// The title of you service as listed in the consent modal.
|
||||||
title: 'Matomo/Piwik',
|
title: 'Matomo/Piwik',
|
||||||
|
|
||||||
// The purpose(s) of this service. Will be listed on the consent notice.
|
// The purpose(s) of this service. Will be listed on the consent notice.
|
||||||
// Do not forget to add translations for all purposes you list here.
|
// Do not forget to add translations for all purposes you list here.
|
||||||
purposes: ['analytics'],
|
purposes: ['analytics'],
|
||||||
|
|
||||||
// A list of regex expressions or strings giving the names of
|
// A list of regex expressions or strings giving the names of
|
||||||
// cookies set by this service. If the user withdraws consent for a
|
// cookies set by this service. If the user withdraws consent for a
|
||||||
// given service, Klaro will then automatically delete all matching
|
// given service, Klaro will then automatically delete all matching
|
||||||
// cookies.
|
// cookies.
|
||||||
cookies: [
|
cookies: [
|
||||||
// you can also explicitly provide a path and a domain for
|
// you can also explicitly provide a path and a domain for
|
||||||
// a given cookie. This is necessary if you have services that
|
// a given cookie. This is necessary if you have services that
|
||||||
// set cookies for a path that is not "/" or a domain that
|
// set cookies for a path that is not "/" or a domain that
|
||||||
// is not the current domain. If you do not set these values
|
// is not the current domain. If you do not set these values
|
||||||
// properly, the cookie can't be deleted by Klaro
|
// properly, the cookie can't be deleted by Klaro
|
||||||
// (there is no way to access the path or domain of a cookie in JS)
|
// (there is no way to access the path or domain of a cookie in JS)
|
||||||
// Notice that it is not possible to delete cookies that were set
|
// Notice that it is not possible to delete cookies that were set
|
||||||
// on a third-party domain! See the note at mdn:
|
// on a third-party domain! See the note at mdn:
|
||||||
// https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#new-cookie_domain
|
// https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#new-cookie_domain
|
||||||
[/^_pk_.*$/, '/', 'klaro.kiprotect.com'], //for the production version
|
[/^_pk_.*$/, '/', 'klaro.kiprotect.com'], //for the production version
|
||||||
[/^_pk_.*$/, '/', 'localhost'], //for the local version
|
[/^_pk_.*$/, '/', 'localhost'], //for the local version
|
||||||
'piwik_ignore',
|
'piwik_ignore',
|
||||||
],
|
],
|
||||||
|
|
||||||
// An optional callback function that will be called each time
|
// An optional callback function that will be called each time
|
||||||
// the consent state for the service changes (true=consented). Passes
|
// the consent state for the service changes (true=consented). Passes
|
||||||
// the `service` config as the second parameter as well.
|
// the `service` config as the second parameter as well.
|
||||||
callback: function(consent, service) {
|
callback: function(consent, service) {
|
||||||
// This is an example callback function.
|
// This is an example callback function.
|
||||||
console.log(
|
console.log(
|
||||||
'User consent for service ' + service.name + ': consent=' + consent
|
'User consent for service ' + service.name + ': consent=' + consent
|
||||||
);
|
);
|
||||||
// To be used in conjunction with Matomo 'requireCookieConsent' Feature, Matomo 3.14.0 or newer
|
// To be used in conjunction with Matomo 'requireCookieConsent' Feature, Matomo 3.14.0 or newer
|
||||||
// For further Information see https://matomo.org/faq/new-to-piwik/how-can-i-still-track-a-visitor-without-cookies-even-if-they-decline-the-cookie-consent/
|
// For further Information see https://matomo.org/faq/new-to-piwik/how-can-i-still-track-a-visitor-without-cookies-even-if-they-decline-the-cookie-consent/
|
||||||
/*
|
/*
|
||||||
if(consent==true){
|
if(consent==true){
|
||||||
_paq.push(['rememberCookieConsentGiven']);
|
_paq.push(['rememberCookieConsentGiven']);
|
||||||
} else {
|
} else {
|
||||||
_paq.push(['forgetCookieConsentGiven']);
|
_paq.push(['forgetCookieConsentGiven']);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
},
|
},
|
||||||
|
|
||||||
// If "required" is set to true, Klaro will not allow this service to
|
// If "required" is set to true, Klaro will not allow this service to
|
||||||
// be disabled by the user.
|
// be disabled by the user.
|
||||||
required: false,
|
required: false,
|
||||||
|
|
||||||
// If "optOut" is set to true, Klaro will load this service even before
|
// If "optOut" is set to true, Klaro will load this service even before
|
||||||
// the user gave explicit consent.
|
// the user gave explicit consent.
|
||||||
// We recommend always leaving this "false".
|
// We recommend always leaving this "false".
|
||||||
optOut: false,
|
optOut: false,
|
||||||
|
|
||||||
// If "onlyOnce" is set to true, the service will only be executed
|
// If "onlyOnce" is set to true, the service will only be executed
|
||||||
// once regardless how often the user toggles it on and off.
|
// once regardless how often the user toggles it on and off.
|
||||||
onlyOnce: true,
|
onlyOnce: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
// The services will appear in the modal in the same order as defined here.
|
// The services will appear in the modal in the same order as defined here.
|
||||||
{
|
{
|
||||||
name: 'inlineTracker',
|
name: 'inlineTracker',
|
||||||
title: 'Inline Tracker',
|
title: 'Inline Tracker',
|
||||||
purposes: ['analytics'],
|
purposes: ['analytics'],
|
||||||
cookies: ['inline-tracker'],
|
cookies: ['inline-tracker'],
|
||||||
optOut: false,
|
optOut: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'externalTracker',
|
name: 'externalTracker',
|
||||||
title: 'External Tracker',
|
title: 'External Tracker',
|
||||||
purposes: ['analytics', 'security'],
|
purposes: ['analytics', 'security'],
|
||||||
cookies: ['external-tracker'],
|
cookies: ['external-tracker'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'intercom',
|
name: 'intercom',
|
||||||
title: 'Intercom',
|
title: 'Intercom',
|
||||||
default: true,
|
default: true,
|
||||||
purposes: ['livechat'],
|
purposes: ['livechat'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'mouseflow',
|
name: 'mouseflow',
|
||||||
title: 'Mouseflow',
|
title: 'Mouseflow',
|
||||||
purposes: ['analytics'],
|
purposes: ['analytics'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'adsense',
|
name: 'adsense',
|
||||||
// if you omit the title here Klaro will try to look it up in the
|
// if you omit the title here Klaro will try to look it up in the
|
||||||
// translations
|
// translations
|
||||||
//title: 'Google AdSense',
|
//title: 'Google AdSense',
|
||||||
purposes: ['advertising'],
|
purposes: ['advertising'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'camera',
|
name: 'camera',
|
||||||
title: 'Surveillance Camera',
|
title: 'Surveillance Camera',
|
||||||
purposes: ['security'],
|
purposes: ['security'],
|
||||||
},
|
},
|
||||||
/* {
|
/* {
|
||||||
name: 'googleFonts',
|
name: 'googleFonts',
|
||||||
title: 'Google Fonts',
|
title: 'Google Fonts',
|
||||||
purposes: ['styling'],
|
purposes: ['styling'],
|
||||||
},*/
|
},*/
|
||||||
{
|
{
|
||||||
name: 'cloudflare',
|
name: 'cloudflare',
|
||||||
title: 'Cloudflare',
|
title: 'Cloudflare',
|
||||||
purposes: ['security'],
|
purposes: ['security'],
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'google-tag-manager',
|
name: 'google-tag-manager',
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
onAccept: `
|
onAccept: `
|
||||||
// we notify the tag manager about all services that were accepted. You can define
|
// we notify the tag manager about all services that were accepted. You can define
|
||||||
// a custom event in GTM to load the service if consent was given.
|
// a custom event in GTM to load the service if consent was given.
|
||||||
for(let k of Object.keys(opts.consents)){
|
for(let k of Object.keys(opts.consents)){
|
||||||
if (opts.consents[k]){
|
if (opts.consents[k]){
|
||||||
let eventName = 'klaro-'+k+'-accepted'
|
let eventName = 'klaro-'+k+'-accepted'
|
||||||
dataLayer.push({'event': eventName})
|
dataLayer.push({'event': eventName})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if consent for Google Analytics was granted we enable analytics storage
|
// if consent for Google Analytics was granted we enable analytics storage
|
||||||
if (opts.consents[opts.vars.googleAnalyticsName || 'google-analytics']){
|
if (opts.consents[opts.vars.googleAnalyticsName || 'google-analytics']){
|
||||||
console.log("Google analytics usage was granted")
|
console.log("Google analytics usage was granted")
|
||||||
gtag('consent', 'update', {'analytics_storage': 'granted'})
|
gtag('consent', 'update', {'analytics_storage': 'granted'})
|
||||||
}
|
}
|
||||||
// if consent for Google Ads was granted we enable ad storage
|
// if consent for Google Ads was granted we enable ad storage
|
||||||
if (opts.consents[opts.vars.adStorageName || 'google-ads']){
|
if (opts.consents[opts.vars.adStorageName || 'google-ads']){
|
||||||
console.log("Google ads usage was granted")
|
console.log("Google ads usage was granted")
|
||||||
gtag('consent', 'update', {'ad_storage': 'granted'})
|
gtag('consent', 'update', {'ad_storage': 'granted'})
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
onInit: `
|
onInit: `
|
||||||
// initialization code here (will be executed only once per page-load)
|
// initialization code here (will be executed only once per page-load)
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
window.gtag = function(){dataLayer.push(arguments)}
|
window.gtag = function(){dataLayer.push(arguments)}
|
||||||
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
||||||
gtag('set', 'ads_data_redaction', true)
|
gtag('set', 'ads_data_redaction', true)
|
||||||
`,
|
`,
|
||||||
onDecline: `
|
onDecline: `
|
||||||
// initialization code here (will be executed only once per page-load)
|
// initialization code here (will be executed only once per page-load)
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
window.gtag = function(){dataLayer.push(arguments)}
|
window.gtag = function(){dataLayer.push(arguments)}
|
||||||
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
||||||
gtag('set', 'ads_data_redaction', true)
|
gtag('set', 'ads_data_redaction', true)
|
||||||
`,
|
`,
|
||||||
vars: {
|
vars: {
|
||||||
googleAnalytics: 'google-analytics'
|
googleAnalytics: 'google-analytics'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// In GTM, you should define a custom event trigger named `klaro-google-analytics-accepted` which should trigger the Google Analytics integration.
|
// In GTM, you should define a custom event trigger named `klaro-google-analytics-accepted` which should trigger the Google Analytics integration.
|
||||||
name: 'google-analytics',
|
name: 'google-analytics',
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
cookies: [
|
cookies: [
|
||||||
/^_ga(_.*)?/ // we delete the Google Analytics cookies if the user declines its use
|
/^_ga(_.*)?/ // we delete the Google Analytics cookies if the user declines its use
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
+237
-237
@@ -1,238 +1,238 @@
|
|||||||
// By default, Klaro will load the config from a global "klaroConfig" variable.
|
// By default, Klaro will load the config from a global "klaroConfig" variable.
|
||||||
// You can change this by specifying the "data-config" attribute on your
|
// You can change this by specifying the "data-config" attribute on your
|
||||||
// script take, e.g. like this:
|
// script take, e.g. like this:
|
||||||
// <script src="klaro.js" data-config="myConfigVariableName" />
|
// <script src="klaro.js" data-config="myConfigVariableName" />
|
||||||
var klaroConfig = {
|
var klaroConfig = {
|
||||||
// With the 0.7.0 release we introduce a 'version' paramter that will make
|
// With the 0.7.0 release we introduce a 'version' paramter that will make
|
||||||
// if easier for us to keep configuration files backwards-compatible in the future.
|
// if easier for us to keep configuration files backwards-compatible in the future.
|
||||||
version: 1,
|
version: 1,
|
||||||
|
|
||||||
// You can customize the ID of the DIV element that Klaro will create
|
// You can customize the ID of the DIV element that Klaro will create
|
||||||
// when starting up. If undefined, Klaro will use 'klaro'.
|
// when starting up. If undefined, Klaro will use 'klaro'.
|
||||||
elementID: 'klaro',
|
elementID: 'klaro',
|
||||||
|
|
||||||
// You can override CSS style variables here. For IE11, Klaro will
|
// You can override CSS style variables here. For IE11, Klaro will
|
||||||
// dynamically inject the variables into the CSS. If you still consider
|
// dynamically inject the variables into the CSS. If you still consider
|
||||||
// supporting IE9-10 (which you probably shouldn't) you need to use Klaro
|
// supporting IE9-10 (which you probably shouldn't) you need to use Klaro
|
||||||
// with an external stylesheet as the dynamic replacement won't work there.
|
// with an external stylesheet as the dynamic replacement won't work there.
|
||||||
styling: {
|
styling: {
|
||||||
theme: ['light', 'top', 'wide'],
|
theme: ['light', 'top', 'wide'],
|
||||||
},
|
},
|
||||||
|
|
||||||
// Setting this to true will keep Klaro from automatically loading itself
|
// Setting this to true will keep Klaro from automatically loading itself
|
||||||
// when the page is being loaded.
|
// when the page is being loaded.
|
||||||
noAutoLoad: false,
|
noAutoLoad: false,
|
||||||
|
|
||||||
// Setting this to true will render the descriptions of the consent
|
// Setting this to true will render the descriptions of the consent
|
||||||
// modal and consent notice are HTML. Use with care.
|
// modal and consent notice are HTML. Use with care.
|
||||||
htmlTexts: true,
|
htmlTexts: true,
|
||||||
|
|
||||||
// Setting 'embedded' to true will render the Klaro modal and notice without
|
// Setting 'embedded' to true will render the Klaro modal and notice without
|
||||||
// the modal background, allowing you to e.g. embed them into a specific element
|
// the modal background, allowing you to e.g. embed them into a specific element
|
||||||
// of your website, such as your privacy notice.
|
// of your website, such as your privacy notice.
|
||||||
embedded: false,
|
embedded: false,
|
||||||
|
|
||||||
// You can group services by their purpose in the modal. This is advisable
|
// You can group services by their purpose in the modal. This is advisable
|
||||||
// if you have a large number of services. Users can then enable or disable
|
// if you have a large number of services. Users can then enable or disable
|
||||||
// entire groups of services instead of having to enable or disable every service.
|
// entire groups of services instead of having to enable or disable every service.
|
||||||
groupByPurpose: true,
|
groupByPurpose: true,
|
||||||
|
|
||||||
// How Klaro should store the user's preferences. It can be either 'cookie'
|
// How Klaro should store the user's preferences. It can be either 'cookie'
|
||||||
// (the default) or 'localStorage'.
|
// (the default) or 'localStorage'.
|
||||||
storageMethod: 'cookie',
|
storageMethod: 'cookie',
|
||||||
|
|
||||||
// You can customize the name of the cookie that Klaro uses for storing
|
// You can customize the name of the cookie that Klaro uses for storing
|
||||||
// user consent decisions. If undefined, Klaro will use 'klaro'.
|
// user consent decisions. If undefined, Klaro will use 'klaro'.
|
||||||
cookieName: 'klaro',
|
cookieName: 'klaro',
|
||||||
|
|
||||||
// You can also set a custom expiration time for the Klaro cookie.
|
// You can also set a custom expiration time for the Klaro cookie.
|
||||||
// By default, it will expire after 120 days.
|
// By default, it will expire after 120 days.
|
||||||
cookieExpiresAfterDays: 365,
|
cookieExpiresAfterDays: 365,
|
||||||
|
|
||||||
// You can change to cookie domain for the consent manager itself.
|
// You can change to cookie domain for the consent manager itself.
|
||||||
// Use this if you want to get consent once for multiple matching domains.
|
// Use this if you want to get consent once for multiple matching domains.
|
||||||
// If undefined, Klaro will use the current domain.
|
// If undefined, Klaro will use the current domain.
|
||||||
//cookieDomain: '.github.com',
|
//cookieDomain: '.github.com',
|
||||||
|
|
||||||
// You can change to cookie path for the consent manager itself.
|
// You can change to cookie path for the consent manager itself.
|
||||||
// Use this to restrict the cookie visibility to a specific path.
|
// Use this to restrict the cookie visibility to a specific path.
|
||||||
// If undefined, Klaro will use '/' as cookie path.
|
// If undefined, Klaro will use '/' as cookie path.
|
||||||
//cookiePath: '/',
|
//cookiePath: '/',
|
||||||
|
|
||||||
// Defines the default state for services (true=enabled by default).
|
// Defines the default state for services (true=enabled by default).
|
||||||
default: false,
|
default: false,
|
||||||
|
|
||||||
// If "mustConsent" is set to true, Klaro will directly display the consent
|
// If "mustConsent" is set to true, Klaro will directly display the consent
|
||||||
// manager modal and not allow the user to close it before having actively
|
// manager modal and not allow the user to close it before having actively
|
||||||
// consented or declines the use of third-party services.
|
// consented or declines the use of third-party services.
|
||||||
mustConsent: true,
|
mustConsent: true,
|
||||||
|
|
||||||
// Show "accept all" to accept all services instead of "ok" that only accepts
|
// Show "accept all" to accept all services instead of "ok" that only accepts
|
||||||
// required and "default: true" services
|
// required and "default: true" services
|
||||||
acceptAll: true,
|
acceptAll: true,
|
||||||
|
|
||||||
// replace "decline" with cookie manager modal
|
// replace "decline" with cookie manager modal
|
||||||
hideDeclineAll: true,
|
hideDeclineAll: true,
|
||||||
|
|
||||||
// hide "learnMore" link
|
// hide "learnMore" link
|
||||||
hideLearnMore: false,
|
hideLearnMore: false,
|
||||||
|
|
||||||
// show cookie notice as modal
|
// show cookie notice as modal
|
||||||
noticeAsModal: false,
|
noticeAsModal: false,
|
||||||
|
|
||||||
// You can also remove the 'Realized with Klaro!' text in the consent modal.
|
// You can also remove the 'Realized with Klaro!' text in the consent modal.
|
||||||
// Please don't do this! We provide Klaro as a free open source tool.
|
// Please don't do this! We provide Klaro as a free open source tool.
|
||||||
// Placing a link to our website helps us spread the word about it,
|
// Placing a link to our website helps us spread the word about it,
|
||||||
// which ultimately enables us to make Klaro! better for everyone.
|
// which ultimately enables us to make Klaro! better for everyone.
|
||||||
// So please be fair and keep the link enabled. Thanks :)
|
// So please be fair and keep the link enabled. Thanks :)
|
||||||
//disablePoweredBy: true,
|
//disablePoweredBy: true,
|
||||||
|
|
||||||
// you can specify an additional class (or classes) that will be added to the Klaro `div`
|
// you can specify an additional class (or classes) that will be added to the Klaro `div`
|
||||||
//additionalClass: 'my-klaro',
|
//additionalClass: 'my-klaro',
|
||||||
|
|
||||||
// You can define the UI language directly here. If undefined, Klaro will
|
// You can define the UI language directly here. If undefined, Klaro will
|
||||||
// use the value given in the global "lang" variable. If that does
|
// use the value given in the global "lang" variable. If that does
|
||||||
// not exist, it will use the value given in the "lang" attribute of your
|
// not exist, it will use the value given in the "lang" attribute of your
|
||||||
// HTML tag. If that also doesn't exist, it will use 'en'.
|
// HTML tag. If that also doesn't exist, it will use 'en'.
|
||||||
lang: 'de',
|
lang: 'de',
|
||||||
|
|
||||||
// You can overwrite existing translations and add translations for your
|
// You can overwrite existing translations and add translations for your
|
||||||
// service descriptions and purposes. See `src/translations/` for a full
|
// service descriptions and purposes. See `src/translations/` for a full
|
||||||
// list of translations that can be overwritten:
|
// list of translations that can be overwritten:
|
||||||
// https://github.com/KIProtect/klaro/tree/master/src/translations
|
// https://github.com/KIProtect/klaro/tree/master/src/translations
|
||||||
|
|
||||||
// Example config that shows how to overwrite translations:
|
// Example config that shows how to overwrite translations:
|
||||||
// https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
|
// https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
|
||||||
translations: {
|
translations: {
|
||||||
// translationsed defined under the 'zz' language code act as default
|
// translationsed defined under the 'zz' language code act as default
|
||||||
// translations.
|
// translations.
|
||||||
zz: {
|
zz: {
|
||||||
privacyPolicyUrl: '/datenschutz',
|
privacyPolicyUrl: '/datenschutz',
|
||||||
},
|
},
|
||||||
// If you erase the "consentModal" translations, Klaro will use the
|
// If you erase the "consentModal" translations, Klaro will use the
|
||||||
// bundled translations.
|
// bundled translations.
|
||||||
de: {
|
de: {
|
||||||
privacyPolicyUrl: '/datenschutz',
|
privacyPolicyUrl: '/datenschutz',
|
||||||
|
|
||||||
consentModal: {
|
consentModal: {
|
||||||
title: '<u>Cookie Consent Tool</u>',
|
title: '<u>Cookie Consent Tool</u>',
|
||||||
description:
|
description:
|
||||||
'Wir verwenden Cookies um Inhalte und Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Ich bin damit einverstanden und kann meine Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen oder ändern.',
|
'Wir verwenden Cookies um Inhalte und Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Ich bin damit einverstanden und kann meine Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen oder ändern.',
|
||||||
},
|
},
|
||||||
googleFonts: {
|
googleFonts: {
|
||||||
description: 'Web-Schriftarten von Google gehostet',
|
description: 'Web-Schriftarten von Google gehostet',
|
||||||
},
|
},
|
||||||
purposes: {
|
purposes: {
|
||||||
analytics: 'Besucher-Statistiken',
|
analytics: 'Besucher-Statistiken',
|
||||||
security: 'Sicherheit',
|
security: 'Sicherheit',
|
||||||
livechat: 'Live Chat',
|
livechat: 'Live Chat',
|
||||||
advertising: 'Anzeigen von Werbung',
|
advertising: 'Anzeigen von Werbung',
|
||||||
styling: 'Styling',
|
styling: 'Styling',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
consentModal: {
|
consentModal: {
|
||||||
title: '<u>Cookie Consent Tool</u>',
|
title: '<u>Cookie Consent Tool</u>',
|
||||||
description:
|
description:
|
||||||
'We use cookies to provide content and social media features and to analyze traffic to our website. I agree to this and can revoke or change my consent at any time with effect for the future.',
|
'We use cookies to provide content and social media features and to analyze traffic to our website. I agree to this and can revoke or change my consent at any time with effect for the future.',
|
||||||
},
|
},
|
||||||
googleFonts: {
|
googleFonts: {
|
||||||
description: 'Web fonts hosted by Google',
|
description: 'Web fonts hosted by Google',
|
||||||
},
|
},
|
||||||
purposes: {
|
purposes: {
|
||||||
analytics: 'Analytics',
|
analytics: 'Analytics',
|
||||||
security: 'Security',
|
security: 'Security',
|
||||||
livechat: 'Livechat',
|
livechat: 'Livechat',
|
||||||
advertising: 'Advertising',
|
advertising: 'Advertising',
|
||||||
styling: 'Styling',
|
styling: 'Styling',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// This is a list of third-party services that Klaro will manage for you.
|
// This is a list of third-party services that Klaro will manage for you.
|
||||||
services: [
|
services: [
|
||||||
{
|
{
|
||||||
name: 'twitter',
|
name: 'twitter',
|
||||||
default: true,
|
default: true,
|
||||||
contextualConsentOnly: true,
|
contextualConsentOnly: true,
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'youtube',
|
name: 'youtube',
|
||||||
default: true,
|
default: true,
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'doctolib',
|
name: 'doctolib',
|
||||||
default: true,
|
default: true,
|
||||||
purposes: ['styling'],
|
purposes: ['styling'],
|
||||||
|
|
||||||
cookies: [
|
cookies: [
|
||||||
[/^__cf_bm.*$/, '/', '.doctolib.de'],
|
[/^__cf_bm.*$/, '/', '.doctolib.de'],
|
||||||
[/^_doctolib_session.*$/, '/', 'partners.doctolib.de'],
|
[/^_doctolib_session.*$/, '/', 'partners.doctolib.de'],
|
||||||
[/^cookies.js.*$/, '/', 'partners.doctolib.de'],
|
[/^cookies.js.*$/, '/', 'partners.doctolib.de'],
|
||||||
[/^esid.*$/, '/', 'partners.doctolib.de'],
|
[/^esid.*$/, '/', 'partners.doctolib.de'],
|
||||||
[/^temporary_appointment_id.*$/, '/', 'partners.doctolib.de'],
|
[/^temporary_appointment_id.*$/, '/', 'partners.doctolib.de'],
|
||||||
[/^_doctolib_session.*$/, '/', 'www.doctolib.de'],
|
[/^_doctolib_session.*$/, '/', 'www.doctolib.de'],
|
||||||
[/^ssid.*$/, '/', 'www.doctolib.de'],
|
[/^ssid.*$/, '/', 'www.doctolib.de'],
|
||||||
['temporary_appointment_id', '/', 'www.doctolib.de'],
|
['temporary_appointment_id', '/', 'www.doctolib.de'],
|
||||||
[/^_pk_.*$/, '/', 'klaro.kiprotect.com'], //for the production version
|
[/^_pk_.*$/, '/', 'klaro.kiprotect.com'], //for the production version
|
||||||
[/^_pk_.*$/, '/', 'localhost'], //for the local version
|
[/^_pk_.*$/, '/', 'localhost'], //for the local version
|
||||||
'piwik_ignore',
|
'piwik_ignore',
|
||||||
|
|
||||||
],
|
],
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'google-tag-manager',
|
name: 'google-tag-manager',
|
||||||
default: true,
|
default: true,
|
||||||
purposes: ['analytics'],
|
purposes: ['analytics'],
|
||||||
onAccept: `
|
onAccept: `
|
||||||
// we notify the tag manager about all services that were accepted. You can define
|
// we notify the tag manager about all services that were accepted. You can define
|
||||||
// a custom event in GTM to load the service if consent was given.
|
// a custom event in GTM to load the service if consent was given.
|
||||||
for(let k of Object.keys(opts.consents)){
|
for(let k of Object.keys(opts.consents)){
|
||||||
if (opts.consents[k]){
|
if (opts.consents[k]){
|
||||||
let eventName = 'klaro-'+k+'-accepted'
|
let eventName = 'klaro-'+k+'-accepted'
|
||||||
dataLayer.push({'event': eventName})
|
dataLayer.push({'event': eventName})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if consent for Google Analytics was granted we enable analytics storage
|
// if consent for Google Analytics was granted we enable analytics storage
|
||||||
if (opts.consents[opts.vars.googleAnalyticsName || 'google-analytics']){
|
if (opts.consents[opts.vars.googleAnalyticsName || 'google-analytics']){
|
||||||
console.log("Google analytics usage was granted")
|
console.log("Google analytics usage was granted")
|
||||||
gtag('consent', 'update', {'analytics_storage': 'granted'})
|
gtag('consent', 'update', {'analytics_storage': 'granted'})
|
||||||
}
|
}
|
||||||
// if consent for Google Ads was granted we enable ad storage
|
// if consent for Google Ads was granted we enable ad storage
|
||||||
if (opts.consents[opts.vars.adStorageName || 'google-ads']){
|
if (opts.consents[opts.vars.adStorageName || 'google-ads']){
|
||||||
console.log("Google ads usage was granted")
|
console.log("Google ads usage was granted")
|
||||||
gtag('consent', 'update', {'ad_storage': 'granted'})
|
gtag('consent', 'update', {'ad_storage': 'granted'})
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
onInit: `
|
onInit: `
|
||||||
// initialization code here (will be executed only once per page-load)
|
// initialization code here (will be executed only once per page-load)
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
window.gtag = function(){dataLayer.push(arguments)}
|
window.gtag = function(){dataLayer.push(arguments)}
|
||||||
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
||||||
gtag('set', 'ads_data_redaction', true)
|
gtag('set', 'ads_data_redaction', true)
|
||||||
`,
|
`,
|
||||||
onDecline: `
|
onDecline: `
|
||||||
// initialization code here (will be executed only once per page-load)
|
// initialization code here (will be executed only once per page-load)
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
window.gtag = function(){dataLayer.push(arguments)}
|
window.gtag = function(){dataLayer.push(arguments)}
|
||||||
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
||||||
gtag('set', 'ads_data_redaction', true)
|
gtag('set', 'ads_data_redaction', true)
|
||||||
`,
|
`,
|
||||||
vars: {
|
vars: {
|
||||||
googleAnalytics: 'google-analytics'
|
googleAnalytics: 'google-analytics'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// In GTM, you should define a custom event trigger named `klaro-google-analytics-accepted` which should trigger the Google Analytics integration.
|
// In GTM, you should define a custom event trigger named `klaro-google-analytics-accepted` which should trigger the Google Analytics integration.
|
||||||
default: true,
|
default: true,
|
||||||
name: 'google-analytics',
|
name: 'google-analytics',
|
||||||
purposes: ['analytics'],
|
purposes: ['analytics'],
|
||||||
cookies: [
|
cookies: [
|
||||||
/^_ga(_.*)?/ // we delete the Google Analytics cookies if the user declines its use
|
/^_ga(_.*)?/ // we delete the Google Analytics cookies if the user declines its use
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
+18
-18
@@ -1,19 +1,19 @@
|
|||||||
function zweitterminpruefen() {
|
function zweitterminpruefen() {
|
||||||
var e = document.getElementById("Terminzeitraum");
|
var e = document.getElementById("Terminzeitraum");
|
||||||
var timeidjs = e.value;
|
var timeidjs = e.value;
|
||||||
var e = document.getElementById("impfart");
|
var e = document.getElementById("impfart");
|
||||||
var impfart = e.value;
|
var impfart = e.value;
|
||||||
if(impfart == 2){
|
if(impfart == 2){
|
||||||
result = $.ajax({
|
result = $.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
async: false,
|
async: false,
|
||||||
url: 'inc/zweittermin.php',
|
url: 'inc/zweittermin.php',
|
||||||
data: ({
|
data: ({
|
||||||
timeid: timeidjs
|
timeid: timeidjs
|
||||||
})
|
})
|
||||||
}).responseText;
|
}).responseText;
|
||||||
|
|
||||||
document.getElementById("Zweittermin").innerHTML = $result;
|
document.getElementById("Zweittermin").innerHTML = $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+446
-446
File diff suppressed because one or more lines are too long
+371
-371
@@ -1,372 +1,372 @@
|
|||||||
// By default, Klaro will load the config from a global "klaroConfig" variable.
|
// By default, Klaro will load the config from a global "klaroConfig" variable.
|
||||||
// You can change this by specifying the "data-config" attribute on your
|
// You can change this by specifying the "data-config" attribute on your
|
||||||
// script take, e.g. like this:
|
// script take, e.g. like this:
|
||||||
// <script src="klaro.js" data-config="myConfigVariableName" />
|
// <script src="klaro.js" data-config="myConfigVariableName" />
|
||||||
var klaroConfig = {
|
var klaroConfig = {
|
||||||
// With the 0.7.0 release we introduce a 'version' paramter that will make
|
// With the 0.7.0 release we introduce a 'version' paramter that will make
|
||||||
// if easier for us to keep configuration files backwards-compatible in the future.
|
// if easier for us to keep configuration files backwards-compatible in the future.
|
||||||
version: 1,
|
version: 1,
|
||||||
|
|
||||||
// You can customize the ID of the DIV element that Klaro will create
|
// You can customize the ID of the DIV element that Klaro will create
|
||||||
// when starting up. If undefined, Klaro will use 'klaro'.
|
// when starting up. If undefined, Klaro will use 'klaro'.
|
||||||
elementID: 'klaro',
|
elementID: 'klaro',
|
||||||
|
|
||||||
// You can override CSS style variables here. For IE11, Klaro will
|
// You can override CSS style variables here. For IE11, Klaro will
|
||||||
// dynamically inject the variables into the CSS. If you still consider
|
// dynamically inject the variables into the CSS. If you still consider
|
||||||
// supporting IE9-10 (which you probably shouldn't) you need to use Klaro
|
// supporting IE9-10 (which you probably shouldn't) you need to use Klaro
|
||||||
// with an external stylesheet as the dynamic replacement won't work there.
|
// with an external stylesheet as the dynamic replacement won't work there.
|
||||||
styling: {
|
styling: {
|
||||||
theme: ['light', 'top', 'wide'],
|
theme: ['light', 'top', 'wide'],
|
||||||
},
|
},
|
||||||
|
|
||||||
// Setting this to true will keep Klaro from automatically loading itself
|
// Setting this to true will keep Klaro from automatically loading itself
|
||||||
// when the page is being loaded.
|
// when the page is being loaded.
|
||||||
noAutoLoad: false,
|
noAutoLoad: false,
|
||||||
|
|
||||||
// Setting this to true will render the descriptions of the consent
|
// Setting this to true will render the descriptions of the consent
|
||||||
// modal and consent notice are HTML. Use with care.
|
// modal and consent notice are HTML. Use with care.
|
||||||
htmlTexts: true,
|
htmlTexts: true,
|
||||||
|
|
||||||
// Setting 'embedded' to true will render the Klaro modal and notice without
|
// Setting 'embedded' to true will render the Klaro modal and notice without
|
||||||
// the modal background, allowing you to e.g. embed them into a specific element
|
// the modal background, allowing you to e.g. embed them into a specific element
|
||||||
// of your website, such as your privacy notice.
|
// of your website, such as your privacy notice.
|
||||||
embedded: false,
|
embedded: false,
|
||||||
|
|
||||||
// You can group services by their purpose in the modal. This is advisable
|
// You can group services by their purpose in the modal. This is advisable
|
||||||
// if you have a large number of services. Users can then enable or disable
|
// if you have a large number of services. Users can then enable or disable
|
||||||
// entire groups of services instead of having to enable or disable every service.
|
// entire groups of services instead of having to enable or disable every service.
|
||||||
groupByPurpose: true,
|
groupByPurpose: true,
|
||||||
|
|
||||||
// How Klaro should store the user's preferences. It can be either 'cookie'
|
// How Klaro should store the user's preferences. It can be either 'cookie'
|
||||||
// (the default) or 'localStorage'.
|
// (the default) or 'localStorage'.
|
||||||
storageMethod: 'cookie',
|
storageMethod: 'cookie',
|
||||||
|
|
||||||
// You can customize the name of the cookie that Klaro uses for storing
|
// You can customize the name of the cookie that Klaro uses for storing
|
||||||
// user consent decisions. If undefined, Klaro will use 'klaro'.
|
// user consent decisions. If undefined, Klaro will use 'klaro'.
|
||||||
cookieName: 'klaro',
|
cookieName: 'klaro',
|
||||||
|
|
||||||
// You can also set a custom expiration time for the Klaro cookie.
|
// You can also set a custom expiration time for the Klaro cookie.
|
||||||
// By default, it will expire after 120 days.
|
// By default, it will expire after 120 days.
|
||||||
cookieExpiresAfterDays: 365,
|
cookieExpiresAfterDays: 365,
|
||||||
|
|
||||||
// You can change to cookie domain for the consent manager itself.
|
// You can change to cookie domain for the consent manager itself.
|
||||||
// Use this if you want to get consent once for multiple matching domains.
|
// Use this if you want to get consent once for multiple matching domains.
|
||||||
// If undefined, Klaro will use the current domain.
|
// If undefined, Klaro will use the current domain.
|
||||||
//cookieDomain: '.github.com',
|
//cookieDomain: '.github.com',
|
||||||
|
|
||||||
// You can change to cookie path for the consent manager itself.
|
// You can change to cookie path for the consent manager itself.
|
||||||
// Use this to restrict the cookie visibility to a specific path.
|
// Use this to restrict the cookie visibility to a specific path.
|
||||||
// If undefined, Klaro will use '/' as cookie path.
|
// If undefined, Klaro will use '/' as cookie path.
|
||||||
//cookiePath: '/',
|
//cookiePath: '/',
|
||||||
|
|
||||||
// Defines the default state for services (true=enabled by default).
|
// Defines the default state for services (true=enabled by default).
|
||||||
default: false,
|
default: false,
|
||||||
|
|
||||||
// If "mustConsent" is set to true, Klaro will directly display the consent
|
// If "mustConsent" is set to true, Klaro will directly display the consent
|
||||||
// manager modal and not allow the user to close it before having actively
|
// manager modal and not allow the user to close it before having actively
|
||||||
// consented or declines the use of third-party services.
|
// consented or declines the use of third-party services.
|
||||||
mustConsent: false,
|
mustConsent: false,
|
||||||
|
|
||||||
// Show "accept all" to accept all services instead of "ok" that only accepts
|
// Show "accept all" to accept all services instead of "ok" that only accepts
|
||||||
// required and "default: true" services
|
// required and "default: true" services
|
||||||
acceptAll: true,
|
acceptAll: true,
|
||||||
|
|
||||||
// replace "decline" with cookie manager modal
|
// replace "decline" with cookie manager modal
|
||||||
hideDeclineAll: false,
|
hideDeclineAll: false,
|
||||||
|
|
||||||
// hide "learnMore" link
|
// hide "learnMore" link
|
||||||
hideLearnMore: false,
|
hideLearnMore: false,
|
||||||
|
|
||||||
// show cookie notice as modal
|
// show cookie notice as modal
|
||||||
noticeAsModal: false,
|
noticeAsModal: false,
|
||||||
|
|
||||||
// You can also remove the 'Realized with Klaro!' text in the consent modal.
|
// You can also remove the 'Realized with Klaro!' text in the consent modal.
|
||||||
// Please don't do this! We provide Klaro as a free open source tool.
|
// Please don't do this! We provide Klaro as a free open source tool.
|
||||||
// Placing a link to our website helps us spread the word about it,
|
// Placing a link to our website helps us spread the word about it,
|
||||||
// which ultimately enables us to make Klaro! better for everyone.
|
// which ultimately enables us to make Klaro! better for everyone.
|
||||||
// So please be fair and keep the link enabled. Thanks :)
|
// So please be fair and keep the link enabled. Thanks :)
|
||||||
//disablePoweredBy: true,
|
//disablePoweredBy: true,
|
||||||
|
|
||||||
// you can specify an additional class (or classes) that will be added to the Klaro `div`
|
// you can specify an additional class (or classes) that will be added to the Klaro `div`
|
||||||
//additionalClass: 'my-klaro',
|
//additionalClass: 'my-klaro',
|
||||||
|
|
||||||
// You can define the UI language directly here. If undefined, Klaro will
|
// You can define the UI language directly here. If undefined, Klaro will
|
||||||
// use the value given in the global "lang" variable. If that does
|
// use the value given in the global "lang" variable. If that does
|
||||||
// not exist, it will use the value given in the "lang" attribute of your
|
// not exist, it will use the value given in the "lang" attribute of your
|
||||||
// HTML tag. If that also doesn't exist, it will use 'en'.
|
// HTML tag. If that also doesn't exist, it will use 'en'.
|
||||||
//lang: 'en',
|
//lang: 'en',
|
||||||
|
|
||||||
// You can overwrite existing translations and add translations for your
|
// You can overwrite existing translations and add translations for your
|
||||||
// service descriptions and purposes. See `src/translations/` for a full
|
// service descriptions and purposes. See `src/translations/` for a full
|
||||||
// list of translations that can be overwritten:
|
// list of translations that can be overwritten:
|
||||||
// https://github.com/KIProtect/klaro/tree/master/src/translations
|
// https://github.com/KIProtect/klaro/tree/master/src/translations
|
||||||
|
|
||||||
// Example config that shows how to overwrite translations:
|
// Example config that shows how to overwrite translations:
|
||||||
// https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
|
// https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
|
||||||
translations: {
|
translations: {
|
||||||
// translationsed defined under the 'zz' language code act as default
|
// translationsed defined under the 'zz' language code act as default
|
||||||
// translations.
|
// translations.
|
||||||
zz: {
|
zz: {
|
||||||
privacyPolicyUrl: '/#privacy',
|
privacyPolicyUrl: '/#privacy',
|
||||||
},
|
},
|
||||||
// If you erase the "consentModal" translations, Klaro will use the
|
// If you erase the "consentModal" translations, Klaro will use the
|
||||||
// bundled translations.
|
// bundled translations.
|
||||||
de: {
|
de: {
|
||||||
privacyPolicyUrl: '/#datenschutz',
|
privacyPolicyUrl: '/#datenschutz',
|
||||||
consentModal: {
|
consentModal: {
|
||||||
description:
|
description:
|
||||||
'Hier können Sie einsehen und anpassen, welche Information wir über Sie sammeln. Einträge die als "Beispiel" gekennzeichnet sind dienen lediglich zu Demonstrationszwecken und werden nicht wirklich verwendet.',
|
'Hier können Sie einsehen und anpassen, welche Information wir über Sie sammeln. Einträge die als "Beispiel" gekennzeichnet sind dienen lediglich zu Demonstrationszwecken und werden nicht wirklich verwendet.',
|
||||||
},
|
},
|
||||||
adsense: {
|
adsense: {
|
||||||
description: 'Anzeigen von Werbeanzeigen (Beispiel)',
|
description: 'Anzeigen von Werbeanzeigen (Beispiel)',
|
||||||
title: 'Google AdSense Werbezeugs',
|
title: 'Google AdSense Werbezeugs',
|
||||||
},
|
},
|
||||||
matomo: {
|
matomo: {
|
||||||
description: 'Sammeln von Besucherstatistiken',
|
description: 'Sammeln von Besucherstatistiken',
|
||||||
},
|
},
|
||||||
camera: {
|
camera: {
|
||||||
description:
|
description:
|
||||||
'Eine Überwachungskamera (nur ein Beispiel zu IMG-Tags)',
|
'Eine Überwachungskamera (nur ein Beispiel zu IMG-Tags)',
|
||||||
},
|
},
|
||||||
cloudflare: {
|
cloudflare: {
|
||||||
description: 'Schutz gegen DDoS-Angriffe',
|
description: 'Schutz gegen DDoS-Angriffe',
|
||||||
},
|
},
|
||||||
intercom: {
|
intercom: {
|
||||||
description:
|
description:
|
||||||
'Chat Widget & Sammeln von Besucherstatistiken (nur ein Beispiel)',
|
'Chat Widget & Sammeln von Besucherstatistiken (nur ein Beispiel)',
|
||||||
},
|
},
|
||||||
mouseflow: {
|
mouseflow: {
|
||||||
description: 'Echtzeit-Benutzeranalyse (nur ein Beispiel)',
|
description: 'Echtzeit-Benutzeranalyse (nur ein Beispiel)',
|
||||||
},
|
},
|
||||||
googleFonts: {
|
googleFonts: {
|
||||||
description: 'Web-Schriftarten von Google gehostet',
|
description: 'Web-Schriftarten von Google gehostet',
|
||||||
},
|
},
|
||||||
purposes: {
|
purposes: {
|
||||||
analytics: 'Besucher-Statistiken',
|
analytics: 'Besucher-Statistiken',
|
||||||
security: 'Sicherheit',
|
security: 'Sicherheit',
|
||||||
livechat: 'Live Chat',
|
livechat: 'Live Chat',
|
||||||
advertising: 'Anzeigen von Werbung',
|
advertising: 'Anzeigen von Werbung',
|
||||||
styling: 'Styling',
|
styling: 'Styling',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
consentModal: {
|
consentModal: {
|
||||||
title: '<u>test</u>',
|
title: '<u>test</u>',
|
||||||
description:
|
description:
|
||||||
'Here you can see and customize the information that we collect about you. Entries marked as "Example" are just for demonstration purposes and are not really used on this website.',
|
'Here you can see and customize the information that we collect about you. Entries marked as "Example" are just for demonstration purposes and are not really used on this website.',
|
||||||
},
|
},
|
||||||
adsense: {
|
adsense: {
|
||||||
description: 'Displaying of advertisements (just an example)',
|
description: 'Displaying of advertisements (just an example)',
|
||||||
title: 'Google Adsense Advertisement',
|
title: 'Google Adsense Advertisement',
|
||||||
},
|
},
|
||||||
matomo: {
|
matomo: {
|
||||||
description: 'Collecting of visitor statistics',
|
description: 'Collecting of visitor statistics',
|
||||||
},
|
},
|
||||||
camera: {
|
camera: {
|
||||||
description:
|
description:
|
||||||
'A surveillance camera (just an example for an IMG tag)',
|
'A surveillance camera (just an example for an IMG tag)',
|
||||||
},
|
},
|
||||||
cloudflare: {
|
cloudflare: {
|
||||||
description: 'Protection against DDoS attacks',
|
description: 'Protection against DDoS attacks',
|
||||||
},
|
},
|
||||||
intercom: {
|
intercom: {
|
||||||
description:
|
description:
|
||||||
'Chat widget & collecting of visitor statistics (just an example)',
|
'Chat widget & collecting of visitor statistics (just an example)',
|
||||||
},
|
},
|
||||||
mouseflow: {
|
mouseflow: {
|
||||||
description: 'Real-Time user analytics (just an example)',
|
description: 'Real-Time user analytics (just an example)',
|
||||||
},
|
},
|
||||||
googleFonts: {
|
googleFonts: {
|
||||||
description: 'Web fonts hosted by Google',
|
description: 'Web fonts hosted by Google',
|
||||||
},
|
},
|
||||||
purposes: {
|
purposes: {
|
||||||
analytics: 'Analytics',
|
analytics: 'Analytics',
|
||||||
security: 'Security',
|
security: 'Security',
|
||||||
livechat: 'Livechat',
|
livechat: 'Livechat',
|
||||||
advertising: 'Advertising',
|
advertising: 'Advertising',
|
||||||
styling: 'Styling',
|
styling: 'Styling',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// This is a list of third-party services that Klaro will manage for you.
|
// This is a list of third-party services that Klaro will manage for you.
|
||||||
services: [
|
services: [
|
||||||
{
|
{
|
||||||
name: 'twitter',
|
name: 'twitter',
|
||||||
default: false,
|
default: false,
|
||||||
contextualConsentOnly: true,
|
contextualConsentOnly: true,
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'youtube',
|
name: 'youtube',
|
||||||
default: true,
|
default: true,
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// Each service should have a unique (and short) name.
|
// Each service should have a unique (and short) name.
|
||||||
name: 'matomo',
|
name: 'matomo',
|
||||||
|
|
||||||
// If "default" is set to true, the service will be enabled by default
|
// If "default" is set to true, the service will be enabled by default
|
||||||
// Overwrites global "default" setting.
|
// Overwrites global "default" setting.
|
||||||
// We recommend leaving this to "false" for services that collect
|
// We recommend leaving this to "false" for services that collect
|
||||||
// personal information.
|
// personal information.
|
||||||
default: true,
|
default: true,
|
||||||
|
|
||||||
// The title of you service as listed in the consent modal.
|
// The title of you service as listed in the consent modal.
|
||||||
title: 'Matomo/Piwik',
|
title: 'Matomo/Piwik',
|
||||||
|
|
||||||
// The purpose(s) of this service. Will be listed on the consent notice.
|
// The purpose(s) of this service. Will be listed on the consent notice.
|
||||||
// Do not forget to add translations for all purposes you list here.
|
// Do not forget to add translations for all purposes you list here.
|
||||||
purposes: ['analytics'],
|
purposes: ['analytics'],
|
||||||
|
|
||||||
// A list of regex expressions or strings giving the names of
|
// A list of regex expressions or strings giving the names of
|
||||||
// cookies set by this service. If the user withdraws consent for a
|
// cookies set by this service. If the user withdraws consent for a
|
||||||
// given service, Klaro will then automatically delete all matching
|
// given service, Klaro will then automatically delete all matching
|
||||||
// cookies.
|
// cookies.
|
||||||
cookies: [
|
cookies: [
|
||||||
// you can also explicitly provide a path and a domain for
|
// you can also explicitly provide a path and a domain for
|
||||||
// a given cookie. This is necessary if you have services that
|
// a given cookie. This is necessary if you have services that
|
||||||
// set cookies for a path that is not "/" or a domain that
|
// set cookies for a path that is not "/" or a domain that
|
||||||
// is not the current domain. If you do not set these values
|
// is not the current domain. If you do not set these values
|
||||||
// properly, the cookie can't be deleted by Klaro
|
// properly, the cookie can't be deleted by Klaro
|
||||||
// (there is no way to access the path or domain of a cookie in JS)
|
// (there is no way to access the path or domain of a cookie in JS)
|
||||||
// Notice that it is not possible to delete cookies that were set
|
// Notice that it is not possible to delete cookies that were set
|
||||||
// on a third-party domain! See the note at mdn:
|
// on a third-party domain! See the note at mdn:
|
||||||
// https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#new-cookie_domain
|
// https://developer.mozilla.org/en-US/docs/Web/API/Document/cookie#new-cookie_domain
|
||||||
[/^_pk_.*$/, '/', 'klaro.kiprotect.com'], //for the production version
|
[/^_pk_.*$/, '/', 'klaro.kiprotect.com'], //for the production version
|
||||||
[/^_pk_.*$/, '/', 'localhost'], //for the local version
|
[/^_pk_.*$/, '/', 'localhost'], //for the local version
|
||||||
'piwik_ignore',
|
'piwik_ignore',
|
||||||
],
|
],
|
||||||
|
|
||||||
// An optional callback function that will be called each time
|
// An optional callback function that will be called each time
|
||||||
// the consent state for the service changes (true=consented). Passes
|
// the consent state for the service changes (true=consented). Passes
|
||||||
// the `service` config as the second parameter as well.
|
// the `service` config as the second parameter as well.
|
||||||
callback: function(consent, service) {
|
callback: function(consent, service) {
|
||||||
// This is an example callback function.
|
// This is an example callback function.
|
||||||
console.log(
|
console.log(
|
||||||
'User consent for service ' + service.name + ': consent=' + consent
|
'User consent for service ' + service.name + ': consent=' + consent
|
||||||
);
|
);
|
||||||
// To be used in conjunction with Matomo 'requireCookieConsent' Feature, Matomo 3.14.0 or newer
|
// To be used in conjunction with Matomo 'requireCookieConsent' Feature, Matomo 3.14.0 or newer
|
||||||
// For further Information see https://matomo.org/faq/new-to-piwik/how-can-i-still-track-a-visitor-without-cookies-even-if-they-decline-the-cookie-consent/
|
// For further Information see https://matomo.org/faq/new-to-piwik/how-can-i-still-track-a-visitor-without-cookies-even-if-they-decline-the-cookie-consent/
|
||||||
/*
|
/*
|
||||||
if(consent==true){
|
if(consent==true){
|
||||||
_paq.push(['rememberCookieConsentGiven']);
|
_paq.push(['rememberCookieConsentGiven']);
|
||||||
} else {
|
} else {
|
||||||
_paq.push(['forgetCookieConsentGiven']);
|
_paq.push(['forgetCookieConsentGiven']);
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
},
|
},
|
||||||
|
|
||||||
// If "required" is set to true, Klaro will not allow this service to
|
// If "required" is set to true, Klaro will not allow this service to
|
||||||
// be disabled by the user.
|
// be disabled by the user.
|
||||||
required: false,
|
required: false,
|
||||||
|
|
||||||
// If "optOut" is set to true, Klaro will load this service even before
|
// If "optOut" is set to true, Klaro will load this service even before
|
||||||
// the user gave explicit consent.
|
// the user gave explicit consent.
|
||||||
// We recommend always leaving this "false".
|
// We recommend always leaving this "false".
|
||||||
optOut: false,
|
optOut: false,
|
||||||
|
|
||||||
// If "onlyOnce" is set to true, the service will only be executed
|
// If "onlyOnce" is set to true, the service will only be executed
|
||||||
// once regardless how often the user toggles it on and off.
|
// once regardless how often the user toggles it on and off.
|
||||||
onlyOnce: true,
|
onlyOnce: true,
|
||||||
},
|
},
|
||||||
|
|
||||||
// The services will appear in the modal in the same order as defined here.
|
// The services will appear in the modal in the same order as defined here.
|
||||||
{
|
{
|
||||||
name: 'inlineTracker',
|
name: 'inlineTracker',
|
||||||
title: 'Inline Tracker',
|
title: 'Inline Tracker',
|
||||||
purposes: ['analytics'],
|
purposes: ['analytics'],
|
||||||
cookies: ['inline-tracker'],
|
cookies: ['inline-tracker'],
|
||||||
optOut: false,
|
optOut: false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'externalTracker',
|
name: 'externalTracker',
|
||||||
title: 'External Tracker',
|
title: 'External Tracker',
|
||||||
purposes: ['analytics', 'security'],
|
purposes: ['analytics', 'security'],
|
||||||
cookies: ['external-tracker'],
|
cookies: ['external-tracker'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'intercom',
|
name: 'intercom',
|
||||||
title: 'Intercom',
|
title: 'Intercom',
|
||||||
default: true,
|
default: true,
|
||||||
purposes: ['livechat'],
|
purposes: ['livechat'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'mouseflow',
|
name: 'mouseflow',
|
||||||
title: 'Mouseflow',
|
title: 'Mouseflow',
|
||||||
purposes: ['analytics'],
|
purposes: ['analytics'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'adsense',
|
name: 'adsense',
|
||||||
// if you omit the title here Klaro will try to look it up in the
|
// if you omit the title here Klaro will try to look it up in the
|
||||||
// translations
|
// translations
|
||||||
//title: 'Google AdSense',
|
//title: 'Google AdSense',
|
||||||
purposes: ['advertising'],
|
purposes: ['advertising'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'camera',
|
name: 'camera',
|
||||||
title: 'Surveillance Camera',
|
title: 'Surveillance Camera',
|
||||||
purposes: ['security'],
|
purposes: ['security'],
|
||||||
},
|
},
|
||||||
/* {
|
/* {
|
||||||
name: 'googleFonts',
|
name: 'googleFonts',
|
||||||
title: 'Google Fonts',
|
title: 'Google Fonts',
|
||||||
purposes: ['styling'],
|
purposes: ['styling'],
|
||||||
},*/
|
},*/
|
||||||
{
|
{
|
||||||
name: 'cloudflare',
|
name: 'cloudflare',
|
||||||
title: 'Cloudflare',
|
title: 'Cloudflare',
|
||||||
purposes: ['security'],
|
purposes: ['security'],
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'google-tag-manager',
|
name: 'google-tag-manager',
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
onAccept: `
|
onAccept: `
|
||||||
// we notify the tag manager about all services that were accepted. You can define
|
// we notify the tag manager about all services that were accepted. You can define
|
||||||
// a custom event in GTM to load the service if consent was given.
|
// a custom event in GTM to load the service if consent was given.
|
||||||
for(let k of Object.keys(opts.consents)){
|
for(let k of Object.keys(opts.consents)){
|
||||||
if (opts.consents[k]){
|
if (opts.consents[k]){
|
||||||
let eventName = 'klaro-'+k+'-accepted'
|
let eventName = 'klaro-'+k+'-accepted'
|
||||||
dataLayer.push({'event': eventName})
|
dataLayer.push({'event': eventName})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if consent for Google Analytics was granted we enable analytics storage
|
// if consent for Google Analytics was granted we enable analytics storage
|
||||||
if (opts.consents[opts.vars.googleAnalyticsName || 'google-analytics']){
|
if (opts.consents[opts.vars.googleAnalyticsName || 'google-analytics']){
|
||||||
console.log("Google analytics usage was granted")
|
console.log("Google analytics usage was granted")
|
||||||
gtag('consent', 'update', {'analytics_storage': 'granted'})
|
gtag('consent', 'update', {'analytics_storage': 'granted'})
|
||||||
}
|
}
|
||||||
// if consent for Google Ads was granted we enable ad storage
|
// if consent for Google Ads was granted we enable ad storage
|
||||||
if (opts.consents[opts.vars.adStorageName || 'google-ads']){
|
if (opts.consents[opts.vars.adStorageName || 'google-ads']){
|
||||||
console.log("Google ads usage was granted")
|
console.log("Google ads usage was granted")
|
||||||
gtag('consent', 'update', {'ad_storage': 'granted'})
|
gtag('consent', 'update', {'ad_storage': 'granted'})
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
onInit: `
|
onInit: `
|
||||||
// initialization code here (will be executed only once per page-load)
|
// initialization code here (will be executed only once per page-load)
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
window.gtag = function(){dataLayer.push(arguments)}
|
window.gtag = function(){dataLayer.push(arguments)}
|
||||||
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
||||||
gtag('set', 'ads_data_redaction', true)
|
gtag('set', 'ads_data_redaction', true)
|
||||||
`,
|
`,
|
||||||
onDecline: `
|
onDecline: `
|
||||||
// initialization code here (will be executed only once per page-load)
|
// initialization code here (will be executed only once per page-load)
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
window.gtag = function(){dataLayer.push(arguments)}
|
window.gtag = function(){dataLayer.push(arguments)}
|
||||||
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
||||||
gtag('set', 'ads_data_redaction', true)
|
gtag('set', 'ads_data_redaction', true)
|
||||||
`,
|
`,
|
||||||
vars: {
|
vars: {
|
||||||
googleAnalytics: 'google-analytics'
|
googleAnalytics: 'google-analytics'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// In GTM, you should define a custom event trigger named `klaro-google-analytics-accepted` which should trigger the Google Analytics integration.
|
// In GTM, you should define a custom event trigger named `klaro-google-analytics-accepted` which should trigger the Google Analytics integration.
|
||||||
name: 'google-analytics',
|
name: 'google-analytics',
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
cookies: [
|
cookies: [
|
||||||
/^_ga(_.*)?/ // we delete the Google Analytics cookies if the user declines its use
|
/^_ga(_.*)?/ // we delete the Google Analytics cookies if the user declines its use
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
+237
-237
@@ -1,238 +1,238 @@
|
|||||||
// By default, Klaro will load the config from a global "klaroConfig" variable.
|
// By default, Klaro will load the config from a global "klaroConfig" variable.
|
||||||
// You can change this by specifying the "data-config" attribute on your
|
// You can change this by specifying the "data-config" attribute on your
|
||||||
// script take, e.g. like this:
|
// script take, e.g. like this:
|
||||||
// <script src="klaro.js" data-config="myConfigVariableName" />
|
// <script src="klaro.js" data-config="myConfigVariableName" />
|
||||||
var klaroConfig = {
|
var klaroConfig = {
|
||||||
// With the 0.7.0 release we introduce a 'version' paramter that will make
|
// With the 0.7.0 release we introduce a 'version' paramter that will make
|
||||||
// if easier for us to keep configuration files backwards-compatible in the future.
|
// if easier for us to keep configuration files backwards-compatible in the future.
|
||||||
version: 1,
|
version: 1,
|
||||||
|
|
||||||
// You can customize the ID of the DIV element that Klaro will create
|
// You can customize the ID of the DIV element that Klaro will create
|
||||||
// when starting up. If undefined, Klaro will use 'klaro'.
|
// when starting up. If undefined, Klaro will use 'klaro'.
|
||||||
elementID: 'klaro',
|
elementID: 'klaro',
|
||||||
|
|
||||||
// You can override CSS style variables here. For IE11, Klaro will
|
// You can override CSS style variables here. For IE11, Klaro will
|
||||||
// dynamically inject the variables into the CSS. If you still consider
|
// dynamically inject the variables into the CSS. If you still consider
|
||||||
// supporting IE9-10 (which you probably shouldn't) you need to use Klaro
|
// supporting IE9-10 (which you probably shouldn't) you need to use Klaro
|
||||||
// with an external stylesheet as the dynamic replacement won't work there.
|
// with an external stylesheet as the dynamic replacement won't work there.
|
||||||
styling: {
|
styling: {
|
||||||
theme: ['light', 'top', 'wide'],
|
theme: ['light', 'top', 'wide'],
|
||||||
},
|
},
|
||||||
|
|
||||||
// Setting this to true will keep Klaro from automatically loading itself
|
// Setting this to true will keep Klaro from automatically loading itself
|
||||||
// when the page is being loaded.
|
// when the page is being loaded.
|
||||||
noAutoLoad: false,
|
noAutoLoad: false,
|
||||||
|
|
||||||
// Setting this to true will render the descriptions of the consent
|
// Setting this to true will render the descriptions of the consent
|
||||||
// modal and consent notice are HTML. Use with care.
|
// modal and consent notice are HTML. Use with care.
|
||||||
htmlTexts: true,
|
htmlTexts: true,
|
||||||
|
|
||||||
// Setting 'embedded' to true will render the Klaro modal and notice without
|
// Setting 'embedded' to true will render the Klaro modal and notice without
|
||||||
// the modal background, allowing you to e.g. embed them into a specific element
|
// the modal background, allowing you to e.g. embed them into a specific element
|
||||||
// of your website, such as your privacy notice.
|
// of your website, such as your privacy notice.
|
||||||
embedded: false,
|
embedded: false,
|
||||||
|
|
||||||
// You can group services by their purpose in the modal. This is advisable
|
// You can group services by their purpose in the modal. This is advisable
|
||||||
// if you have a large number of services. Users can then enable or disable
|
// if you have a large number of services. Users can then enable or disable
|
||||||
// entire groups of services instead of having to enable or disable every service.
|
// entire groups of services instead of having to enable or disable every service.
|
||||||
groupByPurpose: true,
|
groupByPurpose: true,
|
||||||
|
|
||||||
// How Klaro should store the user's preferences. It can be either 'cookie'
|
// How Klaro should store the user's preferences. It can be either 'cookie'
|
||||||
// (the default) or 'localStorage'.
|
// (the default) or 'localStorage'.
|
||||||
storageMethod: 'cookie',
|
storageMethod: 'cookie',
|
||||||
|
|
||||||
// You can customize the name of the cookie that Klaro uses for storing
|
// You can customize the name of the cookie that Klaro uses for storing
|
||||||
// user consent decisions. If undefined, Klaro will use 'klaro'.
|
// user consent decisions. If undefined, Klaro will use 'klaro'.
|
||||||
cookieName: 'klaro',
|
cookieName: 'klaro',
|
||||||
|
|
||||||
// You can also set a custom expiration time for the Klaro cookie.
|
// You can also set a custom expiration time for the Klaro cookie.
|
||||||
// By default, it will expire after 120 days.
|
// By default, it will expire after 120 days.
|
||||||
cookieExpiresAfterDays: 365,
|
cookieExpiresAfterDays: 365,
|
||||||
|
|
||||||
// You can change to cookie domain for the consent manager itself.
|
// You can change to cookie domain for the consent manager itself.
|
||||||
// Use this if you want to get consent once for multiple matching domains.
|
// Use this if you want to get consent once for multiple matching domains.
|
||||||
// If undefined, Klaro will use the current domain.
|
// If undefined, Klaro will use the current domain.
|
||||||
//cookieDomain: '.github.com',
|
//cookieDomain: '.github.com',
|
||||||
|
|
||||||
// You can change to cookie path for the consent manager itself.
|
// You can change to cookie path for the consent manager itself.
|
||||||
// Use this to restrict the cookie visibility to a specific path.
|
// Use this to restrict the cookie visibility to a specific path.
|
||||||
// If undefined, Klaro will use '/' as cookie path.
|
// If undefined, Klaro will use '/' as cookie path.
|
||||||
//cookiePath: '/',
|
//cookiePath: '/',
|
||||||
|
|
||||||
// Defines the default state for services (true=enabled by default).
|
// Defines the default state for services (true=enabled by default).
|
||||||
default: false,
|
default: false,
|
||||||
|
|
||||||
// If "mustConsent" is set to true, Klaro will directly display the consent
|
// If "mustConsent" is set to true, Klaro will directly display the consent
|
||||||
// manager modal and not allow the user to close it before having actively
|
// manager modal and not allow the user to close it before having actively
|
||||||
// consented or declines the use of third-party services.
|
// consented or declines the use of third-party services.
|
||||||
mustConsent: true,
|
mustConsent: true,
|
||||||
|
|
||||||
// Show "accept all" to accept all services instead of "ok" that only accepts
|
// Show "accept all" to accept all services instead of "ok" that only accepts
|
||||||
// required and "default: true" services
|
// required and "default: true" services
|
||||||
acceptAll: true,
|
acceptAll: true,
|
||||||
|
|
||||||
// replace "decline" with cookie manager modal
|
// replace "decline" with cookie manager modal
|
||||||
hideDeclineAll: true,
|
hideDeclineAll: true,
|
||||||
|
|
||||||
// hide "learnMore" link
|
// hide "learnMore" link
|
||||||
hideLearnMore: false,
|
hideLearnMore: false,
|
||||||
|
|
||||||
// show cookie notice as modal
|
// show cookie notice as modal
|
||||||
noticeAsModal: false,
|
noticeAsModal: false,
|
||||||
|
|
||||||
// You can also remove the 'Realized with Klaro!' text in the consent modal.
|
// You can also remove the 'Realized with Klaro!' text in the consent modal.
|
||||||
// Please don't do this! We provide Klaro as a free open source tool.
|
// Please don't do this! We provide Klaro as a free open source tool.
|
||||||
// Placing a link to our website helps us spread the word about it,
|
// Placing a link to our website helps us spread the word about it,
|
||||||
// which ultimately enables us to make Klaro! better for everyone.
|
// which ultimately enables us to make Klaro! better for everyone.
|
||||||
// So please be fair and keep the link enabled. Thanks :)
|
// So please be fair and keep the link enabled. Thanks :)
|
||||||
//disablePoweredBy: true,
|
//disablePoweredBy: true,
|
||||||
|
|
||||||
// you can specify an additional class (or classes) that will be added to the Klaro `div`
|
// you can specify an additional class (or classes) that will be added to the Klaro `div`
|
||||||
//additionalClass: 'my-klaro',
|
//additionalClass: 'my-klaro',
|
||||||
|
|
||||||
// You can define the UI language directly here. If undefined, Klaro will
|
// You can define the UI language directly here. If undefined, Klaro will
|
||||||
// use the value given in the global "lang" variable. If that does
|
// use the value given in the global "lang" variable. If that does
|
||||||
// not exist, it will use the value given in the "lang" attribute of your
|
// not exist, it will use the value given in the "lang" attribute of your
|
||||||
// HTML tag. If that also doesn't exist, it will use 'en'.
|
// HTML tag. If that also doesn't exist, it will use 'en'.
|
||||||
lang: 'de',
|
lang: 'de',
|
||||||
|
|
||||||
// You can overwrite existing translations and add translations for your
|
// You can overwrite existing translations and add translations for your
|
||||||
// service descriptions and purposes. See `src/translations/` for a full
|
// service descriptions and purposes. See `src/translations/` for a full
|
||||||
// list of translations that can be overwritten:
|
// list of translations that can be overwritten:
|
||||||
// https://github.com/KIProtect/klaro/tree/master/src/translations
|
// https://github.com/KIProtect/klaro/tree/master/src/translations
|
||||||
|
|
||||||
// Example config that shows how to overwrite translations:
|
// Example config that shows how to overwrite translations:
|
||||||
// https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
|
// https://github.com/KIProtect/klaro/blob/master/src/configs/i18n.js
|
||||||
translations: {
|
translations: {
|
||||||
// translationsed defined under the 'zz' language code act as default
|
// translationsed defined under the 'zz' language code act as default
|
||||||
// translations.
|
// translations.
|
||||||
zz: {
|
zz: {
|
||||||
privacyPolicyUrl: '/datenschutz',
|
privacyPolicyUrl: '/datenschutz',
|
||||||
},
|
},
|
||||||
// If you erase the "consentModal" translations, Klaro will use the
|
// If you erase the "consentModal" translations, Klaro will use the
|
||||||
// bundled translations.
|
// bundled translations.
|
||||||
de: {
|
de: {
|
||||||
privacyPolicyUrl: '/datenschutz',
|
privacyPolicyUrl: '/datenschutz',
|
||||||
|
|
||||||
consentModal: {
|
consentModal: {
|
||||||
title: '<u>Cookie Consent Tool</u>',
|
title: '<u>Cookie Consent Tool</u>',
|
||||||
description:
|
description:
|
||||||
'Wir verwenden Cookies um Inhalte und Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Ich bin damit einverstanden und kann meine Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen oder ändern.',
|
'Wir verwenden Cookies um Inhalte und Funktionen für soziale Medien anbieten zu können und die Zugriffe auf unsere Website zu analysieren. Ich bin damit einverstanden und kann meine Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen oder ändern.',
|
||||||
},
|
},
|
||||||
googleFonts: {
|
googleFonts: {
|
||||||
description: 'Web-Schriftarten von Google gehostet',
|
description: 'Web-Schriftarten von Google gehostet',
|
||||||
},
|
},
|
||||||
purposes: {
|
purposes: {
|
||||||
analytics: 'Besucher-Statistiken',
|
analytics: 'Besucher-Statistiken',
|
||||||
security: 'Sicherheit',
|
security: 'Sicherheit',
|
||||||
livechat: 'Live Chat',
|
livechat: 'Live Chat',
|
||||||
advertising: 'Anzeigen von Werbung',
|
advertising: 'Anzeigen von Werbung',
|
||||||
styling: 'Styling',
|
styling: 'Styling',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
en: {
|
en: {
|
||||||
consentModal: {
|
consentModal: {
|
||||||
title: '<u>Cookie Consent Tool</u>',
|
title: '<u>Cookie Consent Tool</u>',
|
||||||
description:
|
description:
|
||||||
'We use cookies to provide content and social media features and to analyze traffic to our website. I agree to this and can revoke or change my consent at any time with effect for the future.',
|
'We use cookies to provide content and social media features and to analyze traffic to our website. I agree to this and can revoke or change my consent at any time with effect for the future.',
|
||||||
},
|
},
|
||||||
googleFonts: {
|
googleFonts: {
|
||||||
description: 'Web fonts hosted by Google',
|
description: 'Web fonts hosted by Google',
|
||||||
},
|
},
|
||||||
purposes: {
|
purposes: {
|
||||||
analytics: 'Analytics',
|
analytics: 'Analytics',
|
||||||
security: 'Security',
|
security: 'Security',
|
||||||
livechat: 'Livechat',
|
livechat: 'Livechat',
|
||||||
advertising: 'Advertising',
|
advertising: 'Advertising',
|
||||||
styling: 'Styling',
|
styling: 'Styling',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
// This is a list of third-party services that Klaro will manage for you.
|
// This is a list of third-party services that Klaro will manage for you.
|
||||||
services: [
|
services: [
|
||||||
{
|
{
|
||||||
name: 'twitter',
|
name: 'twitter',
|
||||||
default: true,
|
default: true,
|
||||||
contextualConsentOnly: true,
|
contextualConsentOnly: true,
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'youtube',
|
name: 'youtube',
|
||||||
default: true,
|
default: true,
|
||||||
purposes: ['marketing'],
|
purposes: ['marketing'],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'doctolib',
|
name: 'doctolib',
|
||||||
default: true,
|
default: true,
|
||||||
purposes: ['styling'],
|
purposes: ['styling'],
|
||||||
|
|
||||||
cookies: [
|
cookies: [
|
||||||
[/^__cf_bm.*$/, '/', '.doctolib.de'],
|
[/^__cf_bm.*$/, '/', '.doctolib.de'],
|
||||||
[/^_doctolib_session.*$/, '/', 'partners.doctolib.de'],
|
[/^_doctolib_session.*$/, '/', 'partners.doctolib.de'],
|
||||||
[/^cookies.js.*$/, '/', 'partners.doctolib.de'],
|
[/^cookies.js.*$/, '/', 'partners.doctolib.de'],
|
||||||
[/^esid.*$/, '/', 'partners.doctolib.de'],
|
[/^esid.*$/, '/', 'partners.doctolib.de'],
|
||||||
[/^temporary_appointment_id.*$/, '/', 'partners.doctolib.de'],
|
[/^temporary_appointment_id.*$/, '/', 'partners.doctolib.de'],
|
||||||
[/^_doctolib_session.*$/, '/', 'www.doctolib.de'],
|
[/^_doctolib_session.*$/, '/', 'www.doctolib.de'],
|
||||||
[/^ssid.*$/, '/', 'www.doctolib.de'],
|
[/^ssid.*$/, '/', 'www.doctolib.de'],
|
||||||
['temporary_appointment_id', '/', 'www.doctolib.de'],
|
['temporary_appointment_id', '/', 'www.doctolib.de'],
|
||||||
[/^_pk_.*$/, '/', 'klaro.kiprotect.com'], //for the production version
|
[/^_pk_.*$/, '/', 'klaro.kiprotect.com'], //for the production version
|
||||||
[/^_pk_.*$/, '/', 'localhost'], //for the local version
|
[/^_pk_.*$/, '/', 'localhost'], //for the local version
|
||||||
'piwik_ignore',
|
'piwik_ignore',
|
||||||
|
|
||||||
],
|
],
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'google-tag-manager',
|
name: 'google-tag-manager',
|
||||||
default: true,
|
default: true,
|
||||||
purposes: ['analytics'],
|
purposes: ['analytics'],
|
||||||
onAccept: `
|
onAccept: `
|
||||||
// we notify the tag manager about all services that were accepted. You can define
|
// we notify the tag manager about all services that were accepted. You can define
|
||||||
// a custom event in GTM to load the service if consent was given.
|
// a custom event in GTM to load the service if consent was given.
|
||||||
for(let k of Object.keys(opts.consents)){
|
for(let k of Object.keys(opts.consents)){
|
||||||
if (opts.consents[k]){
|
if (opts.consents[k]){
|
||||||
let eventName = 'klaro-'+k+'-accepted'
|
let eventName = 'klaro-'+k+'-accepted'
|
||||||
dataLayer.push({'event': eventName})
|
dataLayer.push({'event': eventName})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// if consent for Google Analytics was granted we enable analytics storage
|
// if consent for Google Analytics was granted we enable analytics storage
|
||||||
if (opts.consents[opts.vars.googleAnalyticsName || 'google-analytics']){
|
if (opts.consents[opts.vars.googleAnalyticsName || 'google-analytics']){
|
||||||
console.log("Google analytics usage was granted")
|
console.log("Google analytics usage was granted")
|
||||||
gtag('consent', 'update', {'analytics_storage': 'granted'})
|
gtag('consent', 'update', {'analytics_storage': 'granted'})
|
||||||
}
|
}
|
||||||
// if consent for Google Ads was granted we enable ad storage
|
// if consent for Google Ads was granted we enable ad storage
|
||||||
if (opts.consents[opts.vars.adStorageName || 'google-ads']){
|
if (opts.consents[opts.vars.adStorageName || 'google-ads']){
|
||||||
console.log("Google ads usage was granted")
|
console.log("Google ads usage was granted")
|
||||||
gtag('consent', 'update', {'ad_storage': 'granted'})
|
gtag('consent', 'update', {'ad_storage': 'granted'})
|
||||||
}
|
}
|
||||||
`,
|
`,
|
||||||
onInit: `
|
onInit: `
|
||||||
// initialization code here (will be executed only once per page-load)
|
// initialization code here (will be executed only once per page-load)
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
window.gtag = function(){dataLayer.push(arguments)}
|
window.gtag = function(){dataLayer.push(arguments)}
|
||||||
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
||||||
gtag('set', 'ads_data_redaction', true)
|
gtag('set', 'ads_data_redaction', true)
|
||||||
`,
|
`,
|
||||||
onDecline: `
|
onDecline: `
|
||||||
// initialization code here (will be executed only once per page-load)
|
// initialization code here (will be executed only once per page-load)
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
window.gtag = function(){dataLayer.push(arguments)}
|
window.gtag = function(){dataLayer.push(arguments)}
|
||||||
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
gtag('consent', 'default', {'ad_storage': 'denied', 'analytics_storage': 'denied'})
|
||||||
gtag('set', 'ads_data_redaction', true)
|
gtag('set', 'ads_data_redaction', true)
|
||||||
`,
|
`,
|
||||||
vars: {
|
vars: {
|
||||||
googleAnalytics: 'google-analytics'
|
googleAnalytics: 'google-analytics'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
// In GTM, you should define a custom event trigger named `klaro-google-analytics-accepted` which should trigger the Google Analytics integration.
|
// In GTM, you should define a custom event trigger named `klaro-google-analytics-accepted` which should trigger the Google Analytics integration.
|
||||||
default: true,
|
default: true,
|
||||||
name: 'google-analytics',
|
name: 'google-analytics',
|
||||||
purposes: ['analytics'],
|
purposes: ['analytics'],
|
||||||
cookies: [
|
cookies: [
|
||||||
/^_ga(_.*)?/ // we delete the Google Analytics cookies if the user declines its use
|
/^_ga(_.*)?/ // we delete the Google Analytics cookies if the user declines its use
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
};
|
};
|
||||||
+18
-18
@@ -1,19 +1,19 @@
|
|||||||
function zweitterminpruefen() {
|
function zweitterminpruefen() {
|
||||||
var e = document.getElementById("Terminzeitraum");
|
var e = document.getElementById("Terminzeitraum");
|
||||||
var timeidjs = e.value;
|
var timeidjs = e.value;
|
||||||
var e = document.getElementById("impfart");
|
var e = document.getElementById("impfart");
|
||||||
var impfart = e.value;
|
var impfart = e.value;
|
||||||
if(impfart == 2){
|
if(impfart == 2){
|
||||||
result = $.ajax({
|
result = $.ajax({
|
||||||
type: 'POST',
|
type: 'POST',
|
||||||
async: false,
|
async: false,
|
||||||
url: 'inc/zweittermin.php',
|
url: 'inc/zweittermin.php',
|
||||||
data: ({
|
data: ({
|
||||||
timeid: timeidjs
|
timeid: timeidjs
|
||||||
})
|
})
|
||||||
}).responseText;
|
}).responseText;
|
||||||
|
|
||||||
document.getElementById("Zweittermin").innerHTML = $result;
|
document.getElementById("Zweittermin").innerHTML = $result;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
+276
-276
@@ -1,277 +1,277 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Anamnesebogen</title>
|
<title>Praxis Creutzburg - Anamnesebogen</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
function toggleDateInput(selectElement, dateInputId) {
|
function toggleDateInput(selectElement, dateInputId) {
|
||||||
var dateInput = document.getElementById(dateInputId);
|
var dateInput = document.getElementById(dateInputId);
|
||||||
var labelText = document.getElementById('text_' + dateInputId);
|
var labelText = document.getElementById('text_' + dateInputId);
|
||||||
if (selectElement.value === 'ja') {
|
if (selectElement.value === 'ja') {
|
||||||
dateInput.style.display = 'inline';
|
dateInput.style.display = 'inline';
|
||||||
labelText.style.display = 'inline';
|
labelText.style.display = 'inline';
|
||||||
} else {
|
} else {
|
||||||
dateInput.style.display = 'none';
|
dateInput.style.display = 'none';
|
||||||
labelText.style.display = 'none';
|
labelText.style.display = 'none';
|
||||||
dateInput.value = '';
|
dateInput.value = '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<?php
|
<?php
|
||||||
echo showHeaderpraxis();
|
echo showHeaderpraxis();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="box special">
|
<section class="box special">
|
||||||
<h2>Anamnesebogen</h2>
|
<h2>Anamnesebogen</h2>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
if(isset($_POST["aktion"])){
|
if(isset($_POST["aktion"])){
|
||||||
|
|
||||||
if ($con->connect_error) {
|
if ($con->connect_error) {
|
||||||
die("Verbindung fehlgeschlagen: " . $con->connect_error);
|
die("Verbindung fehlgeschlagen: " . $con->connect_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||||
$stmt = $con->prepare("INSERT INTO patientenaufnahme (name, geburtsdatum, beruf, telefon, handy, email, strasse, ort, krankheiten, raucher, alkohol, allergien, medikamente, groesse, gewicht, bemerkungen) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
$stmt = $con->prepare("INSERT INTO patientenaufnahme (name, geburtsdatum, beruf, telefon, handy, email, strasse, ort, krankheiten, raucher, alkohol, allergien, medikamente, groesse, gewicht, bemerkungen) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
|
||||||
|
|
||||||
$name = htmlspecialchars($_POST['name']);
|
$name = htmlspecialchars($_POST['name']);
|
||||||
$geburtsdatum = htmlspecialchars($_POST['geburtsdatum']);
|
$geburtsdatum = htmlspecialchars($_POST['geburtsdatum']);
|
||||||
$beruf = htmlspecialchars($_POST['beruf']);
|
$beruf = htmlspecialchars($_POST['beruf']);
|
||||||
$telefon = htmlspecialchars($_POST['telefon']);
|
$telefon = htmlspecialchars($_POST['telefon']);
|
||||||
$handy = htmlspecialchars($_POST['handy']);
|
$handy = htmlspecialchars($_POST['handy']);
|
||||||
$email = htmlspecialchars($_POST['email']);
|
$email = htmlspecialchars($_POST['email']);
|
||||||
$strasse = htmlspecialchars($_POST['strasse']);
|
$strasse = htmlspecialchars($_POST['strasse']);
|
||||||
$ort = htmlspecialchars($_POST['ort']);
|
$ort = htmlspecialchars($_POST['ort']);
|
||||||
|
|
||||||
// Erkrankungen speichern
|
// Erkrankungen speichern
|
||||||
$krankheiten = [];
|
$krankheiten = [];
|
||||||
foreach ($_POST['krankheiten'] as $krankheit => $details) {
|
foreach ($_POST['krankheiten'] as $krankheit => $details) {
|
||||||
$krankheiten[] = "$krankheit: " . ($details['ja_nein'] === 'ja' ? "Ja, seit " . htmlspecialchars($details['seit']) : "Nein");
|
$krankheiten[] = "$krankheit: " . ($details['ja_nein'] === 'ja' ? "Ja, seit " . htmlspecialchars($details['seit']) : "Nein");
|
||||||
}
|
}
|
||||||
$krankheiten_json = json_encode($krankheiten);
|
$krankheiten_json = json_encode($krankheiten);
|
||||||
|
|
||||||
$raucher = htmlspecialchars($_POST['raucher']);
|
$raucher = htmlspecialchars($_POST['raucher']);
|
||||||
$alkohol = htmlspecialchars($_POST['alkohol']);
|
$alkohol = htmlspecialchars($_POST['alkohol']);
|
||||||
$allergien = htmlspecialchars($_POST['allergien']);
|
$allergien = htmlspecialchars($_POST['allergien']);
|
||||||
$medikamente = htmlspecialchars($_POST['medikamente']);
|
$medikamente = htmlspecialchars($_POST['medikamente']);
|
||||||
$groesse = htmlspecialchars($_POST['groesse']);
|
$groesse = htmlspecialchars($_POST['groesse']);
|
||||||
$gewicht = htmlspecialchars($_POST['gewicht']);
|
$gewicht = htmlspecialchars($_POST['gewicht']);
|
||||||
$bemerkungen = htmlspecialchars($_POST['bemerkungen']);
|
$bemerkungen = htmlspecialchars($_POST['bemerkungen']);
|
||||||
|
|
||||||
$stmt->bind_param("ssssssssssssssss", $name, $geburtsdatum, $beruf, $telefon, $handy, $email, $strasse, $ort, $krankheiten_json, $raucher, $alkohol, $allergien, $medikamente, $groesse, $gewicht, $bemerkungen);
|
$stmt->bind_param("ssssssssssssssss", $name, $geburtsdatum, $beruf, $telefon, $handy, $email, $strasse, $ort, $krankheiten_json, $raucher, $alkohol, $allergien, $medikamente, $groesse, $gewicht, $bemerkungen);
|
||||||
|
|
||||||
if ($stmt->execute()) {
|
if ($stmt->execute()) {
|
||||||
echo "Daten erfolgreich gespeichert!";
|
echo "Daten erfolgreich gespeichert!";
|
||||||
} else {
|
} else {
|
||||||
echo "Fehler: " . $stmt->error;
|
echo "Fehler: " . $stmt->error;
|
||||||
}
|
}
|
||||||
$stmt->close();
|
$stmt->close();
|
||||||
}
|
}
|
||||||
$con->close();
|
$con->close();
|
||||||
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<section class="box">
|
<section class="box">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Urlaubsabfrage
|
// Urlaubsabfrage
|
||||||
$query = mysqli_query($con, "SELECT urlaubid FROM urlaub WHERE start<='" . date("Y-m-d") ."' AND ende>='" . date("Y-m-d") ."'");
|
$query = mysqli_query($con, "SELECT urlaubid FROM urlaub WHERE start<='" . date("Y-m-d") ."' AND ende>='" . date("Y-m-d") ."'");
|
||||||
|
|
||||||
if (!$query)
|
if (!$query)
|
||||||
{
|
{
|
||||||
die('Error: ' . mysqli_error($con));
|
die('Error: ' . mysqli_error($con));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if($query->num_rows == 0){
|
#if($query->num_rows == 0){
|
||||||
if($true = 1){
|
if($true = 1){
|
||||||
?>
|
?>
|
||||||
<h3>Bitte füllen Sie das Formular aus und senden Sie es ab.</h3>
|
<h3>Bitte füllen Sie das Formular aus und senden Sie es ab.</h3>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
<?php echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
||||||
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
||||||
?>
|
?>
|
||||||
<div class="row uniform 50%">
|
<div class="row uniform 50%">
|
||||||
|
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Vorname: <input type="text" name="vorname" required></label><br>
|
<label>Vorname: <input type="text" name="vorname" required></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Name: <input type="text" name="name" required></label><br>
|
<label>Name: <input type="text" name="name" required></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Geburtsdatum: <input type="date" name="geburtsdatum" required></label><br>
|
<label>Geburtsdatum: <input type="date" name="geburtsdatum" required></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Beruf: <input type="text" name="beruf"></label><br>
|
<label>Beruf: <input type="text" name="beruf"></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Telefon: <input type="text" name="telefon"></label><br>
|
<label>Telefon: <input type="text" name="telefon"></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Handy: <input type="text" name="handy"></label><br>
|
<label>Handy: <input type="text" name="handy"></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Email: <input type="email" name="email"></label><br>
|
<label>Email: <input type="email" name="email"></label><br>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<h3>Erkrankungen:</h3>
|
<h3>Erkrankungen:</h3>
|
||||||
<?php
|
<?php
|
||||||
$fragen = ['Bluthochdruck', 'Herzkrankheiten', 'Schlaganfall', 'Diabetes', 'Fettstoffwechselstörung', 'Tumorerkrankungen', 'Lebererkrankungen', 'Infektionskrankheiten', 'Blutungsstörungen', 'Lungenerkrankungen', 'Thrombose', 'Augenerkrankungen', 'Krampfanfälle', 'Operationen', 'Unfälle', 'Sonstiges'];
|
$fragen = ['Bluthochdruck', 'Herzkrankheiten', 'Schlaganfall', 'Diabetes', 'Fettstoffwechselstörung', 'Tumorerkrankungen', 'Lebererkrankungen', 'Infektionskrankheiten', 'Blutungsstörungen', 'Lungenerkrankungen', 'Thrombose', 'Augenerkrankungen', 'Krampfanfälle', 'Operationen', 'Unfälle', 'Sonstiges'];
|
||||||
foreach ($fragen as $index => $frage) {
|
foreach ($fragen as $index => $frage) {
|
||||||
$dateInputId = 'date_' . $index;
|
$dateInputId = 'date_' . $index;
|
||||||
echo "<div class='12u'>";
|
echo "<div class='12u'>";
|
||||||
echo "<label><h4>$frage:</h4> ";
|
echo "<label><h4>$frage:</h4> ";
|
||||||
echo "<select name='krankheiten[$frage][ja_nein]' onchange='toggleDateInput(this, \"$dateInputId\")'><option value='nein'>Nein</option><option value='ja'>Ja</option></select></label>";
|
echo "<select name='krankheiten[$frage][ja_nein]' onchange='toggleDateInput(this, \"$dateInputId\")'><option value='nein'>Nein</option><option value='ja'>Ja</option></select></label>";
|
||||||
echo " <span id='text_$dateInputId' style='display:none;'>Seit wann / Weitere Angaben:</span> <input type='text' id='$dateInputId' name='krankheiten[$frage][seit]' style='display:none;'></label><br>";
|
echo " <span id='text_$dateInputId' style='display:none;'>Seit wann / Weitere Angaben:</span> <input type='text' id='$dateInputId' name='krankheiten[$frage][seit]' style='display:none;'></label><br>";
|
||||||
echo "</div><br>";
|
echo "</div><br>";
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Rauchen Sie? <select name="raucher"><option value="nein">Nein</option><option value="ja">Ja</option></select></label><br>
|
<label>Rauchen Sie? <select name="raucher"><option value="nein">Nein</option><option value="ja">Ja</option></select></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Alkoholkonsum? <select name="alkohol"><option value="nein">Nein</option><option value="ja">Ja</option></select></label><br>
|
<label>Alkoholkonsum? <select name="alkohol"><option value="nein">Nein</option><option value="ja">Ja</option></select></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Allergien: <textarea name="allergien"></textarea></label><br>
|
<label>Allergien: <textarea name="allergien"></textarea></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Medikamente: <textarea name="medikamente"></textarea></label><br>
|
<label>Medikamente: <textarea name="medikamente"></textarea></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Größe (cm): <input type="number" name="groesse"></label><br>
|
<label>Größe (cm): <input type="number" name="groesse"></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Gewicht (kg): <input type="number" name="gewicht"></label><br>
|
<label>Gewicht (kg): <input type="number" name="gewicht"></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<label>Bemerkungen: <textarea name="bemerkungen"></textarea></label><br>
|
<label>Bemerkungen: <textarea name="bemerkungen"></textarea></label><br>
|
||||||
</div>
|
</div>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<input type="submit" value="Absenden">
|
<input type="submit" value="Absenden">
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="row uniform 50%">
|
<div class="row uniform 50%">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="row uniform">
|
<div class="row uniform">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<ul class="actions">
|
<ul class="actions">
|
||||||
<li><input type="submit" value="Abschicken" /></li>
|
<li><input type="submit" value="Abschicken" /></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php }else{
|
<?php }else{
|
||||||
echo "<h2>Praxis im Urlaub</h2>";
|
echo "<h2>Praxis im Urlaub</h2>";
|
||||||
echo "Wir befinden uns aktuell im Urlaub.<br>Wenden Sie sich an unsere Vertretung oder warten Sie bis nach unserem Urlaub mit Ihrer Anfrage.<br><br>";
|
echo "Wir befinden uns aktuell im Urlaub.<br>Wenden Sie sich an unsere Vertretung oder warten Sie bis nach unserem Urlaub mit Ihrer Anfrage.<br><br>";
|
||||||
$query = mysqli_query($con, "SELECT ende,vertretung,vertretertelefon,vertreteradresse,vertreterurl FROM urlaub WHERE start<='" . date("Y-m-d") ."' AND ende>='" . date("Y-m-d") ."' ORDER BY ende DESC");
|
$query = mysqli_query($con, "SELECT ende,vertretung,vertretertelefon,vertreteradresse,vertreterurl FROM urlaub WHERE start<='" . date("Y-m-d") ."' AND ende>='" . date("Y-m-d") ."' ORDER BY ende DESC");
|
||||||
$row = mysqli_fetch_assoc($query);
|
$row = mysqli_fetch_assoc($query);
|
||||||
$vertreter = $row["vertretung"];
|
$vertreter = $row["vertretung"];
|
||||||
$vertretertelefon = $row["vertretertelefon"];
|
$vertretertelefon = $row["vertretertelefon"];
|
||||||
$vertreteradresse = $row["vertreteradresse"];
|
$vertreteradresse = $row["vertreteradresse"];
|
||||||
$vertreterurl = $row["vertreterurl"];
|
$vertreterurl = $row["vertreterurl"];
|
||||||
$ende = $row["ende"];
|
$ende = $row["ende"];
|
||||||
$endeausgabe= date("d.m.Y", strtotime("+1 day", strtotime($ende )));
|
$endeausgabe= date("d.m.Y", strtotime("+1 day", strtotime($ende )));
|
||||||
if($vertreter){
|
if($vertreter){
|
||||||
echo "Unsere Vertretung: $vertreter <br>";
|
echo "Unsere Vertretung: $vertreter <br>";
|
||||||
}
|
}
|
||||||
if($vertreterurl){
|
if($vertreterurl){
|
||||||
echo "Webseite Vertretung: $vertreterurl <br>";
|
echo "Webseite Vertretung: $vertreterurl <br>";
|
||||||
}
|
}
|
||||||
if($vertretertelefon){
|
if($vertretertelefon){
|
||||||
echo "Telefonischer Kontakt Vertretung: $vertretertelefon <br>";
|
echo "Telefonischer Kontakt Vertretung: $vertretertelefon <br>";
|
||||||
}
|
}
|
||||||
if($vertreteradresse){
|
if($vertreteradresse){
|
||||||
echo "Adresse Vertretung: $vertreteradresse <br>";
|
echo "Adresse Vertretung: $vertreteradresse <br>";
|
||||||
}
|
}
|
||||||
echo "<br>Wir stehen Ihnen ab dem ". $endeausgabe . " wieder zur Verfügung.<br><br><br>";
|
echo "<br>Wir stehen Ihnen ab dem ". $endeausgabe . " wieder zur Verfügung.<br><br><br>";
|
||||||
?>
|
?>
|
||||||
<form action="index.php" method=POST>
|
<form action="index.php" method=POST>
|
||||||
<input type=submit class=button value="Zurück">
|
<input type=submit class=button value="Zurück">
|
||||||
</form>
|
</form>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+133
-133
@@ -1,134 +1,134 @@
|
|||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Stellenangebote</title>
|
<title>Praxis Creutzburg - Stellenangebote</title>
|
||||||
<!-- Meta Pixel Code -->
|
<!-- Meta Pixel Code -->
|
||||||
<script>
|
<script>
|
||||||
!function(f,b,e,v,n,t,s)
|
!function(f,b,e,v,n,t,s)
|
||||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||||
'https://connect.facebook.net/en_US/fbevents.js');
|
'https://connect.facebook.net/en_US/fbevents.js');
|
||||||
fbq('init', '1304867248096206');
|
fbq('init', '1304867248096206');
|
||||||
fbq('track', 'PageView');
|
fbq('track', 'PageView');
|
||||||
</script>
|
</script>
|
||||||
<noscript><img height="1" width="1" style="display:none"
|
<noscript><img height="1" width="1" style="display:none"
|
||||||
src="https://www.facebook.com/tr?id=1304867248096206&ev=PageView&noscript=1"
|
src="https://www.facebook.com/tr?id=1304867248096206&ev=PageView&noscript=1"
|
||||||
/></noscript>
|
/></noscript>
|
||||||
<!-- End Meta Pixel Code -->
|
<!-- End Meta Pixel Code -->
|
||||||
|
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
|
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<?php
|
<?php
|
||||||
echo showHeaderpraxis();
|
echo showHeaderpraxis();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<section class="box">
|
<section class="box">
|
||||||
<h3>Ihre Hausarztpraxis in Coppenbrügge und Bisperode</h3>
|
<h3>Ihre Hausarztpraxis in Coppenbrügge und Bisperode</h3>
|
||||||
|
|
||||||
Die Praxis Creutzburg hat aktuell die folgende Stellausschreibungen.<br>
|
Die Praxis Creutzburg hat aktuell die folgende Stellausschreibungen.<br>
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
<!--
|
<!--
|
||||||
<section class="box">
|
<section class="box">
|
||||||
<h2>Medizinische Fachangestellte (MFA) in Teilzeit (m/w/d)</h2>
|
<h2>Medizinische Fachangestellte (MFA) in Teilzeit (m/w/d)</h2>
|
||||||
|
|
||||||
<h2>Wir suchen dich!</h2>
|
<h2>Wir suchen dich!</h2>
|
||||||
<p>Zur Verstärkung unseres Teams suchen wir ab <strong>sofort</strong> eine <strong>Medizinische Fachangestellte (MFA)</strong> in Teilzeit mit ca. <strong>20 Stunden pro Woche</strong>.</p>
|
<p>Zur Verstärkung unseres Teams suchen wir ab <strong>sofort</strong> eine <strong>Medizinische Fachangestellte (MFA)</strong> in Teilzeit mit ca. <strong>20 Stunden pro Woche</strong>.</p>
|
||||||
|
|
||||||
|
|
||||||
<p>Weitere Informationen findest du hier:</p>
|
<p>Weitere Informationen findest du hier:</p>
|
||||||
<form action="jobs-mfateilzeit.php" method=POST>
|
<form action="jobs-mfateilzeit.php" method=POST>
|
||||||
<input type=submit class=button value="Stellenangebote MFA">
|
<input type=submit class=button value="Stellenangebote MFA">
|
||||||
</form>
|
</form>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="box">
|
<section class="box">
|
||||||
<h2>Auszubildende/r zur Medizinischen Fachangestellten (MFA) (m/w/d)</h2>
|
<h2>Auszubildende/r zur Medizinischen Fachangestellten (MFA) (m/w/d)</h2>
|
||||||
|
|
||||||
<h3>Starte deine Karriere in unserer modernen Praxis!</h3>
|
<h3>Starte deine Karriere in unserer modernen Praxis!</h3>
|
||||||
<p>Bist du kommunikativ, hilfsbereit und interessierst dich für den medizinischen Bereich? Dann bist du bei uns genau richtig! Die Praxis Creutzburg bietet dir die Möglichkeit, eine abwechslungsreiche und spannende Ausbildung zur Medizinischen Fachangestellten (MFA) zu beginnen. Wir legen großen Wert auf Teamarbeit, eine freundliche Atmosphäre und moderne Arbeitsbedingungen.</p>
|
<p>Bist du kommunikativ, hilfsbereit und interessierst dich für den medizinischen Bereich? Dann bist du bei uns genau richtig! Die Praxis Creutzburg bietet dir die Möglichkeit, eine abwechslungsreiche und spannende Ausbildung zur Medizinischen Fachangestellten (MFA) zu beginnen. Wir legen großen Wert auf Teamarbeit, eine freundliche Atmosphäre und moderne Arbeitsbedingungen.</p>
|
||||||
<p>Werde Teil eines motivierten Teams und profitiere von unserer langjährigen Erfahrung in der Ausbildung. Wir begleiten dich auf deinem Weg zum Erfolg und bieten dir beste Voraussetzungen für deine berufliche Zukunft.</p>
|
<p>Werde Teil eines motivierten Teams und profitiere von unserer langjährigen Erfahrung in der Ausbildung. Wir begleiten dich auf deinem Weg zum Erfolg und bieten dir beste Voraussetzungen für deine berufliche Zukunft.</p>
|
||||||
|
|
||||||
<h2>Wir suchen dich!</h2>
|
<h2>Wir suchen dich!</h2>
|
||||||
<p>Wir suchen zu <strong>sofort</strong> eine/n motivierte/n Auszubildende/n zur Verstärkung unseres Praxisteams.</p>
|
<p>Wir suchen zu <strong>sofort</strong> eine/n motivierte/n Auszubildende/n zur Verstärkung unseres Praxisteams.</p>
|
||||||
|
|
||||||
<p>Weitere Informationen findest du hier:</p>
|
<p>Weitere Informationen findest du hier:</p>
|
||||||
<form action="jobs-mfaazubi.php" method=POST>
|
<form action="jobs-mfaazubi.php" method=POST>
|
||||||
<input type=submit class=button value="Stellenangebote Azubi MFA">
|
<input type=submit class=button value="Stellenangebote Azubi MFA">
|
||||||
</form>
|
</form>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
<h3>Fragen:</h3>
|
<h3>Fragen:</h3>
|
||||||
<p>Du hast grundsätzlich Fragen oder etwas ist unklar?<br>
|
<p>Du hast grundsätzlich Fragen oder etwas ist unklar?<br>
|
||||||
Telefonisch kannst du uns eine Nachricht auf unserem Anrufbeantworter hinterlassen. <br>Unser Praxisteam ruft dich schnellstmöglich zurück.<br>
|
Telefonisch kannst du uns eine Nachricht auf unserem Anrufbeantworter hinterlassen. <br>Unser Praxisteam ruft dich schnellstmöglich zurück.<br>
|
||||||
Per Mail wende dich bitte an Dalia Alayan-Ibrahim <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a><br>
|
Per Mail wende dich bitte an Dalia Alayan-Ibrahim <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a><br>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<section class="box" style="border-left:4px solid #2e7; background:#f7fff9;">
|
<section class="box" style="border-left:4px solid #2e7; background:#f7fff9;">
|
||||||
<h3 style="margin-bottom:.4rem;">Onlinebewerbung</h3>
|
<h3 style="margin-bottom:.4rem;">Onlinebewerbung</h3>
|
||||||
<p style="margin:0 0 .8rem 0;">
|
<p style="margin:0 0 .8rem 0;">
|
||||||
Bei uns kannst du dich <strong>einfach und schnell</strong> online bewerben! Die Bewerbung dauert 1-2 Minuten.
|
Bei uns kannst du dich <strong>einfach und schnell</strong> online bewerben! Die Bewerbung dauert 1-2 Minuten.
|
||||||
</p>
|
</p>
|
||||||
<ul class="actions">
|
<ul class="actions">
|
||||||
<li><a href="kurzbewerbung.php" class="button">Onlinebewerbung</a></li>
|
<li><a href="kurzbewerbung.php" class="button">Onlinebewerbung</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
|
||||||
<h3>Bewerbung:</h3>
|
<h3>Bewerbung:</h3>
|
||||||
<p>Bitte sende deine vollständigen Bewerbungsunterlagen an:</p>
|
<p>Bitte sende deine vollständigen Bewerbungsunterlagen an:</p>
|
||||||
<p><strong>Praxis Creutzburg</strong><br>
|
<p><strong>Praxis Creutzburg</strong><br>
|
||||||
z.H. Dalia Alayan-Ibrahim<br>
|
z.H. Dalia Alayan-Ibrahim<br>
|
||||||
Schlossstraße 18<br>
|
Schlossstraße 18<br>
|
||||||
31863 Coppenbrügge<br>
|
31863 Coppenbrügge<br>
|
||||||
E-Mail: <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a></p>
|
E-Mail: <a href="mailto:alayan@praxis-creutzburg.de">alayan@praxis-creutzburg.de</a></p>
|
||||||
-->
|
-->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?></body>
|
?></body>
|
||||||
</html>
|
</html>
|
||||||
+70
-70
@@ -1,70 +1,70 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
/*
|
/*
|
||||||
// Überprüfen, ob der Patient authentifiziert ist
|
// Überprüfen, ob der Patient authentifiziert ist
|
||||||
if (!isset($_SESSION['patient_id'])) {
|
if (!isset($_SESSION['patient_id'])) {
|
||||||
header("Location: umfrage.php");
|
header("Location: umfrage.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
$question_1 = $_POST['question_1'];
|
$question_1 = $_POST['question_1'];
|
||||||
$question_2 = $_POST['question_2'];
|
$question_2 = $_POST['question_2'];
|
||||||
$question_3 = $_POST['question_3'];
|
$question_3 = $_POST['question_3'];
|
||||||
$question_4 = $_POST['question_4'];
|
$question_4 = $_POST['question_4'];
|
||||||
$question_5 = $_POST['question_5'];
|
$question_5 = $_POST['question_5'];
|
||||||
$question_6 = $_POST['question_6'];
|
$question_6 = $_POST['question_6'];
|
||||||
$question_7 = $_POST['question_7'];
|
$question_7 = $_POST['question_7'];
|
||||||
$question_8 = $_POST['question_8'];
|
$question_8 = $_POST['question_8'];
|
||||||
$question_9 = $_POST['question_9'];
|
$question_9 = $_POST['question_9'];
|
||||||
$question_10 = $_POST['question_10'];
|
$question_10 = $_POST['question_10'];
|
||||||
$message = $_POST['message'];
|
$message = $_POST['message'];
|
||||||
|
|
||||||
include("inc/config.inc.php");
|
include("inc/config.inc.php");
|
||||||
if ($con->connect_error) {
|
if ($con->connect_error) {
|
||||||
die("Verbindung fehlgeschlagen: " . $con->connect_error);
|
die("Verbindung fehlgeschlagen: " . $con->connect_error);
|
||||||
}
|
}
|
||||||
// Umfrageantworten speichern
|
// Umfrageantworten speichern
|
||||||
// Vorbereiten der SQL-Anfrage
|
// Vorbereiten der SQL-Anfrage
|
||||||
$stmt = $con->prepare("INSERT INTO survey_responses
|
$stmt = $con->prepare("INSERT INTO survey_responses
|
||||||
(question_1, question_2, question_3, question_4, question_5, question_6, question_7, question_8, question_9, question_10, message)
|
(question_1, question_2, question_3, question_4, question_5, question_6, question_7, question_8, question_9, question_10, message)
|
||||||
VALUES
|
VALUES
|
||||||
('". $question_1 . "', '". $question_2 . "', '". $question_3 . "', '". $question_4 . "', '". $question_5 . "', '". $question_6 . "', '". $question_7 . "', '". $question_8 . "', '". $question_9 . "', '". $question_10 . "', '". $message . "');");
|
('". $question_1 . "', '". $question_2 . "', '". $question_3 . "', '". $question_4 . "', '". $question_5 . "', '". $question_6 . "', '". $question_7 . "', '". $question_8 . "', '". $question_9 . "', '". $question_10 . "', '". $message . "');");
|
||||||
if ($stmt === false) {
|
if ($stmt === false) {
|
||||||
die('Fehler bei der Vorbereitung der SQL-Abfrage: ' . $con->error);
|
die('Fehler bei der Vorbereitung der SQL-Abfrage: ' . $con->error);
|
||||||
}
|
}
|
||||||
// Bindung der Parameter
|
// Bindung der Parameter
|
||||||
#$stmt->bind_param("ssssssssss", $question_1, $question_2, $question_3, $question_4, $question_5, $question_6, $question_7, $question_8, $question_9, $question_10);
|
#$stmt->bind_param("ssssssssss", $question_1, $question_2, $question_3, $question_4, $question_5, $question_6, $question_7, $question_8, $question_9, $question_10);
|
||||||
|
|
||||||
// Ausführen der SQL-Anfrage
|
// Ausführen der SQL-Anfrage
|
||||||
if (!$stmt->execute()) {
|
if (!$stmt->execute()) {
|
||||||
die('Fehler bei der Ausführung der SQL-Abfrage: ' . $stmt->error);
|
die('Fehler bei der Ausführung der SQL-Abfrage: ' . $stmt->error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Letzte Umfrage-Teilnahme aktualisieren
|
// Letzte Umfrage-Teilnahme aktualisieren
|
||||||
$stmt = $con->prepare("UPDATE survey_patients SET survey_last_taken = NOW() WHERE id = ?");
|
$stmt = $con->prepare("UPDATE survey_patients SET survey_last_taken = NOW() WHERE id = ?");
|
||||||
$stmt->bind_param("i", $_SESSION['patient_id']);
|
$stmt->bind_param("i", $_SESSION['patient_id']);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
|
|
||||||
|
|
||||||
// Lösche alle Session-Variablen
|
// Lösche alle Session-Variablen
|
||||||
session_unset();
|
session_unset();
|
||||||
|
|
||||||
// Zerstöre die Session
|
// Zerstöre die Session
|
||||||
session_destroy();
|
session_destroy();
|
||||||
|
|
||||||
// Lösche das Session-Cookie, wenn du es auch am Client löschen möchtest
|
// Lösche das Session-Cookie, wenn du es auch am Client löschen möchtest
|
||||||
if (ini_get("session.use_cookies")) {
|
if (ini_get("session.use_cookies")) {
|
||||||
$params = session_get_cookie_params();
|
$params = session_get_cookie_params();
|
||||||
setcookie(session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"]);
|
setcookie(session_name(), '', time() - 42000, $params["path"], $params["domain"], $params["secure"], $params["httponly"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Weiterleitung auf eine andere Seite (optional)
|
// Weiterleitung auf eine andere Seite (optional)
|
||||||
header("Location: umfrage_danke.php");
|
header("Location: umfrage_danke.php");
|
||||||
exit();
|
exit();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
+164
-164
@@ -1,165 +1,165 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
// Überprüfen, ob der Patient authentifiziert ist
|
// Überprüfen, ob der Patient authentifiziert ist
|
||||||
if (!isset($_SESSION['patient_id'])) {
|
if (!isset($_SESSION['patient_id'])) {
|
||||||
header("Location: umfrage.php");
|
header("Location: umfrage.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Formulare</title>
|
<title>Praxis Creutzburg - Formulare</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<?php
|
<?php
|
||||||
echo showHeaderpraxis();
|
echo showHeaderpraxis();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="box special">
|
<section class="box special">
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Patientendaten aus der Datenbank holen
|
// Patientendaten aus der Datenbank holen
|
||||||
$patient_id = $_SESSION['patient_id'];
|
$patient_id = $_SESSION['patient_id'];
|
||||||
$stmt = $con->prepare("SELECT * FROM survey_patients WHERE id = ?");
|
$stmt = $con->prepare("SELECT * FROM survey_patients WHERE id = ?");
|
||||||
$stmt->bind_param("i", $patient_id);
|
$stmt->bind_param("i", $patient_id);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$result = $stmt->get_result();
|
$result = $stmt->get_result();
|
||||||
$patient = $result->fetch_assoc();
|
$patient = $result->fetch_assoc();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h2>Patientenbefragung</h2>
|
<h2>Patientenbefragung</h2>
|
||||||
<form action="submit_survey.php" method="POST">
|
<form action="submit_survey.php" method="POST">
|
||||||
<input type="hidden" name="patient_id" value="<?php echo $patient_id; ?>">
|
<input type="hidden" name="patient_id" value="<?php echo $patient_id; ?>">
|
||||||
|
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="question_1">1. Wie zufrieden sind Sie mit der allgemeinen Betreuung in unserer Praxis? (Skala von 1 bis 5)</label>
|
<label for="question_1">1. Wie zufrieden sind Sie mit der allgemeinen Betreuung in unserer Praxis? (Skala von 1 bis 5)</label>
|
||||||
<input type="number" id="question_1" name="question_1" min="1" max="5" required>
|
<input type="number" id="question_1" name="question_1" min="1" max="5" required>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="question_2">2. Wie würden Sie die Freundlichkeit und das Verhalten unserer Mitarbeiter bewerten? (Skala von 1 bis 5)</label>
|
<label for="question_2">2. Wie würden Sie die Freundlichkeit und das Verhalten unserer Mitarbeiter bewerten? (Skala von 1 bis 5)</label>
|
||||||
<input type="number" id="question_2" name="question_2" min="1" max="5" required>
|
<input type="number" id="question_2" name="question_2" min="1" max="5" required>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="question_3">3. Haben Sie die Wartezeit als zu lang empfunden? (Ja/Nein)</label>
|
<label for="question_3">3. Haben Sie die Wartezeit als zu lang empfunden? (Ja/Nein)</label>
|
||||||
<select id="question_3" name="question_3" required>
|
<select id="question_3" name="question_3" required>
|
||||||
<option value="Ja">Ja</option>
|
<option value="Ja">Ja</option>
|
||||||
<option value="Nein">Nein</option>
|
<option value="Nein">Nein</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="question_4">4. Wie beurteilen Sie die Sauberkeit und die Ausstattung der Praxisräume? (Skala von 1 bis 5)</label>
|
<label for="question_4">4. Wie beurteilen Sie die Sauberkeit und die Ausstattung der Praxisräume? (Skala von 1 bis 5)</label>
|
||||||
<input type="number" id="question_4" name="question_4" min="1" max="5" required>
|
<input type="number" id="question_4" name="question_4" min="1" max="5" required>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="question_5">5. Haben Sie das Gefühl, dass Ihre Anliegen während des Termins ausreichend behandelt wurden? (Ja/Nein)</label>
|
<label for="question_5">5. Haben Sie das Gefühl, dass Ihre Anliegen während des Termins ausreichend behandelt wurden? (Ja/Nein)</label>
|
||||||
<select id="question_5" name="question_5" required>
|
<select id="question_5" name="question_5" required>
|
||||||
<option value="Ja">Ja</option>
|
<option value="Ja">Ja</option>
|
||||||
<option value="Nein">Nein</option>
|
<option value="Nein">Nein</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="question_6">6. Wie zufrieden sind Sie mit der Erreichbarkeit unserer Praxis? (Skala von 1 bis 5)</label>
|
<label for="question_6">6. Wie zufrieden sind Sie mit der Erreichbarkeit unserer Praxis? (Skala von 1 bis 5)</label>
|
||||||
<input type="number" id="question_6" name="question_6" min="1" max="5" required>
|
<input type="number" id="question_6" name="question_6" min="1" max="5" required>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="question_7">7. Haben Sie Empfehlungen, wie wir unseren Service verbessern können?</label>
|
<label for="question_7">7. Haben Sie Empfehlungen, wie wir unseren Service verbessern können?</label>
|
||||||
<textarea id="question_7" name="question_7" rows="4" maxlength="500" required></textarea>
|
<textarea id="question_7" name="question_7" rows="4" maxlength="500" required></textarea>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="question_8">8. Wie bewerten Sie die Erklärungen zu Ihrer Diagnose und Behandlung? (Skala von 1 bis 5)</label>
|
<label for="question_8">8. Wie bewerten Sie die Erklärungen zu Ihrer Diagnose und Behandlung? (Skala von 1 bis 5)</label>
|
||||||
<input type="number" id="question_8" name="question_8" min="1" max="5" required>
|
<input type="number" id="question_8" name="question_8" min="1" max="5" required>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="question_9">9. Fühlen Sie sich ausreichend über Ihre Behandlungsmöglichkeiten informiert? (Ja/Nein)</label>
|
<label for="question_9">9. Fühlen Sie sich ausreichend über Ihre Behandlungsmöglichkeiten informiert? (Ja/Nein)</label>
|
||||||
<select id="question_9" name="question_9" required>
|
<select id="question_9" name="question_9" required>
|
||||||
<option value="Ja">Ja</option>
|
<option value="Ja">Ja</option>
|
||||||
<option value="Nein">Nein</option>
|
<option value="Nein">Nein</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="question_10">10. Würden Sie unsere Praxis einem Freund oder Familienmitglied empfehlen? (Ja/Nein)</label>
|
<label for="question_10">10. Würden Sie unsere Praxis einem Freund oder Familienmitglied empfehlen? (Ja/Nein)</label>
|
||||||
<select id="question_10" name="question_10" required>
|
<select id="question_10" name="question_10" required>
|
||||||
<option value="Ja">Ja</option>
|
<option value="Ja">Ja</option>
|
||||||
<option value="Nein">Nein</option>
|
<option value="Nein">Nein</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<div class="question">
|
<div class="question">
|
||||||
<label for="message">Haben Sie noch etwas, was Sie uns mitteilen möchten?</label>
|
<label for="message">Haben Sie noch etwas, was Sie uns mitteilen möchten?</label>
|
||||||
<textarea name="message" id="message" placeholder="Ihre Nachricht/Bemerkung" rows="6" maxlength="600"></textarea>
|
<textarea name="message" id="message" placeholder="Ihre Nachricht/Bemerkung" rows="6" maxlength="600"></textarea>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
<br>
|
<br>
|
||||||
Ihre Daten werden HTTPS-verschlüsselt an unser System übertragen.
|
Ihre Daten werden HTTPS-verschlüsselt an unser System übertragen.
|
||||||
<br>
|
<br>
|
||||||
<ul class="actions">
|
<ul class="actions">
|
||||||
<li><input type="submit" value="Abschicken" /></li>
|
<li><input type="submit" value="Abschicken" /></li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+161
-161
@@ -1,162 +1,162 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
include_once("inc/config.inc.php");
|
include_once("inc/config.inc.php");
|
||||||
|
|
||||||
|
|
||||||
// Wenn das Formular abgesendet wird
|
// Wenn das Formular abgesendet wird
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||||
|
|
||||||
$first_name = $_POST['first_name'];
|
$first_name = $_POST['first_name'];
|
||||||
$last_name = $_POST['last_name'];
|
$last_name = $_POST['last_name'];
|
||||||
$birthdate = $_POST['birthdate'];
|
$birthdate = $_POST['birthdate'];
|
||||||
|
|
||||||
// Erstelle den unique_key
|
// Erstelle den unique_key
|
||||||
$unique_key = substr($first_name, 0, 2) . substr($last_name, 0, 2) . str_replace('-', '', $birthdate);
|
$unique_key = substr($first_name, 0, 2) . substr($last_name, 0, 2) . str_replace('-', '', $birthdate);
|
||||||
|
|
||||||
|
|
||||||
// Überprüfen, ob der unique_key in der Datenbank existiert
|
// Überprüfen, ob der unique_key in der Datenbank existiert
|
||||||
$stmt = $con->prepare("SELECT * FROM survey_patients WHERE unique_key = ?");
|
$stmt = $con->prepare("SELECT * FROM survey_patients WHERE unique_key = ?");
|
||||||
$stmt->bind_param("s", $unique_key);
|
$stmt->bind_param("s", $unique_key);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$result = $stmt->get_result();
|
$result = $stmt->get_result();
|
||||||
|
|
||||||
// Wenn der Patient existiert
|
// Wenn der Patient existiert
|
||||||
if ($result->num_rows > 0) {
|
if ($result->num_rows > 0) {
|
||||||
$patient = $result->fetch_assoc();
|
$patient = $result->fetch_assoc();
|
||||||
// Überprüfen, ob der Patient bereits im aktuellen Jahr an der Umfrage teilgenommen hat
|
// Überprüfen, ob der Patient bereits im aktuellen Jahr an der Umfrage teilgenommen hat
|
||||||
$last_taken = $patient['survey_last_taken'];
|
$last_taken = $patient['survey_last_taken'];
|
||||||
if (strtotime($last_taken) >= strtotime("last year")) {
|
if (strtotime($last_taken) >= strtotime("last year")) {
|
||||||
echo "Sie haben bereits in diesem Jahr an der Umfrage teilgenommen.";
|
echo "Sie haben bereits in diesem Jahr an der Umfrage teilgenommen.";
|
||||||
exit;
|
exit;
|
||||||
} else {
|
} else {
|
||||||
// Authentifizierung erfolgreich, Fragen anzeigen
|
// Authentifizierung erfolgreich, Fragen anzeigen
|
||||||
$_SESSION['patient_id'] = $patient['id']; // ID speichern, um später auf die Antworten zuzugreifen
|
$_SESSION['patient_id'] = $patient['id']; // ID speichern, um später auf die Antworten zuzugreifen
|
||||||
header("Location: survey_form.php");
|
header("Location: survey_form.php");
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
echo "Ungültige Eingaben. Bitte überprüfen Sie Ihre Daten.";
|
echo "Ungültige Eingaben. Bitte überprüfen Sie Ihre Daten.";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
|
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - Umfrage</title>
|
<title>Praxis Creutzburg - Umfrage</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<?php
|
<?php
|
||||||
echo showHeaderpraxis();
|
echo showHeaderpraxis();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="box special">
|
<section class="box special">
|
||||||
<h2>Patientenbefragung</h2>
|
<h2>Patientenbefragung</h2>
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="12u">
|
<div class="12u">
|
||||||
|
|
||||||
|
|
||||||
<!-- Form -->
|
<!-- Form -->
|
||||||
<section class="box">
|
<section class="box">
|
||||||
|
|
||||||
<h2>Authentifizierung</h2>
|
<h2>Authentifizierung</h2>
|
||||||
<p>Die Umfrage erfolgt anoym! <br>
|
<p>Die Umfrage erfolgt anoym! <br>
|
||||||
|
|
||||||
Da nur Patienten der Praxis Creutzburg zur Teilnahme berechtigt sind, muss im Vorfeld eine Authentifizierung erfolgen.<br>
|
Da nur Patienten der Praxis Creutzburg zur Teilnahme berechtigt sind, muss im Vorfeld eine Authentifizierung erfolgen.<br>
|
||||||
Eine Zuordnung der Umfrage zu einem Patienten ist technisch ausgeschlossen.<br><br>
|
Eine Zuordnung der Umfrage zu einem Patienten ist technisch ausgeschlossen.<br><br>
|
||||||
|
|
||||||
Das Praxis Team freut sich auf Ihr Feedback und Verbesserungsvorschläge, um das Serviceerlebnis für unsere Patienten und unser Personal zu verbessern.<br><br>
|
Das Praxis Team freut sich auf Ihr Feedback und Verbesserungsvorschläge, um das Serviceerlebnis für unsere Patienten und unser Personal zu verbessern.<br><br>
|
||||||
Bitte geben Sie Ihre Daten ein, um an der Umfrage teilzunehmen.<br>
|
Bitte geben Sie Ihre Daten ein, um an der Umfrage teilzunehmen.<br>
|
||||||
Bei Vor- und Nachname reichen die ersten beiden Buchstaben.<br>
|
Bei Vor- und Nachname reichen die ersten beiden Buchstaben.<br>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<?php echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
<?php echo '<form action="'. $_SERVER['PHP_SELF'] .'" method=POST>';
|
||||||
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
echo '<input type="hidden" name="aktion" id="aktion" value="1" />';
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="row uniform 50%">
|
<div class="row uniform 50%">
|
||||||
|
|
||||||
|
|
||||||
<label for="first_name">Vorname:</label>
|
<label for="first_name">Vorname:</label>
|
||||||
<input type="text" id="first_name" name="first_name" required>
|
<input type="text" id="first_name" name="first_name" required>
|
||||||
|
|
||||||
<label for="last_name">Nachname:</label>
|
<label for="last_name">Nachname:</label>
|
||||||
<input type="text" id="last_name" name="last_name" required>
|
<input type="text" id="last_name" name="last_name" required>
|
||||||
|
|
||||||
<label for="birthdate">Geburtsdatum:</label>
|
<label for="birthdate">Geburtsdatum:</label>
|
||||||
<input type="date" id="birthdate" name="birthdate" required>
|
<input type="date" id="birthdate" name="birthdate" required>
|
||||||
|
|
||||||
<ul class="actions">
|
<ul class="actions">
|
||||||
<li><input type="submit" value="Anmelden" /></li>
|
<li><input type="submit" value="Anmelden" /></li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
}
|
}
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+11
-11
@@ -1,12 +1,12 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta http-equiv="refresh" content="0; url=https://praxis-creutzburg.de/umfrage.php">
|
<meta http-equiv="refresh" content="0; url=https://praxis-creutzburg.de/umfrage.php">
|
||||||
<title>Weiterleitung</title>
|
<title>Weiterleitung</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<p>Du wirst weitergeleitet. Falls die Weiterleitung nicht funktioniert, <a href="https://praxis-creutzburg.de/umfrage.php">klicke hier</a>.</p>
|
<p>Du wirst weitergeleitet. Falls die Weiterleitung nicht funktioniert, <a href="https://praxis-creutzburg.de/umfrage.php">klicke hier</a>.</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+61
-61
@@ -1,62 +1,62 @@
|
|||||||
|
|
||||||
<!DOCTYPE HTML>
|
<!DOCTYPE HTML>
|
||||||
<!--
|
<!--
|
||||||
Alpha by HTML5 UP
|
Alpha by HTML5 UP
|
||||||
html5up.net | @n33co
|
html5up.net | @n33co
|
||||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||||
-->
|
-->
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('header.php');
|
include('header.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
<title>Praxis Creutzburg - DateiUpload</title>
|
<title>Praxis Creutzburg - DateiUpload</title>
|
||||||
<link rel="stylesheet" href="css/formulare.css" />
|
<link rel="stylesheet" href="css/formulare.css" />
|
||||||
</head>
|
</head>
|
||||||
<body >
|
<body >
|
||||||
|
|
||||||
<!-- Header -->
|
<!-- Header -->
|
||||||
<header id="header" class="../skel-layers-fixed">
|
<header id="header" class="../skel-layers-fixed">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include('menu.php');
|
include('menu.php');
|
||||||
include_once("inc/functions.inc.php");
|
include_once("inc/functions.inc.php");
|
||||||
include_once('inc/functions.impfen.inc.php');
|
include_once('inc/functions.impfen.inc.php');
|
||||||
include_once('inc/functions.formulare.inc.php');
|
include_once('inc/functions.formulare.inc.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
|
|
||||||
<!-- Main -->
|
<!-- Main -->
|
||||||
<section id="main" class="container">
|
<section id="main" class="container">
|
||||||
<?php
|
<?php
|
||||||
echo showHeaderpraxis();
|
echo showHeaderpraxis();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<section class="box special">
|
<section class="box special">
|
||||||
<h2>Patientenumfrage</h2>
|
<h2>Patientenumfrage</h2>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
echo "<h3>Vielen Dank für Ihre Teilnahme an der Umfrage!</h3><br>Sie unterstützen uns dabei unseren Service stätig zu verbessern!<br>";
|
echo "<h3>Vielen Dank für Ihre Teilnahme an der Umfrage!</h3><br>Sie unterstützen uns dabei unseren Service stätig zu verbessern!<br>";
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
include_once('footer.php');
|
include_once('footer.php');
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+53
-53
@@ -1,53 +1,53 @@
|
|||||||
<?php
|
<?php
|
||||||
// FTP-Zugangsdaten
|
// FTP-Zugangsdaten
|
||||||
$ftp_server = 'wp1085322.server-he.de';
|
$ftp_server = 'wp1085322.server-he.de';
|
||||||
$ftp_user = 'ftp1085322-creutz';
|
$ftp_user = 'ftp1085322-creutz';
|
||||||
$ftp_pass = 'sV_F323U+Nf-';
|
$ftp_pass = 'sV_F323U+Nf-';
|
||||||
$remote_directory = 'upload/nexChRvmgyJWCgvWjceFugXpGFQzBBaMtuZlySuFdYkFzYoxNe';
|
$remote_directory = 'upload/nexChRvmgyJWCgvWjceFugXpGFQzBBaMtuZlySuFdYkFzYoxNe';
|
||||||
|
|
||||||
// Verbindung zum FTP-Server mit explizitem TLS herstellen
|
// Verbindung zum FTP-Server mit explizitem TLS herstellen
|
||||||
$conn_id = ftp_ssl_connect($ftp_server, 21);
|
$conn_id = ftp_ssl_connect($ftp_server, 21);
|
||||||
if (!$conn_id) {
|
if (!$conn_id) {
|
||||||
die("Verbindung zum FTP-Server fehlgeschlagen");
|
die("Verbindung zum FTP-Server fehlgeschlagen");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Anmeldung mit Benutzerdaten
|
// Anmeldung mit Benutzerdaten
|
||||||
if (!ftp_login($conn_id, $ftp_user, $ftp_pass)) {
|
if (!ftp_login($conn_id, $ftp_user, $ftp_pass)) {
|
||||||
ftp_close($conn_id);
|
ftp_close($conn_id);
|
||||||
die("Anmeldung fehlgeschlagen");
|
die("Anmeldung fehlgeschlagen");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Explizite TLS-Verschlüsselung aktivieren
|
// Explizite TLS-Verschlüsselung aktivieren
|
||||||
if (!ftp_pasv($conn_id, true)) {
|
if (!ftp_pasv($conn_id, true)) {
|
||||||
ftp_close($conn_id);
|
ftp_close($conn_id);
|
||||||
die("TLS-Modus konnte nicht aktiviert werden");
|
die("TLS-Modus konnte nicht aktiviert werden");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hole Dateiliste im Verzeichnis
|
// Hole Dateiliste im Verzeichnis
|
||||||
ftp_chdir($conn_id, $remote_directory);
|
ftp_chdir($conn_id, $remote_directory);
|
||||||
$files = ftp_nlist($conn_id, ".");
|
$files = ftp_nlist($conn_id, ".");
|
||||||
|
|
||||||
// Aktueller Zeitstempel
|
// Aktueller Zeitstempel
|
||||||
$now = time();
|
$now = time();
|
||||||
|
|
||||||
foreach ($files as $file) {
|
foreach ($files as $file) {
|
||||||
// Hole Zeitstempel der Datei
|
// Hole Zeitstempel der Datei
|
||||||
$mod_time = ftp_mdtm($conn_id, $file);
|
$mod_time = ftp_mdtm($conn_id, $file);
|
||||||
if ($mod_time == -1) {
|
if ($mod_time == -1) {
|
||||||
echo "Konnte Zeitstempel für Datei1 nicht abrufen.\n";
|
echo "Konnte Zeitstempel für Datei1 nicht abrufen.\n";
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Prüfe, ob die Datei älter als 24 Stunden ist
|
// Prüfe, ob die Datei älter als 24 Stunden ist
|
||||||
if (($now - $mod_time) > 86400) { // 86400 Sekunden = 24 Stunden
|
if (($now - $mod_time) > 86400) { // 86400 Sekunden = 24 Stunden
|
||||||
if (ftp_delete($conn_id, $file)) {
|
if (ftp_delete($conn_id, $file)) {
|
||||||
echo "Gelöscht: \n";
|
echo "Gelöscht: \n";
|
||||||
} else {
|
} else {
|
||||||
echo "Fehler beim Löschen: \n";
|
echo "Fehler beim Löschen: \n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Verbindung schließen
|
// Verbindung schließen
|
||||||
ftp_close($conn_id);
|
ftp_close($conn_id);
|
||||||
?>
|
?>
|
||||||
|
|||||||
+11
-11
@@ -1,12 +1,12 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="de">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<meta http-equiv="refresh" content="0; url=https://praxis-creutzburg.de/dateiupload.php">
|
<meta http-equiv="refresh" content="0; url=https://praxis-creutzburg.de/dateiupload.php">
|
||||||
<title>Weiterleitung</title>
|
<title>Weiterleitung</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<p>Du wirst weitergeleitet. Falls die Weiterleitung nicht funktioniert, <a href="https://praxis-creutzburg.de/dateiupload.php">klicke hier</a>.</p>
|
<p>Du wirst weitergeleitet. Falls die Weiterleitung nicht funktioniert, <a href="https://praxis-creutzburg.de/dateiupload.php">klicke hier</a>.</p>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
+133
-133
@@ -1,134 +1,134 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
//Since this page writes to a session, initialise it here
|
//Since this page writes to a session, initialise it here
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["action"] == "PDF anzeigen") {
|
if ($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["action"] == "PDF anzeigen") {
|
||||||
|
|
||||||
// Weiterleitung zur createPDF.php mit den Parametern
|
// Weiterleitung zur createPDF.php mit den Parametern
|
||||||
$userId = $_POST["user"];
|
$userId = $_POST["user"];
|
||||||
$selectedMonth = $_POST["month"];
|
$selectedMonth = $_POST["month"];
|
||||||
$monthYear = explode("/", $selectedMonth);
|
$monthYear = explode("/", $selectedMonth);
|
||||||
$month = $monthYear[0];
|
$month = $monthYear[0];
|
||||||
$year = $monthYear[1];
|
$year = $monthYear[1];
|
||||||
// Weiterleitung zur createPDF.php mit den Parametern
|
// Weiterleitung zur createPDF.php mit den Parametern
|
||||||
# echo "Location: createPDF.php?id=$userId&month=$month&year=$year";
|
# echo "Location: createPDF.php?id=$userId&month=$month&year=$year";
|
||||||
header("Location: createPDF.php?id=$userId&month=$month&year=$year");
|
header("Location: createPDF.php?id=$userId&month=$month&year=$year");
|
||||||
exit();
|
exit();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
require_once("inc/functions.inc.php");
|
require_once("inc/functions.inc.php");
|
||||||
//Überprüfe, dass der User eingeloggt ist
|
//Überprüfe, dass der User eingeloggt ist
|
||||||
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
?>
|
?>
|
||||||
<?php include 'header.php'; ?>
|
<?php include 'header.php'; ?>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
|
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
||||||
if (!isset($_SESSION['userid'])) {
|
if (!isset($_SESSION['userid'])) {
|
||||||
die("Kein Benutzer angemeldet.");
|
die("Kein Benutzer angemeldet.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_id = $_SESSION['userid'];
|
$user_id = $_SESSION['userid'];
|
||||||
|
|
||||||
// Monate für den Dropdown-Menü erhalten
|
// Monate für den Dropdown-Menü erhalten
|
||||||
try {
|
try {
|
||||||
$months_stmt = $pdo->prepare("SELECT DISTINCT MONTH(timestamp_datetime) as month, YEAR(timestamp_datetime) as year FROM timestamps WHERE employee_id = ? ORDER BY timestamp_datetime DESC");
|
$months_stmt = $pdo->prepare("SELECT DISTINCT MONTH(timestamp_datetime) as month, YEAR(timestamp_datetime) as year FROM timestamps WHERE employee_id = ? ORDER BY timestamp_datetime DESC");
|
||||||
$months_stmt->bindParam(1, $user_id);
|
$months_stmt->bindParam(1, $user_id);
|
||||||
$months_stmt->execute();
|
$months_stmt->execute();
|
||||||
$months = $months_stmt->fetchAll(PDO::FETCH_ASSOC);
|
$months = $months_stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
$selectedMonth = $_POST['month'] ?? '';
|
$selectedMonth = $_POST['month'] ?? '';
|
||||||
#$selectedYear = $_POST['year'] ?? '';
|
#$selectedYear = $_POST['year'] ?? '';
|
||||||
|
|
||||||
// Zeiten für den ausgewählten Monat erhalten
|
// Zeiten für den ausgewählten Monat erhalten
|
||||||
if ($selectedMonth ) {
|
if ($selectedMonth ) {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$selectedYear = explode('/',$selectedMonth)[1];
|
$selectedYear = explode('/',$selectedMonth)[1];
|
||||||
$times_stmt = $pdo->prepare("SELECT timestamp_datetime, timestamp_type FROM timestamps WHERE employee_id = ? AND MONTH(timestamp_datetime) = ? AND YEAR(timestamp_datetime) = ? ORDER BY timestamp_datetime ASC");
|
$times_stmt = $pdo->prepare("SELECT timestamp_datetime, timestamp_type FROM timestamps WHERE employee_id = ? AND MONTH(timestamp_datetime) = ? AND YEAR(timestamp_datetime) = ? ORDER BY timestamp_datetime ASC");
|
||||||
$times_stmt->bindParam(1, $user_id);
|
$times_stmt->bindParam(1, $user_id);
|
||||||
$times_stmt->bindParam(2, $selectedMonth);
|
$times_stmt->bindParam(2, $selectedMonth);
|
||||||
$times_stmt->bindParam(3, $selectedYear);
|
$times_stmt->bindParam(3, $selectedYear);
|
||||||
$times_stmt->execute();
|
$times_stmt->execute();
|
||||||
$times = $times_stmt->fetchAll(PDO::FETCH_ASSOC);
|
$times = $times_stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
// Gruppieren der Zeiten nach Tagen
|
// Gruppieren der Zeiten nach Tagen
|
||||||
$groupedTimes = [];
|
$groupedTimes = [];
|
||||||
foreach ($times as $time) {
|
foreach ($times as $time) {
|
||||||
$date = date('Y-m-d', strtotime($time['timestamp_datetime']));
|
$date = date('Y-m-d', strtotime($time['timestamp_datetime']));
|
||||||
$groupedTimes[$date][] = $time;
|
$groupedTimes[$date][] = $time;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
<h2>Zeitenübersicht</h2>
|
<h2>Zeitenübersicht</h2>
|
||||||
|
|
||||||
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
|
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="month">Monat auswählen:</label>
|
<label for="month">Monat auswählen:</label>
|
||||||
<select name="month" id="month" class="form-control">
|
<select name="month" id="month" class="form-control">
|
||||||
<?php foreach ($months as $month): ?>
|
<?php foreach ($months as $month): ?>
|
||||||
<option value="<?php echo $month['month'] . '/' . $month['year']; ?>" <?php if ($month['month'] == $selectedMonth && $month['year'] == $selectedYear) echo 'selected'; ?>>
|
<option value="<?php echo $month['month'] . '/' . $month['year']; ?>" <?php if ($month['month'] == $selectedMonth && $month['year'] == $selectedYear) echo 'selected'; ?>>
|
||||||
<?php echo $month['month'] . '/' . $month['year']; ?>
|
<?php echo $month['month'] . '/' . $month['year']; ?>
|
||||||
</option>
|
</option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</select>
|
</select>
|
||||||
<br><br>
|
<br><br>
|
||||||
<input type="submit" value="Zeiten anzeigen" class="btn btn-primary btn-lg">
|
<input type="submit" value="Zeiten anzeigen" class="btn btn-primary btn-lg">
|
||||||
<!-- Button zum Anzeigen der PDF -->
|
<!-- Button zum Anzeigen der PDF -->
|
||||||
<input type="submit" name="action" value="PDF anzeigen" class="btn btn-primary btn-lg" formtarget="_blank">
|
<input type="submit" name="action" value="PDF anzeigen" class="btn btn-primary btn-lg" formtarget="_blank">
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<?php if ($selectedMonth): ?>
|
<?php if ($selectedMonth): ?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<table class="table table-striped table-hover">
|
<table class="table table-striped table-hover">
|
||||||
<tr>
|
<tr>
|
||||||
<th>Datum</th>
|
<th>Datum</th>
|
||||||
<th>Typ</th>
|
<th>Typ</th>
|
||||||
<th>Aktionen</th>
|
<th>Aktionen</th>
|
||||||
</tr>
|
</tr>
|
||||||
<?php foreach ($groupedTimes as $date => $times): ?>
|
<?php foreach ($groupedTimes as $date => $times): ?>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php echo date('d.m.Y', strtotime($date)); ?></td>
|
<td><?php echo date('d.m.Y', strtotime($date)); ?></td>
|
||||||
<td>
|
<td>
|
||||||
<?php foreach ($times as $time): ?>
|
<?php foreach ($times as $time): ?>
|
||||||
<div><?php echo date('H:i:s', strtotime($time['timestamp_datetime'])) . ' - ' . $time['timestamp_type']; ?></div>
|
<div><?php echo date('H:i:s', strtotime($time['timestamp_datetime'])) . ' - ' . $time['timestamp_type']; ?></div>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<!-- Hier können Sie Aktionen für jeden Tag hinzufügen, z.B. Bearbeiten/Löschen des gesamten Tages -->
|
<!-- Hier können Sie Aktionen für jeden Tag hinzufügen, z.B. Bearbeiten/Löschen des gesamten Tages -->
|
||||||
<a href="editDayEntries.php?employee_id=<?php echo $user_id; ?>&datum=<?php echo date('Y-m-d', strtotime($time['timestamp_datetime'])); ?>" class="btn btn-primary">Anpassen</a>
|
<a href="editDayEntries.php?employee_id=<?php echo $user_id; ?>&datum=<?php echo date('Y-m-d', strtotime($time['timestamp_datetime'])); ?>" class="btn btn-primary">Anpassen</a>
|
||||||
|
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</table>
|
</table>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include 'footer.php'; ?>
|
<?php include 'footer.php'; ?>
|
||||||
+152
-152
@@ -1,153 +1,153 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
//Since this page writes to a session, initialise it here
|
//Since this page writes to a session, initialise it here
|
||||||
session_start();
|
session_start();
|
||||||
|
|
||||||
|
|
||||||
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
if ($_SERVER["REQUEST_METHOD"] == "POST") {
|
||||||
// Überprüfen, welcher Button geklickt wurde
|
// Überprüfen, welcher Button geklickt wurde
|
||||||
if ($_POST["action"] == "PDF anzeigen") {
|
if ($_POST["action"] == "PDF anzeigen") {
|
||||||
// Weiterleitung zur createPDF.php mit den Parametern
|
// Weiterleitung zur createPDF.php mit den Parametern
|
||||||
$userId = $_POST["user"];
|
$userId = $_POST["user"];
|
||||||
$selectedMonth = $_POST["month"];
|
$selectedMonth = $_POST["month"];
|
||||||
$monthYear = explode("/", $selectedMonth);
|
$monthYear = explode("/", $selectedMonth);
|
||||||
$month = $monthYear[0];
|
$month = $monthYear[0];
|
||||||
$year = $monthYear[1];
|
$year = $monthYear[1];
|
||||||
// Weiterleitung zur createPDF.php mit den Parametern
|
// Weiterleitung zur createPDF.php mit den Parametern
|
||||||
# echo "Location: createPDF.php?id=$userId&month=$month&year=$year";
|
# echo "Location: createPDF.php?id=$userId&month=$month&year=$year";
|
||||||
header("Location: createPDF.php?id=$userId&month=$month&year=$year");
|
header("Location: createPDF.php?id=$userId&month=$month&year=$year");
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
require_once("inc/functions.inc.php");
|
require_once("inc/functions.inc.php");
|
||||||
//Überprüfe, dass der User eingeloggt ist
|
//Überprüfe, dass der User eingeloggt ist
|
||||||
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
?>
|
?>
|
||||||
<?php include 'header.php'; ?>
|
<?php include 'header.php'; ?>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
// Starten der Session, falls noch nicht geschehen
|
// Starten der Session, falls noch nicht geschehen
|
||||||
if(session_status() === PHP_SESSION_NONE) session_start();
|
if(session_status() === PHP_SESSION_NONE) session_start();
|
||||||
|
|
||||||
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
||||||
if (!isset($_SESSION['userid'])) {
|
if (!isset($_SESSION['userid'])) {
|
||||||
die("Kein Benutzer angemeldet.");
|
die("Kein Benutzer angemeldet.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_id = $_SESSION['userid'];
|
$user_id = $_SESSION['userid'];
|
||||||
|
|
||||||
// Benutzer aus der Datenbank erhalten
|
// Benutzer aus der Datenbank erhalten
|
||||||
try {
|
try {
|
||||||
$users_stmt = $pdo->prepare("SELECT id,vorname, nachname FROM users WHERE zeiterfassung='1' ORDER BY nachname ASC");
|
$users_stmt = $pdo->prepare("SELECT id,vorname, nachname FROM users WHERE zeiterfassung='1' ORDER BY nachname ASC");
|
||||||
$users_stmt->execute();
|
$users_stmt->execute();
|
||||||
$users = $users_stmt->fetchAll(PDO::FETCH_ASSOC);
|
$users = $users_stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Monate für den Dropdown-Menü erhalten
|
// Monate für den Dropdown-Menü erhalten
|
||||||
try {
|
try {
|
||||||
// Hier sollte die Abfrage angepasst werden, um auf den ausgewählten Benutzer zu filtern
|
// Hier sollte die Abfrage angepasst werden, um auf den ausgewählten Benutzer zu filtern
|
||||||
$months_stmt = $pdo->prepare("SELECT DISTINCT MONTH(timestamp_datetime) as month, YEAR(timestamp_datetime) as year FROM timestamps ORDER BY timestamp_datetime DESC");
|
$months_stmt = $pdo->prepare("SELECT DISTINCT MONTH(timestamp_datetime) as month, YEAR(timestamp_datetime) as year FROM timestamps ORDER BY timestamp_datetime DESC");
|
||||||
#$months_stmt->bindParam(1, $user_id);
|
#$months_stmt->bindParam(1, $user_id);
|
||||||
$months_stmt->execute();
|
$months_stmt->execute();
|
||||||
$months = $months_stmt->fetchAll(PDO::FETCH_ASSOC);
|
$months = $months_stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
$selectedUser = $_POST['user'] ?? $user_id; // Standardmäßig der angemeldete Benutzer
|
$selectedUser = $_POST['user'] ?? $user_id; // Standardmäßig der angemeldete Benutzer
|
||||||
$selectedMonth = $_POST['month'] ?? '';
|
$selectedMonth = $_POST['month'] ?? '';
|
||||||
|
|
||||||
// Zeiten für den ausgewählten Monat und Benutzer erhalten
|
// Zeiten für den ausgewählten Monat und Benutzer erhalten
|
||||||
if ($selectedMonth && $selectedUser) {
|
if ($selectedMonth && $selectedUser) {
|
||||||
try {
|
try {
|
||||||
$selectedYear = explode('/',$selectedMonth)[1];
|
$selectedYear = explode('/',$selectedMonth)[1];
|
||||||
$times_stmt = $pdo->prepare("SELECT timestamp_datetime, timestamp_type FROM timestamps WHERE employee_id = ? AND MONTH(timestamp_datetime) = ? AND YEAR(timestamp_datetime) = ? ORDER BY timestamp_datetime ASC");
|
$times_stmt = $pdo->prepare("SELECT timestamp_datetime, timestamp_type FROM timestamps WHERE employee_id = ? AND MONTH(timestamp_datetime) = ? AND YEAR(timestamp_datetime) = ? ORDER BY timestamp_datetime ASC");
|
||||||
$times_stmt->bindParam(1, $selectedUser);
|
$times_stmt->bindParam(1, $selectedUser);
|
||||||
$times_stmt->bindParam(2, explode('/', $selectedMonth)[0]); // Monat extrahieren
|
$times_stmt->bindParam(2, explode('/', $selectedMonth)[0]); // Monat extrahieren
|
||||||
$times_stmt->bindParam(3, $selectedYear);
|
$times_stmt->bindParam(3, $selectedYear);
|
||||||
$times_stmt->execute();
|
$times_stmt->execute();
|
||||||
$times = $times_stmt->fetchAll(PDO::FETCH_ASSOC);
|
$times = $times_stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
// Gruppieren der Zeiten nach Tagen
|
// Gruppieren der Zeiten nach Tagen
|
||||||
$groupedTimes = [];
|
$groupedTimes = [];
|
||||||
foreach ($times as $time) {
|
foreach ($times as $time) {
|
||||||
$date = date('Y-m-d', strtotime($time['timestamp_datetime']));
|
$date = date('Y-m-d', strtotime($time['timestamp_datetime']));
|
||||||
$groupedTimes[$date][] = $time;
|
$groupedTimes[$date][] = $time;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<h2>Zeitenübersicht</h2>
|
<h2>Zeitenübersicht</h2>
|
||||||
|
|
||||||
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
|
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="user">Benutzer auswählen:</label>
|
<label for="user">Benutzer auswählen:</label>
|
||||||
<select name="user" id="user" class="form-control">
|
<select name="user" id="user" class="form-control">
|
||||||
<?php foreach ($users as $user): ?>
|
<?php foreach ($users as $user): ?>
|
||||||
<option value="<?php echo $user['id']; ?>" <?php if ($user['id'] == $selectedUser) echo 'selected'; ?>>
|
<option value="<?php echo $user['id']; ?>" <?php if ($user['id'] == $selectedUser) echo 'selected'; ?>>
|
||||||
<?php echo htmlspecialchars($user['vorname']); ?> <?php echo htmlspecialchars($user['nachname']); ?>
|
<?php echo htmlspecialchars($user['vorname']); ?> <?php echo htmlspecialchars($user['nachname']); ?>
|
||||||
</option>
|
</option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="month">Monat auswählen:</label>
|
<label for="month">Monat auswählen:</label>
|
||||||
<select name="month" id="month" class="form-control">
|
<select name="month" id="month" class="form-control">
|
||||||
<?php foreach ($months as $month): ?>
|
<?php foreach ($months as $month): ?>
|
||||||
<option value="<?php echo $month['month'] . '/' . $month['year']; ?>" <?php if ($month['month'] . '/' . $month['year'] == $selectedMonth) echo 'selected'; ?>>
|
<option value="<?php echo $month['month'] . '/' . $month['year']; ?>" <?php if ($month['month'] . '/' . $month['year'] == $selectedMonth) echo 'selected'; ?>>
|
||||||
<?php echo $month['month'] . '/' . $month['year']; ?>
|
<?php echo $month['month'] . '/' . $month['year']; ?>
|
||||||
</option>
|
</option>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<br>
|
<br>
|
||||||
<input type="submit" value="Zeiten anzeigen" class="btn btn-primary btn-lg">
|
<input type="submit" value="Zeiten anzeigen" class="btn btn-primary btn-lg">
|
||||||
<!-- Button zum Anzeigen der PDF -->
|
<!-- Button zum Anzeigen der PDF -->
|
||||||
<input type="submit" name="action" value="PDF anzeigen" class="btn btn-primary btn-lg" formtarget="_blank">
|
<input type="submit" name="action" value="PDF anzeigen" class="btn btn-primary btn-lg" formtarget="_blank">
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<?php if ($selectedMonth && $selectedUser): ?>
|
<?php if ($selectedMonth && $selectedUser): ?>
|
||||||
<table class="table table-striped table-hover">
|
<table class="table table-striped table-hover">
|
||||||
<tr>
|
<tr>
|
||||||
<th>Datum</th>
|
<th>Datum</th>
|
||||||
<th>Typ</th>
|
<th>Typ</th>
|
||||||
<th>Aktionen</th>
|
<th>Aktionen</th>
|
||||||
</tr>
|
</tr>
|
||||||
<?php foreach ($groupedTimes as $date => $times): ?>
|
<?php foreach ($groupedTimes as $date => $times): ?>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php echo date('d.m.Y', strtotime($date)); ?></td>
|
<td><?php echo date('d.m.Y', strtotime($date)); ?></td>
|
||||||
<td>
|
<td>
|
||||||
<?php foreach ($times as $time): ?>
|
<?php foreach ($times as $time): ?>
|
||||||
<div><?php echo date('H:i:s', strtotime($time['timestamp_datetime'])) . ' - ' . $time['timestamp_type']; ?></div>
|
<div><?php echo date('H:i:s', strtotime($time['timestamp_datetime'])) . ' - ' . $time['timestamp_type']; ?></div>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="editDayEntries.php?employee_id=<?php echo $selectedUser; ?>&datum=<?php echo date('Y-m-d', strtotime($time['timestamp_datetime'])); ?>" class="btn btn-primary">Anpassen</a>
|
<a href="editDayEntries.php?employee_id=<?php echo $selectedUser; ?>&datum=<?php echo date('Y-m-d', strtotime($time['timestamp_datetime'])); ?>" class="btn btn-primary">Anpassen</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</table>
|
</table>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include 'footer.php'; ?>
|
<?php include 'footer.php'; ?>
|
||||||
+169
-169
@@ -1,170 +1,170 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once('./../admin/tcpdf/tcpdf.php');
|
require_once('./../admin/tcpdf/tcpdf.php');
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
require_once("inc/functions.inc.php");
|
require_once("inc/functions.inc.php");
|
||||||
|
|
||||||
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
||||||
if (!isset($_SESSION['userid'])) {
|
if (!isset($_SESSION['userid'])) {
|
||||||
die("Kein Benutzer angemeldet.");
|
die("Kein Benutzer angemeldet.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$user_id = $_SESSION['userid'];
|
$user_id = $_SESSION['userid'];
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?php include 'header.php'; ?>
|
<?php include 'header.php'; ?>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h2 class="mb-4">Zeitbuchungsfehler Auswertung</h2>
|
<h2 class="mb-4">Zeitbuchungsfehler Auswertung</h2>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Benutzer aus der Datenbank erhalten
|
// Benutzer aus der Datenbank erhalten
|
||||||
try {
|
try {
|
||||||
$users_stmt = $pdo->prepare("SELECT id,vorname, nachname FROM users WHERE zeiterfassung='1' ORDER BY nachname ASC");
|
$users_stmt = $pdo->prepare("SELECT id,vorname, nachname FROM users WHERE zeiterfassung='1' ORDER BY nachname ASC");
|
||||||
$users_stmt->execute();
|
$users_stmt->execute();
|
||||||
$users = $users_stmt->fetchAll(PDO::FETCH_ASSOC);
|
$users = $users_stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
foreach($users AS $user){
|
foreach($users AS $user){
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Holen Sie die fehlerhaften Zeitbuchungen des Mitarbeiters aus der Datenbank
|
// Holen Sie die fehlerhaften Zeitbuchungen des Mitarbeiters aus der Datenbank
|
||||||
$query = "
|
$query = "
|
||||||
SELECT
|
SELECT
|
||||||
DATE(timestamp_datetime) as datum,
|
DATE(timestamp_datetime) as datum,
|
||||||
SUM(CASE WHEN timestamp_type = 'KOMMEN' THEN 1 ELSE 0 END) as kommen_count,
|
SUM(CASE WHEN timestamp_type = 'KOMMEN' THEN 1 ELSE 0 END) as kommen_count,
|
||||||
SUM(CASE WHEN timestamp_type = 'GEHEN' THEN 1 ELSE 0 END) as gehen_count
|
SUM(CASE WHEN timestamp_type = 'GEHEN' THEN 1 ELSE 0 END) as gehen_count
|
||||||
FROM
|
FROM
|
||||||
timestamps
|
timestamps
|
||||||
WHERE
|
WHERE
|
||||||
employee_id = :employee_id
|
employee_id = :employee_id
|
||||||
GROUP BY
|
GROUP BY
|
||||||
DATE(timestamp_datetime)
|
DATE(timestamp_datetime)
|
||||||
HAVING
|
HAVING
|
||||||
kommen_count != gehen_count";
|
kommen_count != gehen_count";
|
||||||
|
|
||||||
$stmt = $pdo->prepare($query);
|
$stmt = $pdo->prepare($query);
|
||||||
$stmt->bindParam(':employee_id', $user["id"], PDO::PARAM_INT);
|
$stmt->bindParam(':employee_id', $user["id"], PDO::PARAM_INT);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$fehlerhafteTage = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
$fehlerhafteTage = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$query2 = "
|
$query2 = "
|
||||||
SELECT
|
SELECT
|
||||||
DATE(timestamp_datetime) AS datum,
|
DATE(timestamp_datetime) AS datum,
|
||||||
GROUP_CONCAT(timestamp_type ORDER BY timestamp_datetime) AS day_sequence
|
GROUP_CONCAT(timestamp_type ORDER BY timestamp_datetime) AS day_sequence
|
||||||
FROM
|
FROM
|
||||||
timestamps
|
timestamps
|
||||||
WHERE
|
WHERE
|
||||||
employee_id = :employee_id
|
employee_id = :employee_id
|
||||||
GROUP BY
|
GROUP BY
|
||||||
DATE(timestamp_datetime);";
|
DATE(timestamp_datetime);";
|
||||||
|
|
||||||
$stmt = $pdo->prepare($query2);
|
$stmt = $pdo->prepare($query2);
|
||||||
$stmt->bindParam(':employee_id', $user["id"], PDO::PARAM_INT);
|
$stmt->bindParam(':employee_id', $user["id"], PDO::PARAM_INT);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$result = $stmt->fetchAll();
|
$result = $stmt->fetchAll();
|
||||||
|
|
||||||
$invalidDates = [];
|
$invalidDates = [];
|
||||||
|
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$query1 = "
|
$query1 = "
|
||||||
SELECT
|
SELECT
|
||||||
vorname,
|
vorname,
|
||||||
nachname
|
nachname
|
||||||
FROM
|
FROM
|
||||||
users
|
users
|
||||||
WHERE
|
WHERE
|
||||||
id = :employee_id
|
id = :employee_id
|
||||||
ORDER BY
|
ORDER BY
|
||||||
nachname
|
nachname
|
||||||
";
|
";
|
||||||
|
|
||||||
$stmt = $pdo->prepare($query1);
|
$stmt = $pdo->prepare($query1);
|
||||||
$stmt->bindParam(':employee_id', $user["id"], PDO::PARAM_INT);
|
$stmt->bindParam(':employee_id', $user["id"], PDO::PARAM_INT);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$userdaten = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
$userdaten = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
foreach ($userdaten as $usertag){
|
foreach ($userdaten as $usertag){
|
||||||
echo "<h5>" . $usertag["vorname"] . " " . $usertag["nachname"] . "</h5>";
|
echo "<h5>" . $usertag["vorname"] . " " . $usertag["nachname"] . "</h5>";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
foreach ($result as $row) {
|
foreach ($result as $row) {
|
||||||
if (!isValidSequence($row["day_sequence"])) {
|
if (!isValidSequence($row["day_sequence"])) {
|
||||||
$invalidDates[] = $row["datum"];
|
$invalidDates[] = $row["datum"];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<?php if (!empty($invalidDates)): ?>
|
<?php if (!empty($invalidDates)): ?>
|
||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
<thead class="thead-dark">
|
<thead class="thead-dark">
|
||||||
<tr>
|
<tr>
|
||||||
<th>Datum</th>
|
<th>Datum</th>
|
||||||
<th>Fehler</th>
|
<th>Fehler</th>
|
||||||
<th>Aktionen</th>
|
<th>Aktionen</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php foreach ($invalidDates as $date): ?>
|
<?php foreach ($invalidDates as $date): ?>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php echo date('d.m.Y', strtotime($date)); ?></td>
|
<td><?php echo date('d.m.Y', strtotime($date)); ?></td>
|
||||||
<td>Fehlerhafte Daten</td>
|
<td>Fehlerhafte Daten</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="editDayEntries.php?employee_id=<?php echo $user['id']; ?>&datum=<?php echo $date; ?>" class="btn btn-warning">Anpassen</a>
|
<a href="editDayEntries.php?employee_id=<?php echo $user['id']; ?>&datum=<?php echo $date; ?>" class="btn btn-warning">Anpassen</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
<div class="alert alert-info" role="alert">
|
<div class="alert alert-info" role="alert">
|
||||||
Keine Zeitbuchungsfehler gefunden.
|
Keine Zeitbuchungsfehler gefunden.
|
||||||
</div>
|
</div>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<?php include 'footer.php'; ?>
|
<?php include 'footer.php'; ?>
|
||||||
+197
-197
@@ -1,197 +1,197 @@
|
|||||||
<?php
|
<?php
|
||||||
// API: returns JSON events for FullCalendar
|
// API: returns JSON events for FullCalendar
|
||||||
session_start();
|
session_start();
|
||||||
require_once(__DIR__ . '/../inc/config.inc.php');
|
require_once(__DIR__ . '/../inc/config.inc.php');
|
||||||
require_once(__DIR__ . '/../inc/functions.inc.php');
|
require_once(__DIR__ . '/../inc/functions.inc.php');
|
||||||
|
|
||||||
// Enable full error reporting for API debugging
|
// Enable full error reporting for API debugging
|
||||||
ini_set('display_errors', '1');
|
ini_set('display_errors', '1');
|
||||||
ini_set('display_startup_errors', '1');
|
ini_set('display_startup_errors', '1');
|
||||||
error_reporting(E_ALL);
|
error_reporting(E_ALL);
|
||||||
|
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
$isAdmin = is_admin_user();
|
$isAdmin = is_admin_user();
|
||||||
|
|
||||||
$start = $_GET['start'] ?? null; // expected ISO date
|
$start = $_GET['start'] ?? null; // expected ISO date
|
||||||
$end = $_GET['end'] ?? null;
|
$end = $_GET['end'] ?? null;
|
||||||
$onlyApproved = isset($_GET['only_approved']) && ($_GET['only_approved'] == '1' || $_GET['only_approved'] === 'true');
|
$onlyApproved = isset($_GET['only_approved']) && ($_GET['only_approved'] == '1' || $_GET['only_approved'] === 'true');
|
||||||
// public allows non-admin users to request all *approved* vacations (team view)
|
// public allows non-admin users to request all *approved* vacations (team view)
|
||||||
$public = isset($_GET['public']) && ($_GET['public'] == '1' || $_GET['public'] === 'true');
|
$public = isset($_GET['public']) && ($_GET['public'] == '1' || $_GET['public'] === 'true');
|
||||||
// include_rejected if set to 1 will return rejected entries; default behavior: do not return rejected for regular users
|
// include_rejected if set to 1 will return rejected entries; default behavior: do not return rejected for regular users
|
||||||
$includeRejected = isset($_GET['include_rejected']) && ($_GET['include_rejected'] == '1' || $_GET['include_rejected'] === 'true');
|
$includeRejected = isset($_GET['include_rejected']) && ($_GET['include_rejected'] == '1' || $_GET['include_rejected'] === 'true');
|
||||||
// only_personal forces the API to return only the current user's vacations (useful even if the user is admin)
|
// only_personal forces the API to return only the current user's vacations (useful even if the user is admin)
|
||||||
$onlyPersonal = isset($_GET['only_personal']) && ($_GET['only_personal'] == '1' || $_GET['only_personal'] === 'true');
|
$onlyPersonal = isset($_GET['only_personal']) && ($_GET['only_personal'] == '1' || $_GET['only_personal'] === 'true');
|
||||||
// public_all when used with public=1 returns all non-rejected team vacations (approved + beantragt)
|
// public_all when used with public=1 returns all non-rejected team vacations (approved + beantragt)
|
||||||
$publicAll = isset($_GET['public_all']) && ($_GET['public_all'] == '1' || $_GET['public_all'] === 'true');
|
$publicAll = isset($_GET['public_all']) && ($_GET['public_all'] == '1' || $_GET['public_all'] === 'true');
|
||||||
|
|
||||||
if (!$start || !$end) {
|
if (!$start || !$end) {
|
||||||
http_response_code(400);
|
http_response_code(400);
|
||||||
echo json_encode(['error' => 'start and end required']);
|
echo json_encode(['error' => 'start and end required']);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$events = [];
|
$events = [];
|
||||||
try {
|
try {
|
||||||
$branch = 'unknown';
|
$branch = 'unknown';
|
||||||
$debugMode = isset($_GET['debug']) && ($_GET['debug'] == '1' || $_GET['debug'] === 'true');
|
$debugMode = isset($_GET['debug']) && ($_GET['debug'] == '1' || $_GET['debug'] === 'true');
|
||||||
|
|
||||||
// Vacations: support a personal-only mode, admin mode, and public/team mode
|
// Vacations: support a personal-only mode, admin mode, and public/team mode
|
||||||
if ($onlyPersonal) {
|
if ($onlyPersonal) {
|
||||||
$branch = 'onlyPersonal';
|
$branch = 'onlyPersonal';
|
||||||
if ($onlyApproved) {
|
if ($onlyApproved) {
|
||||||
$branch = 'onlyPersonal_onlyApproved';
|
$branch = 'onlyPersonal_onlyApproved';
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? AND LOWER(TRIM(v.status)) = 'genehmigt' ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? AND LOWER(TRIM(v.status)) = 'genehmigt' ORDER BY v.start_date");
|
||||||
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
||||||
} else {
|
} else {
|
||||||
if ($includeRejected) {
|
if ($includeRejected) {
|
||||||
$branch = 'onlyPersonal_includeRejected';
|
$branch = 'onlyPersonal_includeRejected';
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? ORDER BY v.start_date");
|
||||||
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
||||||
} else {
|
} else {
|
||||||
$branch = 'onlyPersonal_excludeRejected';
|
$branch = 'onlyPersonal_excludeRejected';
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? AND (v.status IS NULL OR LOWER(TRIM(v.status)) != 'abgelehnt') ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? AND (v.status IS NULL OR LOWER(TRIM(v.status)) != 'abgelehnt') ORDER BY v.start_date");
|
||||||
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} elseif ($isAdmin) {
|
} elseif ($isAdmin) {
|
||||||
$branch = 'admin';
|
$branch = 'admin';
|
||||||
if ($onlyApproved) {
|
if ($onlyApproved) {
|
||||||
$branch = 'admin_onlyApproved';
|
$branch = 'admin_onlyApproved';
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.start_date <= ? AND v.end_date >= ? AND LOWER(TRIM(v.status)) = 'genehmigt' ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.start_date <= ? AND v.end_date >= ? AND LOWER(TRIM(v.status)) = 'genehmigt' ORDER BY v.start_date");
|
||||||
$stmt->execute([$end, $start]);
|
$stmt->execute([$end, $start]);
|
||||||
} else {
|
} else {
|
||||||
// By default admins see genehmigt + beantragt; include_rejected=1 can override
|
// By default admins see genehmigt + beantragt; include_rejected=1 can override
|
||||||
if ($includeRejected) {
|
if ($includeRejected) {
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.start_date <= ? AND v.end_date >= ? ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.start_date <= ? AND v.end_date >= ? ORDER BY v.start_date");
|
||||||
$stmt->execute([$end, $start]);
|
$stmt->execute([$end, $start]);
|
||||||
} else {
|
} else {
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.start_date <= ? AND v.end_date >= ? AND (v.status IS NULL OR LOWER(TRIM(v.status)) IN ('genehmigt','beantragt')) ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.start_date <= ? AND v.end_date >= ? AND (v.status IS NULL OR LOWER(TRIM(v.status)) IN ('genehmigt','beantragt')) ORDER BY v.start_date");
|
||||||
$stmt->execute([$end, $start]);
|
$stmt->execute([$end, $start]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$branch = 'public_or_regular';
|
$branch = 'public_or_regular';
|
||||||
if ($public && $onlyApproved) {
|
if ($public && $onlyApproved) {
|
||||||
$branch = 'public_onlyApproved';
|
$branch = 'public_onlyApproved';
|
||||||
// public team view: show all approved vacations (read-only)
|
// public team view: show all approved vacations (read-only)
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.start_date <= ? AND v.end_date >= ? AND LOWER(TRIM(v.status)) = 'genehmigt' ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.start_date <= ? AND v.end_date >= ? AND LOWER(TRIM(v.status)) = 'genehmigt' ORDER BY v.start_date");
|
||||||
$stmt->execute([$end, $start]);
|
$stmt->execute([$end, $start]);
|
||||||
} elseif ($public && $publicAll) {
|
} elseif ($public && $publicAll) {
|
||||||
$branch = 'public_publicAll';
|
$branch = 'public_publicAll';
|
||||||
// public team view: explicitly show only approved (genehmigt) and pending (beantragt) vacations
|
// public team view: explicitly show only approved (genehmigt) and pending (beantragt) vacations
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.start_date <= ? AND v.end_date >= ? AND (v.status IS NULL OR LOWER(TRIM(v.status)) IN ('genehmigt','beantragt')) ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.start_date <= ? AND v.end_date >= ? AND (v.status IS NULL OR LOWER(TRIM(v.status)) IN ('genehmigt','beantragt')) ORDER BY v.start_date");
|
||||||
$stmt->execute([$end, $start]);
|
$stmt->execute([$end, $start]);
|
||||||
} else {
|
} else {
|
||||||
if ($onlyApproved) {
|
if ($onlyApproved) {
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? AND LOWER(TRIM(v.status)) = 'genehmigt' ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? AND LOWER(TRIM(v.status)) = 'genehmigt' ORDER BY v.start_date");
|
||||||
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
||||||
} else {
|
} else {
|
||||||
// By default exclude rejected ('abgelehnt') for regular users; include if include_rejected=1
|
// By default exclude rejected ('abgelehnt') for regular users; include if include_rejected=1
|
||||||
if ($includeRejected) {
|
if ($includeRejected) {
|
||||||
$branch = 'regular_includeRejected';
|
$branch = 'regular_includeRejected';
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? ORDER BY v.start_date");
|
||||||
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
||||||
} else {
|
} else {
|
||||||
$branch = 'regular_excludeRejected';
|
$branch = 'regular_excludeRejected';
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? AND (v.status IS NULL OR LOWER(TRIM(v.status)) != 'abgelehnt') ORDER BY v.start_date");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname FROM vacations v JOIN users u ON v.user_id = u.id WHERE v.user_id = ? AND v.start_date <= ? AND v.end_date >= ? AND (v.status IS NULL OR LOWER(TRIM(v.status)) != 'abgelehnt') ORDER BY v.start_date");
|
||||||
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
$stmt->execute([$_SESSION['userid'], $end, $start]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$vacations = $stmt->fetchAll();
|
$vacations = $stmt->fetchAll();
|
||||||
|
|
||||||
// If debug mode is enabled, prepare meta information
|
// If debug mode is enabled, prepare meta information
|
||||||
if ($debugMode) {
|
if ($debugMode) {
|
||||||
$rawStatuses = array_map(function($r){ return $r['status'] ?? null; }, $vacations);
|
$rawStatuses = array_map(function($r){ return $r['status'] ?? null; }, $vacations);
|
||||||
$meta = [
|
$meta = [
|
||||||
'branch' => $branch,
|
'branch' => $branch,
|
||||||
'count' => count($vacations),
|
'count' => count($vacations),
|
||||||
'raw_statuses' => $rawStatuses
|
'raw_statuses' => $rawStatuses
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($vacations as $v) {
|
foreach ($vacations as $v) {
|
||||||
// Normalize status: collapse whitespace (including NBSP), trim, lowercase
|
// Normalize status: collapse whitespace (including NBSP), trim, lowercase
|
||||||
if (isset($v['status'])) {
|
if (isset($v['status'])) {
|
||||||
$normalized = preg_replace('/\s+/u', ' ', $v['status']);
|
$normalized = preg_replace('/\s+/u', ' ', $v['status']);
|
||||||
$status = mb_strtolower(trim($normalized));
|
$status = mb_strtolower(trim($normalized));
|
||||||
} else {
|
} else {
|
||||||
$status = '';
|
$status = '';
|
||||||
}
|
}
|
||||||
// Defensive filter: do not expose rejected ('abgelehnt') entries to non-admins
|
// Defensive filter: do not expose rejected ('abgelehnt') entries to non-admins
|
||||||
if (!$isAdmin && !$includeRejected && mb_stripos($status, 'abgelehnt') !== false) {
|
if (!$isAdmin && !$includeRejected && mb_stripos($status, 'abgelehnt') !== false) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$isApproved = (mb_stripos($status, 'genehmigt') !== false);
|
$isApproved = (mb_stripos($status, 'genehmigt') !== false);
|
||||||
if ($isAdmin) {
|
if ($isAdmin) {
|
||||||
$title = $v['vorname'] . ' ' . $v['nachname'] . ' (' . ($v['status'] ?? 'beantragt') . ')';
|
$title = $v['vorname'] . ' ' . $v['nachname'] . ' (' . ($v['status'] ?? 'beantragt') . ')';
|
||||||
} else {
|
} else {
|
||||||
$title = $isApproved ? 'Urlaub' : 'Urlaubsantrag';
|
$title = $isApproved ? 'Urlaub' : 'Urlaubsantrag';
|
||||||
}
|
}
|
||||||
// Safely compute end date; fallback to start_date if invalid
|
// Safely compute end date; fallback to start_date if invalid
|
||||||
try {
|
try {
|
||||||
$endInclusive = (new DateTime($v['end_date']))->modify('+1 day')->format('Y-m-d');
|
$endInclusive = (new DateTime($v['end_date']))->modify('+1 day')->format('Y-m-d');
|
||||||
} catch (Exception $e) {
|
} catch (Exception $e) {
|
||||||
$endInclusive = $v['start_date'];
|
$endInclusive = $v['start_date'];
|
||||||
}
|
}
|
||||||
$events[] = [
|
$events[] = [
|
||||||
'id' => 'vac_' . $v['id'],
|
'id' => 'vac_' . $v['id'],
|
||||||
'title' => $title,
|
'title' => $title,
|
||||||
'start' => $v['start_date'],
|
'start' => $v['start_date'],
|
||||||
'end' => $endInclusive,
|
'end' => $endInclusive,
|
||||||
'allDay' => true,
|
'allDay' => true,
|
||||||
'color' => ($isApproved) ? '#28a745' : '#ffc107',
|
'color' => ($isApproved) ? '#28a745' : '#ffc107',
|
||||||
'extendedProps' => [
|
'extendedProps' => [
|
||||||
'type' => 'user',
|
'type' => 'user',
|
||||||
'user_id' => $v['user_id'],
|
'user_id' => $v['user_id'],
|
||||||
'status' => $v['status'],
|
'status' => $v['status'],
|
||||||
'comment' => $v['comment_user'] ?? ''
|
'comment' => $v['comment_user'] ?? ''
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
header('Content-Type: application/json; charset=utf-8');
|
header('Content-Type: application/json; charset=utf-8');
|
||||||
$payload = ['error' => $ex->getMessage(), 'branch' => $branch, 'trace' => $ex->getTraceAsString()];
|
$payload = ['error' => $ex->getMessage(), 'branch' => $branch, 'trace' => $ex->getTraceAsString()];
|
||||||
echo json_encode($payload);
|
echo json_encode($payload);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
header('Content-Type: application/json; charset=utf-8');
|
header('Content-Type: application/json; charset=utf-8');
|
||||||
$payload = ['error' => $ex->getMessage(), 'branch' => $branch, 'trace' => $ex->getTraceAsString()];
|
$payload = ['error' => $ex->getMessage(), 'branch' => $branch, 'trace' => $ex->getTraceAsString()];
|
||||||
echo json_encode($payload);
|
echo json_encode($payload);
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Company holidays (visible to all)
|
// Company holidays (visible to all)
|
||||||
$stmt = $pdo->prepare("SELECT * FROM company_holidays WHERE start_date <= ? AND end_date >= ? ORDER BY start_date");
|
$stmt = $pdo->prepare("SELECT * FROM company_holidays WHERE start_date <= ? AND end_date >= ? ORDER BY start_date");
|
||||||
$stmt->execute([$end, $start]);
|
$stmt->execute([$end, $start]);
|
||||||
$holidays = $stmt->fetchAll();
|
$holidays = $stmt->fetchAll();
|
||||||
|
|
||||||
foreach ($holidays as $h) {
|
foreach ($holidays as $h) {
|
||||||
$endInclusive = (new DateTime($h['end_date']))->modify('+1 day')->format('Y-m-d');
|
$endInclusive = (new DateTime($h['end_date']))->modify('+1 day')->format('Y-m-d');
|
||||||
$events[] = [
|
$events[] = [
|
||||||
'id' => 'com_' . $h['id'],
|
'id' => 'com_' . $h['id'],
|
||||||
'title' => $h['description'] ?: 'Betriebsurlaub',
|
'title' => $h['description'] ?: 'Betriebsurlaub',
|
||||||
'start' => $h['start_date'],
|
'start' => $h['start_date'],
|
||||||
'end' => $endInclusive,
|
'end' => $endInclusive,
|
||||||
'allDay' => true,
|
'allDay' => true,
|
||||||
'color' => '#007bff',
|
'color' => '#007bff',
|
||||||
'extendedProps' => [
|
'extendedProps' => [
|
||||||
'type' => 'company',
|
'type' => 'company',
|
||||||
'description' => $h['description']
|
'description' => $h['description']
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
header('Content-Type: application/json; charset=utf-8');
|
header('Content-Type: application/json; charset=utf-8');
|
||||||
if ($debugMode) {
|
if ($debugMode) {
|
||||||
echo json_encode(['events' => $events, 'meta' => $meta]);
|
echo json_encode(['events' => $events, 'meta' => $meta]);
|
||||||
} else {
|
} else {
|
||||||
echo json_encode($events);
|
echo json_encode($events);
|
||||||
}
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
+105
-105
@@ -1,105 +1,105 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
require_once("inc/functions.inc.php");
|
require_once("inc/functions.inc.php");
|
||||||
|
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
if (!is_admin_user()) {
|
if (!is_admin_user()) {
|
||||||
die('Zugriff verweigert. Nur Chefs dürfen Anträge genehmigen.');
|
die('Zugriff verweigert. Nur Chefs dürfen Anträge genehmigen.');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle approve/reject actions
|
// Handle approve/reject actions
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['id']) && isset($_POST['action'])) {
|
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['id']) && isset($_POST['action'])) {
|
||||||
$id = (int)$_POST['id'];
|
$id = (int)$_POST['id'];
|
||||||
$action = $_POST['action'];
|
$action = $_POST['action'];
|
||||||
|
|
||||||
if ($action === 'approve') {
|
if ($action === 'approve') {
|
||||||
$stmt = $pdo->prepare("UPDATE vacations SET status = 'genehmigt', approved_by = ?, approved_at = NOW() WHERE id = ?");
|
$stmt = $pdo->prepare("UPDATE vacations SET status = 'genehmigt', approved_by = ?, approved_at = NOW() WHERE id = ?");
|
||||||
$stmt->execute([$_SESSION['userid'], $id]);
|
$stmt->execute([$_SESSION['userid'], $id]);
|
||||||
} elseif ($action === 'reject') {
|
} elseif ($action === 'reject') {
|
||||||
$stmt = $pdo->prepare("UPDATE vacations SET status = 'abgelehnt', approved_by = ?, approved_at = NOW() WHERE id = ?");
|
$stmt = $pdo->prepare("UPDATE vacations SET status = 'abgelehnt', approved_by = ?, approved_at = NOW() WHERE id = ?");
|
||||||
$stmt->execute([$_SESSION['userid'], $id]);
|
$stmt->execute([$_SESSION['userid'], $id]);
|
||||||
} elseif ($action === 'delete' && is_admin_user()) {
|
} elseif ($action === 'delete' && is_admin_user()) {
|
||||||
$del = $pdo->prepare("DELETE FROM vacations WHERE id = ?");
|
$del = $pdo->prepare("DELETE FROM vacations WHERE id = ?");
|
||||||
$del->execute([$id]);
|
$del->execute([$id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
header('Location: approveVacation.php');
|
header('Location: approveVacation.php');
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
include 'header.php';
|
include 'header.php';
|
||||||
|
|
||||||
// List pending and recent requests
|
// List pending and recent requests
|
||||||
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname, u.email FROM vacations v JOIN users u ON v.user_id = u.id ORDER BY v.created_at DESC");
|
$stmt = $pdo->prepare("SELECT v.*, u.vorname, u.nachname, u.email FROM vacations v JOIN users u ON v.user_id = u.id ORDER BY v.created_at DESC");
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$requests = $stmt->fetchAll();
|
$requests = $stmt->fetchAll();
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h2>Urlaubsanträge - Genehmigung</h2>
|
<h2>Urlaubsanträge - Genehmigung</h2>
|
||||||
|
|
||||||
<table class="table table-bordered">
|
<table class="table table-bordered">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Mitarbeiter</th>
|
<th>Mitarbeiter</th>
|
||||||
<th>Von</th>
|
<th>Von</th>
|
||||||
<th>Bis</th>
|
<th>Bis</th>
|
||||||
<th>Tage</th>
|
<th>Tage</th>
|
||||||
<th>Kommentar</th>
|
<th>Kommentar</th>
|
||||||
<th>Status</th>
|
<th>Status</th>
|
||||||
<th>Aktion</th>
|
<th>Aktion</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php foreach ($requests as $r): ?>
|
<?php foreach ($requests as $r): ?>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php echo htmlspecialchars($r['vorname'] . ' ' . $r['nachname']); ?></td>
|
<td><?php echo htmlspecialchars($r['vorname'] . ' ' . $r['nachname']); ?></td>
|
||||||
<td><?php echo $r['start_date']; ?></td>
|
<td><?php echo $r['start_date']; ?></td>
|
||||||
<td><?php echo $r['end_date']; ?></td>
|
<td><?php echo $r['end_date']; ?></td>
|
||||||
<td><?php echo $r['days']; ?></td>
|
<td><?php echo $r['days']; ?></td>
|
||||||
<td><?php echo htmlspecialchars($r['comment_user']); ?></td>
|
<td><?php echo htmlspecialchars($r['comment_user']); ?></td>
|
||||||
<td>
|
<td>
|
||||||
<?php
|
<?php
|
||||||
if ($r['status'] === 'beantragt' || $r['status'] === null) {
|
if ($r['status'] === 'beantragt' || $r['status'] === null) {
|
||||||
echo '<span class="badge badge-warning">Beantragt</span>';
|
echo '<span class="badge badge-warning">Beantragt</span>';
|
||||||
} elseif ($r['status'] === 'genehmigt') {
|
} elseif ($r['status'] === 'genehmigt') {
|
||||||
echo '<span class="badge badge-success">Genehmigt</span>';
|
echo '<span class="badge badge-success">Genehmigt</span>';
|
||||||
} else {
|
} else {
|
||||||
echo '<span class="badge badge-danger">Abgelehnt</span>';
|
echo '<span class="badge badge-danger">Abgelehnt</span>';
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<?php if ($r['status'] !== 'genehmigt'): ?>
|
<?php if ($r['status'] !== 'genehmigt'): ?>
|
||||||
<form method="post" style="display:inline-block; margin-right:6px;">
|
<form method="post" style="display:inline-block; margin-right:6px;">
|
||||||
<input type="hidden" name="id" value="<?php echo $r['id']; ?>">
|
<input type="hidden" name="id" value="<?php echo $r['id']; ?>">
|
||||||
<input type="hidden" name="action" value="approve">
|
<input type="hidden" name="action" value="approve">
|
||||||
<button class="btn btn-sm btn-success" type="submit">Genehmigen</button>
|
<button class="btn btn-sm btn-success" type="submit">Genehmigen</button>
|
||||||
</form>
|
</form>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
|
|
||||||
<?php if ($r['status'] !== 'abgelehnt'): ?>
|
<?php if ($r['status'] !== 'abgelehnt'): ?>
|
||||||
<form method="post" style="display:inline-block;">
|
<form method="post" style="display:inline-block;">
|
||||||
<input type="hidden" name="id" value="<?php echo $r['id']; ?>">
|
<input type="hidden" name="id" value="<?php echo $r['id']; ?>">
|
||||||
<input type="hidden" name="action" value="reject">
|
<input type="hidden" name="action" value="reject">
|
||||||
<button class="btn btn-sm btn-danger" type="submit">Ablehnen</button>
|
<button class="btn btn-sm btn-danger" type="submit">Ablehnen</button>
|
||||||
</form>
|
</form>
|
||||||
<?php endif; ?>
|
<?php endif; ?>
|
||||||
<form method="post" style="display:inline-block; margin-left:6px;" onsubmit="return confirm('Wirklich löschen?');">
|
<form method="post" style="display:inline-block; margin-left:6px;" onsubmit="return confirm('Wirklich löschen?');">
|
||||||
<input type="hidden" name="id" value="<?php echo $r['id']; ?>">
|
<input type="hidden" name="id" value="<?php echo $r['id']; ?>">
|
||||||
<input type="hidden" name="action" value="delete">
|
<input type="hidden" name="action" value="delete">
|
||||||
<button class="btn btn-sm btn-outline-danger" type="submit">Löschen</button>
|
<button class="btn btn-sm btn-outline-danger" type="submit">Löschen</button>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include 'footer.php';
|
<?php include 'footer.php';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
@@ -1,98 +1,98 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
require_once("inc/functions.inc.php");
|
require_once("inc/functions.inc.php");
|
||||||
//Überprüfe, dass der User eingeloggt ist
|
//Überprüfe, dass der User eingeloggt ist
|
||||||
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?php include 'header.php'; ?>
|
<?php include 'header.php'; ?>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<h2>Stempelkarten-System</h2>
|
<h2>Stempelkarten-System</h2>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
||||||
if (!isset($_SESSION['userid'])) {
|
if (!isset($_SESSION['userid'])) {
|
||||||
die("Kein Benutzer angemeldet.");
|
die("Kein Benutzer angemeldet.");
|
||||||
}
|
}
|
||||||
#$mitarbeiterId = $_GET['employee_id'] ?? null;
|
#$mitarbeiterId = $_GET['employee_id'] ?? null;
|
||||||
#$gewaehlterTag = $_GET['datum'] ?? null;
|
#$gewaehlterTag = $_GET['datum'] ?? null;
|
||||||
$mitarbeiterId = $_SESSION['userid']; // Angenommen, die Mitarbeiter-ID kommt aus der Session
|
$mitarbeiterId = $_SESSION['userid']; // Angenommen, die Mitarbeiter-ID kommt aus der Session
|
||||||
$gewaehlterMonat = '2024-01'; // Format: YYYY-MM
|
$gewaehlterMonat = '2024-01'; // Format: YYYY-MM
|
||||||
$tageImMonat = date('t', strtotime($gewaehlterMonat . '-01'));
|
$tageImMonat = date('t', strtotime($gewaehlterMonat . '-01'));
|
||||||
|
|
||||||
$zeitenProTag = [];
|
$zeitenProTag = [];
|
||||||
|
|
||||||
for($tag = 1; $tag <= $tageImMonat; $tag++) {
|
for($tag = 1; $tag <= $tageImMonat; $tag++) {
|
||||||
$datum = $gewaehlterMonat . '-' . str_pad($tag, 2, '0', STR_PAD_LEFT);
|
$datum = $gewaehlterMonat . '-' . str_pad($tag, 2, '0', STR_PAD_LEFT);
|
||||||
echo $datum . "<br>";
|
echo $datum . "<br>";
|
||||||
// Abfrage für alle Zeitstempel des Tages
|
// Abfrage für alle Zeitstempel des Tages
|
||||||
$query = "
|
$query = "
|
||||||
SELECT timestamp_type, timestamp_datetime
|
SELECT timestamp_type, timestamp_datetime
|
||||||
FROM timestamps
|
FROM timestamps
|
||||||
WHERE employee_id = :employee_id AND DATE(timestamp_datetime) = :datum
|
WHERE employee_id = :employee_id AND DATE(timestamp_datetime) = :datum
|
||||||
ORDER BY timestamp_datetime
|
ORDER BY timestamp_datetime
|
||||||
";
|
";
|
||||||
try {
|
try {
|
||||||
$stmt = $pdo->prepare($query);
|
$stmt = $pdo->prepare($query);
|
||||||
$stmt->bindParam(':employee_id', $mitarbeiterId, PDO::PARAM_INT);
|
$stmt->bindParam(':employee_id', $mitarbeiterId, PDO::PARAM_INT);
|
||||||
$stmt->bindParam(':datum', $datum);
|
$stmt->bindParam(':datum', $datum);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$zeitstempel = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
$zeitstempel = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
echo $zeitstempel;
|
echo $zeitstempel;
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
$pdo->rollBack();
|
$pdo->rollBack();
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
$fruehesteKommenZeit = null;
|
$fruehesteKommenZeit = null;
|
||||||
$spaetesteGehenZeit = null;
|
$spaetesteGehenZeit = null;
|
||||||
$gesamtarbeitszeit = new DateInterval('PT0S');
|
$gesamtarbeitszeit = new DateInterval('PT0S');
|
||||||
$gesamtpausenzeit = new DateInterval('PT0S');
|
$gesamtpausenzeit = new DateInterval('PT0S');
|
||||||
$letzterGehenZeitstempel = null;
|
$letzterGehenZeitstempel = null;
|
||||||
echo "test";
|
echo "test";
|
||||||
foreach ($zeitstempel as $index => $eintrag) {
|
foreach ($zeitstempel as $index => $eintrag) {
|
||||||
$zeit = new DateTime($eintrag['timestamp_datetime']);
|
$zeit = new DateTime($eintrag['timestamp_datetime']);
|
||||||
echo "test2";
|
echo "test2";
|
||||||
if ($eintrag['timestamp_type'] === 'KOMMEN') {
|
if ($eintrag['timestamp_type'] === 'KOMMEN') {
|
||||||
echo "test3";
|
echo "test3";
|
||||||
if ($fruehesteKommenZeit === null || $zeit < $fruehesteKommenZeit) {
|
if ($fruehesteKommenZeit === null || $zeit < $fruehesteKommenZeit) {
|
||||||
$fruehesteKommenZeit = $zeit;
|
$fruehesteKommenZeit = $zeit;
|
||||||
}
|
}
|
||||||
if ($letzterGehenZeitstempel) {
|
if ($letzterGehenZeitstempel) {
|
||||||
$pause = $letzterGehenZeitstempel->diff($zeit);
|
$pause = $letzterGehenZeitstempel->diff($zeit);
|
||||||
$gesamtpausenzeit = $gesamtpausenzeit->add($pause);
|
$gesamtpausenzeit = $gesamtpausenzeit->add($pause);
|
||||||
}
|
}
|
||||||
} else if ($eintrag['timestamp_type'] === 'GEHEN') {
|
} else if ($eintrag['timestamp_type'] === 'GEHEN') {
|
||||||
if ($spaetesteGehenZeit === null || $zeit > $spaetesteGehenZeit) {
|
if ($spaetesteGehenZeit === null || $zeit > $spaetesteGehenZeit) {
|
||||||
$spaetesteGehenZeit = $zeit;
|
$spaetesteGehenZeit = $zeit;
|
||||||
}
|
}
|
||||||
$letzterGehenZeitstempel = $zeit;
|
$letzterGehenZeitstempel = $zeit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($fruehesteKommenZeit && $spaetesteGehenZeit) {
|
if ($fruehesteKommenZeit && $spaetesteGehenZeit) {
|
||||||
$gesamtarbeitszeit = $fruehesteKommenZeit->diff($spaetesteGehenZeit)->subtract($gesamtpausenzeit);
|
$gesamtarbeitszeit = $fruehesteKommenZeit->diff($spaetesteGehenZeit)->subtract($gesamtpausenzeit);
|
||||||
}
|
}
|
||||||
#echo $gesamtarbeitszeit;
|
#echo $gesamtarbeitszeit;
|
||||||
$zeitenProTag[$datum] = [
|
$zeitenProTag[$datum] = [
|
||||||
'fruehesteKommenZeit' => $fruehesteKommenZeit ? $fruehesteKommenZeit->format('H:i:s') : '',
|
'fruehesteKommenZeit' => $fruehesteKommenZeit ? $fruehesteKommenZeit->format('H:i:s') : '',
|
||||||
'spaetesteGehenZeit' => $spaetesteGehenZeit ? $spaetesteGehenZeit->format('H:i:s') : '',
|
'spaetesteGehenZeit' => $spaetesteGehenZeit ? $spaetesteGehenZeit->format('H:i:s') : '',
|
||||||
'gesamtarbeitszeit' => $gesamtarbeitszeit->format('%H:%I:%S'),
|
'gesamtarbeitszeit' => $gesamtarbeitszeit->format('%H:%I:%S'),
|
||||||
'gesamtpausenzeit' => $gesamtpausenzeit->format('%H:%I:%S')
|
'gesamtpausenzeit' => $gesamtpausenzeit->format('%H:%I:%S')
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ausgabe der Ergebnisse für Testzwecke
|
// Ausgabe der Ergebnisse für Testzwecke
|
||||||
echo '<pre>';
|
echo '<pre>';
|
||||||
print_r($zeitenProTag);
|
print_r($zeitenProTag);
|
||||||
echo '</pre>';
|
echo '</pre>';
|
||||||
?>
|
?>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include 'footer.php'; ?>
|
<?php include 'footer.php'; ?>
|
||||||
@@ -1,90 +1,90 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once('inc/config.inc.php');
|
require_once('inc/config.inc.php');
|
||||||
require_once('inc/functions.inc.php');
|
require_once('inc/functions.inc.php');
|
||||||
|
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
if (!is_admin_user()) {
|
if (!is_admin_user()) {
|
||||||
die('Zugriff verweigert. Nur Chefs dürfen Betriebsurlaub verwalten.');
|
die('Zugriff verweigert. Nur Chefs dürfen Betriebsurlaub verwalten.');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create table if not exists (optional helper)
|
// Create table if not exists (optional helper)
|
||||||
// Administrators can also run the SQL directly in DB. This is just a convenience.
|
// Administrators can also run the SQL directly in DB. This is just a convenience.
|
||||||
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['start_date']) && isset($_POST['end_date'])) {
|
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['start_date']) && isset($_POST['end_date'])) {
|
||||||
$start = $_POST['start_date'];
|
$start = $_POST['start_date'];
|
||||||
$end = $_POST['end_date'];
|
$end = $_POST['end_date'];
|
||||||
$desc = trim($_POST['description'] ?? 'Betriebsurlaub');
|
$desc = trim($_POST['description'] ?? 'Betriebsurlaub');
|
||||||
|
|
||||||
$stmt = $pdo->prepare("INSERT INTO company_holidays (start_date, end_date, description, created_by) VALUES (?, ?, ?, ?)");
|
$stmt = $pdo->prepare("INSERT INTO company_holidays (start_date, end_date, description, created_by) VALUES (?, ?, ?, ?)");
|
||||||
$stmt->execute([$start, $end, $desc, $_SESSION['userid']]);
|
$stmt->execute([$start, $end, $desc, $_SESSION['userid']]);
|
||||||
|
|
||||||
header('Location: company_holidays.php');
|
header('Location: company_holidays.php');
|
||||||
exit();
|
exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
include 'header.php';
|
include 'header.php';
|
||||||
|
|
||||||
$stmt = $pdo->prepare("SELECT * FROM company_holidays ORDER BY start_date DESC");
|
$stmt = $pdo->prepare("SELECT * FROM company_holidays ORDER BY start_date DESC");
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$holidays = $stmt->fetchAll();
|
$holidays = $stmt->fetchAll();
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h2>Betriebsurlaub verwalten</h2>
|
<h2>Betriebsurlaub verwalten</h2>
|
||||||
|
|
||||||
<form method="post" class="form-inline mb-3">
|
<form method="post" class="form-inline mb-3">
|
||||||
<div class="form-group mr-2">
|
<div class="form-group mr-2">
|
||||||
<label>Von:</label>
|
<label>Von:</label>
|
||||||
<input type="date" name="start_date" class="form-control" required>
|
<input type="date" name="start_date" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group mr-2">
|
<div class="form-group mr-2">
|
||||||
<label>Bis:</label>
|
<label>Bis:</label>
|
||||||
<input type="date" name="end_date" class="form-control" required>
|
<input type="date" name="end_date" class="form-control" required>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group mr-2">
|
<div class="form-group mr-2">
|
||||||
<label>Beschreibung:</label>
|
<label>Beschreibung:</label>
|
||||||
<input type="text" name="description" class="form-control" placeholder="z. B. Betriebsurlaub Weihnachten">
|
<input type="text" name="description" class="form-control" placeholder="z. B. Betriebsurlaub Weihnachten">
|
||||||
</div>
|
</div>
|
||||||
<button class="btn btn-primary">Hinzufügen</button>
|
<button class="btn btn-primary">Hinzufügen</button>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<table class="table table-bordered">
|
<table class="table table-bordered">
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Von</th>
|
<th>Von</th>
|
||||||
<th>Bis</th>
|
<th>Bis</th>
|
||||||
<th>Beschreibung</th>
|
<th>Beschreibung</th>
|
||||||
<th>Erstellt von</th>
|
<th>Erstellt von</th>
|
||||||
<th>Aktion</th>
|
<th>Aktion</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<?php foreach ($holidays as $h): ?>
|
<?php foreach ($holidays as $h): ?>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php echo $h['start_date']; ?></td>
|
<td><?php echo $h['start_date']; ?></td>
|
||||||
<td><?php echo $h['end_date']; ?></td>
|
<td><?php echo $h['end_date']; ?></td>
|
||||||
<td><?php echo htmlspecialchars($h['description']); ?></td>
|
<td><?php echo htmlspecialchars($h['description']); ?></td>
|
||||||
<td><?php
|
<td><?php
|
||||||
$s = $pdo->prepare("SELECT vorname, nachname FROM users WHERE id = ?");
|
$s = $pdo->prepare("SELECT vorname, nachname FROM users WHERE id = ?");
|
||||||
$s->execute([$h['created_by']]);
|
$s->execute([$h['created_by']]);
|
||||||
$u = $s->fetch();
|
$u = $s->fetch();
|
||||||
echo htmlspecialchars($u['vorname'] . ' ' . $u['nachname']);
|
echo htmlspecialchars($u['vorname'] . ' ' . $u['nachname']);
|
||||||
?></td>
|
?></td>
|
||||||
<td>
|
<td>
|
||||||
<form method="post" action="deleteCompanyHoliday.php" onsubmit="return confirm('Betriebsurlaub wirklich löschen?');">
|
<form method="post" action="deleteCompanyHoliday.php" onsubmit="return confirm('Betriebsurlaub wirklich löschen?');">
|
||||||
<input type="hidden" name="id" value="<?php echo intval($h['id']); ?>">
|
<input type="hidden" name="id" value="<?php echo intval($h['id']); ?>">
|
||||||
<button class="btn btn-sm btn-danger">Löschen</button>
|
<button class="btn btn-sm btn-danger">Löschen</button>
|
||||||
</form>
|
</form>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include 'footer.php';
|
<?php include 'footer.php';
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
+240
-240
@@ -1,241 +1,241 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once('./../admin/tcpdf/tcpdf.php');
|
require_once('./../admin/tcpdf/tcpdf.php');
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
require_once("inc/functions.inc.php");
|
require_once("inc/functions.inc.php");
|
||||||
|
|
||||||
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
||||||
if (!isset($_SESSION['userid'])) {
|
if (!isset($_SESSION['userid'])) {
|
||||||
die("Kein Benutzer angemeldet.");
|
die("Kein Benutzer angemeldet.");
|
||||||
}
|
}
|
||||||
|
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
|
|
||||||
if($_GET['id'] && $user["admin"] == 1){
|
if($_GET['id'] && $user["admin"] == 1){
|
||||||
$user_id = $_GET['id'];
|
$user_id = $_GET['id'];
|
||||||
}else{
|
}else{
|
||||||
$user_id = $_SESSION['userid'];
|
$user_id = $_SESSION['userid'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$mitarbeiterName = ""; // Holen Sie den Namen des Mitarbeiters aus der Datenbank
|
$mitarbeiterName = ""; // Holen Sie den Namen des Mitarbeiters aus der Datenbank
|
||||||
$firmaName = "Praxis Creutzburg"; // Setzen Sie den Firmennamen
|
$firmaName = "Praxis Creutzburg"; // Setzen Sie den Firmennamen
|
||||||
|
|
||||||
|
|
||||||
$selectedMonth = $_GET['month'] ?? date('m'); // Monat vom Benutzer oder aktueller Monat
|
$selectedMonth = $_GET['month'] ?? date('m'); // Monat vom Benutzer oder aktueller Monat
|
||||||
$selectedYear = $_GET['year'] ?? date('Y'); // Jahr vom Benutzer oder aktuelles Jahr
|
$selectedYear = $_GET['year'] ?? date('Y'); // Jahr vom Benutzer oder aktuelles Jahr
|
||||||
|
|
||||||
$selectedMonthSQL = str_pad($selectedMonth, 2, '0', STR_PAD_LEFT);
|
$selectedMonthSQL = str_pad($selectedMonth, 2, '0', STR_PAD_LEFT);
|
||||||
|
|
||||||
#echo $selectedMonthSQL;
|
#echo $selectedMonthSQL;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
|
||||||
$query2 = "
|
$query2 = "
|
||||||
SELECT
|
SELECT
|
||||||
DATE(timestamp_datetime) AS datum,
|
DATE(timestamp_datetime) AS datum,
|
||||||
GROUP_CONCAT(timestamp_type ORDER BY timestamp_datetime) AS day_sequence
|
GROUP_CONCAT(timestamp_type ORDER BY timestamp_datetime) AS day_sequence
|
||||||
FROM
|
FROM
|
||||||
timestamps
|
timestamps
|
||||||
WHERE
|
WHERE
|
||||||
employee_id = :employee_id AND
|
employee_id = :employee_id AND
|
||||||
MONTH(timestamp_datetime) = :selectedMonth AND
|
MONTH(timestamp_datetime) = :selectedMonth AND
|
||||||
YEAR(timestamp_datetime) = :selectedYear
|
YEAR(timestamp_datetime) = :selectedYear
|
||||||
GROUP BY
|
GROUP BY
|
||||||
DATE(timestamp_datetime);";
|
DATE(timestamp_datetime);";
|
||||||
|
|
||||||
$stmt = $pdo->prepare($query2);
|
$stmt = $pdo->prepare($query2);
|
||||||
$stmt->bindParam(':employee_id', $user_id, PDO::PARAM_INT);
|
$stmt->bindParam(':employee_id', $user_id, PDO::PARAM_INT);
|
||||||
$stmt->bindParam(':selectedMonth', $selectedMonth, PDO::PARAM_INT);
|
$stmt->bindParam(':selectedMonth', $selectedMonth, PDO::PARAM_INT);
|
||||||
$stmt->bindParam(':selectedYear', $selectedYear, PDO::PARAM_INT);
|
$stmt->bindParam(':selectedYear', $selectedYear, PDO::PARAM_INT);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$result = $stmt->fetchAll();
|
$result = $stmt->fetchAll();
|
||||||
|
|
||||||
#$invalidDates = [];
|
#$invalidDates = [];
|
||||||
|
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
foreach ($result as $row) {
|
foreach ($result as $row) {
|
||||||
|
|
||||||
if (!isValidSequence($row["day_sequence"])) {
|
if (!isValidSequence($row["day_sequence"])) {
|
||||||
$fehlerhafteTage[] = $row["datum"];
|
$fehlerhafteTage[] = $row["datum"];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($fehlerhafteTage){
|
if ($fehlerhafteTage){
|
||||||
|
|
||||||
include 'header.php'; ?>
|
include 'header.php'; ?>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<h2>Stempelkarten-System</h2>
|
<h2>Stempelkarten-System</h2>
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
echo "<h1>Fehlzeiten erkannt</h1><br><h4>Bitte erst beheben.</h4><br>";
|
echo "<h1>Fehlzeiten erkannt</h1><br><h4>Bitte erst beheben.</h4><br>";
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<a href="index.php" class="btn btn-info btn-lg btn-block">Zurück</a>
|
<a href="index.php" class="btn btn-info btn-lg btn-block">Zurück</a>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include 'footer.php';
|
<?php include 'footer.php';
|
||||||
|
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Holen Sie den Namen des Mitarbeiters aus der Datenbank
|
// Holen Sie den Namen des Mitarbeiters aus der Datenbank
|
||||||
$user_stmt = $pdo->prepare("SELECT vorname, nachname FROM users WHERE id = ?");
|
$user_stmt = $pdo->prepare("SELECT vorname, nachname FROM users WHERE id = ?");
|
||||||
$user_stmt->bindParam(1, $user_id);
|
$user_stmt->bindParam(1, $user_id);
|
||||||
$user_stmt->execute();
|
$user_stmt->execute();
|
||||||
$user = $user_stmt->fetch(PDO::FETCH_ASSOC);
|
$user = $user_stmt->fetch(PDO::FETCH_ASSOC);
|
||||||
|
|
||||||
if ($user) {
|
if ($user) {
|
||||||
$mitarbeiterName = $user['vorname'] . ' ' . $user['nachname'];
|
$mitarbeiterName = $user['vorname'] . ' ' . $user['nachname'];
|
||||||
} else {
|
} else {
|
||||||
die("Mitarbeiter nicht gefunden.");
|
die("Mitarbeiter nicht gefunden.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// Holen Sie die Zeiten des Mitarbeiters aus der Datenbank
|
// Holen Sie die Zeiten des Mitarbeiters aus der Datenbank
|
||||||
$times_stmt = $pdo->prepare("SELECT
|
$times_stmt = $pdo->prepare("SELECT
|
||||||
DATE(timestamp_datetime) AS day,
|
DATE(timestamp_datetime) AS day,
|
||||||
MIN(CASE WHEN timestamp_type = 'KOMMEN' THEN timestamp_datetime END) AS first_come,
|
MIN(CASE WHEN timestamp_type = 'KOMMEN' THEN timestamp_datetime END) AS first_come,
|
||||||
MAX(CASE WHEN timestamp_type = 'GEHEN' THEN timestamp_datetime END) AS last_go,
|
MAX(CASE WHEN timestamp_type = 'GEHEN' THEN timestamp_datetime END) AS last_go,
|
||||||
|
|
||||||
SEC_TO_TIME(SUM(
|
SEC_TO_TIME(SUM(
|
||||||
CASE
|
CASE
|
||||||
WHEN timestamp_type = 'GEHEN' THEN UNIX_TIMESTAMP(timestamp_datetime)
|
WHEN timestamp_type = 'GEHEN' THEN UNIX_TIMESTAMP(timestamp_datetime)
|
||||||
WHEN timestamp_type = 'KOMMEN' THEN -UNIX_TIMESTAMP(timestamp_datetime)
|
WHEN timestamp_type = 'KOMMEN' THEN -UNIX_TIMESTAMP(timestamp_datetime)
|
||||||
ELSE 0
|
ELSE 0
|
||||||
END
|
END
|
||||||
)) AS total_time,
|
)) AS total_time,
|
||||||
SEC_TO_TIME(
|
SEC_TO_TIME(
|
||||||
TIME_TO_SEC(
|
TIME_TO_SEC(
|
||||||
SEC_TO_TIME(
|
SEC_TO_TIME(
|
||||||
UNIX_TIMESTAMP(
|
UNIX_TIMESTAMP(
|
||||||
MAX(CASE WHEN timestamp_type = 'GEHEN' THEN timestamp_datetime END)
|
MAX(CASE WHEN timestamp_type = 'GEHEN' THEN timestamp_datetime END)
|
||||||
) - UNIX_TIMESTAMP(
|
) - UNIX_TIMESTAMP(
|
||||||
MIN(CASE WHEN timestamp_type = 'KOMMEN' THEN timestamp_datetime END)
|
MIN(CASE WHEN timestamp_type = 'KOMMEN' THEN timestamp_datetime END)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
) - TIME_TO_SEC(SEC_TO_TIME(SUM(
|
) - TIME_TO_SEC(SEC_TO_TIME(SUM(
|
||||||
CASE
|
CASE
|
||||||
WHEN timestamp_type = 'GEHEN' THEN UNIX_TIMESTAMP(timestamp_datetime)
|
WHEN timestamp_type = 'GEHEN' THEN UNIX_TIMESTAMP(timestamp_datetime)
|
||||||
WHEN timestamp_type = 'KOMMEN' THEN -UNIX_TIMESTAMP(timestamp_datetime)
|
WHEN timestamp_type = 'KOMMEN' THEN -UNIX_TIMESTAMP(timestamp_datetime)
|
||||||
ELSE 0
|
ELSE 0
|
||||||
END
|
END
|
||||||
)))
|
)))
|
||||||
) AS difference_between_total_time_and_pause_time
|
) AS difference_between_total_time_and_pause_time
|
||||||
FROM
|
FROM
|
||||||
timestamps
|
timestamps
|
||||||
WHERE
|
WHERE
|
||||||
employee_id = :employee_id AND
|
employee_id = :employee_id AND
|
||||||
MONTH(timestamp_datetime) = :month AND
|
MONTH(timestamp_datetime) = :month AND
|
||||||
YEAR(timestamp_datetime) = :year
|
YEAR(timestamp_datetime) = :year
|
||||||
GROUP BY
|
GROUP BY
|
||||||
DATE(timestamp_datetime)");
|
DATE(timestamp_datetime)");
|
||||||
|
|
||||||
$times_stmt->bindParam(':employee_id', $user_id, PDO::PARAM_INT);
|
$times_stmt->bindParam(':employee_id', $user_id, PDO::PARAM_INT);
|
||||||
$times_stmt->bindParam(':month', $selectedMonth, PDO::PARAM_INT);
|
$times_stmt->bindParam(':month', $selectedMonth, PDO::PARAM_INT);
|
||||||
$times_stmt->bindParam(':year', $selectedYear, PDO::PARAM_INT);
|
$times_stmt->bindParam(':year', $selectedYear, PDO::PARAM_INT);
|
||||||
$times_stmt->execute();
|
$times_stmt->execute();
|
||||||
// Ergebnisse abrufen
|
// Ergebnisse abrufen
|
||||||
#$result = $times_stmt->fetchAll();
|
#$result = $times_stmt->fetchAll();
|
||||||
|
|
||||||
#if (count($result) > 0) {
|
#if (count($result) > 0) {
|
||||||
|
|
||||||
// Erstellen eines leeren Arrays, um die gesammelten Daten zu speichern
|
// Erstellen eines leeren Arrays, um die gesammelten Daten zu speichern
|
||||||
$times_data = [];
|
$times_data = [];
|
||||||
|
|
||||||
// Schleife durch die Ergebnisse der Abfrage und Speichern der Daten in einem assoziativen Array mit dem Tag als Schlüssel
|
// Schleife durch die Ergebnisse der Abfrage und Speichern der Daten in einem assoziativen Array mit dem Tag als Schlüssel
|
||||||
while ($row = $times_stmt->fetch(PDO::FETCH_ASSOC)) {
|
while ($row = $times_stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||||
$day = date('d', strtotime($row['day']));
|
$day = date('d', strtotime($row['day']));
|
||||||
$times_data[$day] = $row;
|
$times_data[$day] = $row;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Erstellen des PDF-Dokuments
|
// Erstellen des PDF-Dokuments
|
||||||
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
|
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
|
||||||
|
|
||||||
$pdf->SetCreator(PDF_CREATOR);
|
$pdf->SetCreator(PDF_CREATOR);
|
||||||
$pdf->SetAuthor($mitarbeiterName);
|
$pdf->SetAuthor($mitarbeiterName);
|
||||||
$pdf->SetTitle('Arbeitszeiten');
|
$pdf->SetTitle('Arbeitszeiten');
|
||||||
$pdf->SetSubject('Arbeitszeiten von ' . $mitarbeiterName);
|
$pdf->SetSubject('Arbeitszeiten von ' . $mitarbeiterName);
|
||||||
|
|
||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
$stempdate = $selectedYear . "-" . $selectedMonth . "-1" ;
|
$stempdate = $selectedYear . "-" . $selectedMonth . "-1" ;
|
||||||
$date = new DateTime($stempdate);
|
$date = new DateTime($stempdate);
|
||||||
|
|
||||||
// the international date formater object
|
// the international date formater object
|
||||||
$formatter = new IntlDateFormatter(
|
$formatter = new IntlDateFormatter(
|
||||||
"de-DE",
|
"de-DE",
|
||||||
IntlDateFormatter::LONG,
|
IntlDateFormatter::LONG,
|
||||||
IntlDateFormatter::NONE,
|
IntlDateFormatter::NONE,
|
||||||
"Europe/Berlin",
|
"Europe/Berlin",
|
||||||
IntlDateFormatter::GREGORIAN,
|
IntlDateFormatter::GREGORIAN,
|
||||||
"MMMM"
|
"MMMM"
|
||||||
);
|
);
|
||||||
|
|
||||||
// Konvertieren Sie die Monatsnummer in einen Monatsnamen
|
// Konvertieren Sie die Monatsnummer in einen Monatsnamen
|
||||||
#$dateObj = DateTime::createFromFormat('!m', $selectedMonth);
|
#$dateObj = DateTime::createFromFormat('!m', $selectedMonth);
|
||||||
$monthName = $formatter->format($date); // z.B. March
|
$monthName = $formatter->format($date); // z.B. March
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$html = '<h1>Arbeitszeiten - ' . $firmaName . '</h1>';
|
$html = '<h1>Arbeitszeiten - ' . $firmaName . '</h1>';
|
||||||
$html .= '<h2>Mitarbeiter: ' . $mitarbeiterName . '</h2>';
|
$html .= '<h2>Mitarbeiter: ' . $mitarbeiterName . '</h2>';
|
||||||
$html .= '<h3>Monat: ' . $monthName . ' ' . $selectedYear . '</h3>';
|
$html .= '<h3>Monat: ' . $monthName . ' ' . $selectedYear . '</h3>';
|
||||||
$html .= '<table border="1" style="font-size:14px;" width=100%>';
|
$html .= '<table border="1" style="font-size:14px;" width=100%>';
|
||||||
$html .= '<tr><th style="width: 7%;">Tag</th><th style="width: 12%;">Start</th><th style="width: 12%;">Pause</th><th style="width: 12%;">Ende</th><th>Gesamtzeit</th><th style="width: 20%;font-size:12px;">aufgezeichnet am:</th><th style="width: 23%;">Bemerkung</th></tr>';
|
$html .= '<tr><th style="width: 7%;">Tag</th><th style="width: 12%;">Start</th><th style="width: 12%;">Pause</th><th style="width: 12%;">Ende</th><th>Gesamtzeit</th><th style="width: 20%;font-size:12px;">aufgezeichnet am:</th><th style="width: 23%;">Bemerkung</th></tr>';
|
||||||
|
|
||||||
// Schleife durch die Tage 1-31
|
// Schleife durch die Tage 1-31
|
||||||
for ($day = 1; $day <= 31; $day++) {
|
for ($day = 1; $day <= 31; $day++) {
|
||||||
|
|
||||||
$daytwo = str_pad($day, 2, '0', STR_PAD_LEFT);
|
$daytwo = str_pad($day, 2, '0', STR_PAD_LEFT);
|
||||||
// Überprüfen, ob Daten für diesen Tag vorhanden sind
|
// Überprüfen, ob Daten für diesen Tag vorhanden sind
|
||||||
if (isset($times_data[$daytwo])) {
|
if (isset($times_data[$daytwo])) {
|
||||||
// Daten für diesen Tag aus dem Array abrufen
|
// Daten für diesen Tag aus dem Array abrufen
|
||||||
$row = $times_data[$daytwo];
|
$row = $times_data[$daytwo];
|
||||||
|
|
||||||
$html .= '<tr><td>' . $day . '</td><td>' . date('H:i:s', strtotime($row['first_come'])) . '</td><td>' . $row['difference_between_total_time_and_pause_time'] . '</td><td>' . date('H:i:s', strtotime($row['last_go'])) . '</td><td>' . $row['total_time'] . '</td><td>' . date('d.m.Y', strtotime($row['day'])) . '</td><td></td></tr>';
|
$html .= '<tr><td>' . $day . '</td><td>' . date('H:i:s', strtotime($row['first_come'])) . '</td><td>' . $row['difference_between_total_time_and_pause_time'] . '</td><td>' . date('H:i:s', strtotime($row['last_go'])) . '</td><td>' . $row['total_time'] . '</td><td>' . date('d.m.Y', strtotime($row['day'])) . '</td><td></td></tr>';
|
||||||
list($hours, $minutes, $seconds) = explode(':', $row["total_time"]);
|
list($hours, $minutes, $seconds) = explode(':', $row["total_time"]);
|
||||||
$totalSeconds += $hours * 3600 + $minutes * 60 + $seconds;
|
$totalSeconds += $hours * 3600 + $minutes * 60 + $seconds;
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// Wenn keine Daten für diesen Tag vorhanden sind, eine leere Zeile ausgeben
|
// Wenn keine Daten für diesen Tag vorhanden sind, eine leere Zeile ausgeben
|
||||||
$html .= '<tr><td>' . $day . '</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>';
|
$html .= '<tr><td>' . $day . '</td><td></td><td></td><td></td><td></td><td></td><td></td></tr>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
// Umwandeln der gesamten Sekunden zurück in Stunden, Minuten, Sekunden
|
// Umwandeln der gesamten Sekunden zurück in Stunden, Minuten, Sekunden
|
||||||
$hours = floor($totalSeconds / 3600);
|
$hours = floor($totalSeconds / 3600);
|
||||||
$mins = floor($totalSeconds / 60 % 60);
|
$mins = floor($totalSeconds / 60 % 60);
|
||||||
$secs = floor($totalSeconds % 60);
|
$secs = floor($totalSeconds % 60);
|
||||||
$totalTime = sprintf('%02d:%02d:%02d', $hours, $mins, $secs);
|
$totalTime = sprintf('%02d:%02d:%02d', $hours, $mins, $secs);
|
||||||
|
|
||||||
#echo "Gesamtzeit über alle Tage: " . $totalTime;
|
#echo "Gesamtzeit über alle Tage: " . $totalTime;
|
||||||
$html .= '<tr><td></td><td></td><td></td><td><b>Gesamt</b></td><td><b>' . $totalTime .'</b></td><td></td><td></td></tr>';
|
$html .= '<tr><td></td><td></td><td></td><td><b>Gesamt</b></td><td><b>' . $totalTime .'</b></td><td></td><td></td></tr>';
|
||||||
|
|
||||||
$html .= '</table>';
|
$html .= '</table>';
|
||||||
|
|
||||||
$pdf->writeHTML($html, true, false, true, false, '');
|
$pdf->writeHTML($html, true, false, true, false, '');
|
||||||
|
|
||||||
$pdf->Output('Arbeitszeiten_' . $user['nachname'] . '_' . $selectedYear . '_' . $selectedMonth . '.pdf', 'I');
|
$pdf->Output('Arbeitszeiten_' . $user['nachname'] . '_' . $selectedYear . '_' . $selectedMonth . '.pdf', 'I');
|
||||||
#} else {
|
#} else {
|
||||||
# echo "Keine Ergebnisse gefunden";
|
# echo "Keine Ergebnisse gefunden";
|
||||||
#}
|
#}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
@@ -1,26 +1,26 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once('inc/config.inc.php');
|
require_once('inc/config.inc.php');
|
||||||
require_once('inc/functions.inc.php');
|
require_once('inc/functions.inc.php');
|
||||||
|
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
if (!is_admin_user()) {
|
if (!is_admin_user()) {
|
||||||
http_response_code(403);
|
http_response_code(403);
|
||||||
echo 'Zugriff verweigert.';
|
echo 'Zugriff verweigert.';
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] !== 'POST' || !isset($_POST['id'])) {
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST' || !isset($_POST['id'])) {
|
||||||
http_response_code(400);
|
http_response_code(400);
|
||||||
echo 'Ungültige Anfrage.';
|
echo 'Ungültige Anfrage.';
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$id = intval($_POST['id']);
|
$id = intval($_POST['id']);
|
||||||
|
|
||||||
$stmt = $pdo->prepare("DELETE FROM company_holidays WHERE id = ?");
|
$stmt = $pdo->prepare("DELETE FROM company_holidays WHERE id = ?");
|
||||||
$stmt->execute([$id]);
|
$stmt->execute([$id]);
|
||||||
|
|
||||||
header('Location: company_holidays.php');
|
header('Location: company_holidays.php');
|
||||||
exit;
|
exit;
|
||||||
?>
|
?>
|
||||||
@@ -1,51 +1,51 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once("inc/config.inc.php"); // Stellen Sie sicher, dass die Datenbankkonfiguration korrekt ist
|
require_once("inc/config.inc.php"); // Stellen Sie sicher, dass die Datenbankkonfiguration korrekt ist
|
||||||
require_once("inc/functions.inc.php"); // Enthält Funktionen für die Benutzerauthentifizierung und mehr
|
require_once("inc/functions.inc.php"); // Enthält Funktionen für die Benutzerauthentifizierung und mehr
|
||||||
|
|
||||||
// Überprüfen, ob der Benutzer angemeldet ist
|
// Überprüfen, ob der Benutzer angemeldet ist
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
|
|
||||||
include 'header.php'; ?>
|
include 'header.php'; ?>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<?php
|
<?php
|
||||||
try {
|
try {
|
||||||
// Überprüfen, ob die erforderlichen POST-Daten vorhanden sind
|
// Überprüfen, ob die erforderlichen POST-Daten vorhanden sind
|
||||||
if (isset($_GET['timestamp_id'])) {
|
if (isset($_GET['timestamp_id'])) {
|
||||||
// Die timestamp_id aus dem POST-Array holen
|
// Die timestamp_id aus dem POST-Array holen
|
||||||
$timestamp_id = $_GET['timestamp_id'];
|
$timestamp_id = $_GET['timestamp_id'];
|
||||||
|
|
||||||
// SQL-Abfrage zum Löschen der Buchung
|
// SQL-Abfrage zum Löschen der Buchung
|
||||||
$sql = "DELETE FROM timestamps WHERE timestamp_id = :timestamp_id";
|
$sql = "DELETE FROM timestamps WHERE timestamp_id = :timestamp_id";
|
||||||
|
|
||||||
// Vorbereiten der SQL-Abfrage
|
// Vorbereiten der SQL-Abfrage
|
||||||
$stmt = $pdo->prepare($sql);
|
$stmt = $pdo->prepare($sql);
|
||||||
|
|
||||||
// Binden von Parametern
|
// Binden von Parametern
|
||||||
$stmt->bindParam(':timestamp_id', $timestamp_id, PDO::PARAM_INT);
|
$stmt->bindParam(':timestamp_id', $timestamp_id, PDO::PARAM_INT);
|
||||||
|
|
||||||
// Ausführen der vorbereiteten Abfrage
|
// Ausführen der vorbereiteten Abfrage
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
|
|
||||||
// Erfolgreich gelöscht
|
// Erfolgreich gelöscht
|
||||||
echo "Buchung erfolgreich gelöscht";
|
echo "Buchung erfolgreich gelöscht";
|
||||||
} else {
|
} else {
|
||||||
// Fehler, wenn timestamp_id nicht im POST-Array gefunden wurde
|
// Fehler, wenn timestamp_id nicht im POST-Array gefunden wurde
|
||||||
echo "Fehler: timestamp_id nicht gefunden";
|
echo "Fehler: timestamp_id nicht gefunden";
|
||||||
}
|
}
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
// Fehler beim Verbindungsaufbau oder bei der Abfrage
|
// Fehler beim Verbindungsaufbau oder bei der Abfrage
|
||||||
echo "Fehler: " . $e->getMessage();
|
echo "Fehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include 'footer.php'; ?>
|
<?php include 'footer.php'; ?>
|
||||||
@@ -1,39 +1,39 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once("inc/config.inc.php"); // Stellen Sie sicher, dass die Datenbankkonfiguration korrekt ist
|
require_once("inc/config.inc.php"); // Stellen Sie sicher, dass die Datenbankkonfiguration korrekt ist
|
||||||
require_once("inc/functions.inc.php"); // Enthält Funktionen für die Benutzerauthentifizierung und mehr
|
require_once("inc/functions.inc.php"); // Enthält Funktionen für die Benutzerauthentifizierung und mehr
|
||||||
|
|
||||||
// Überprüfen, ob der Benutzer angemeldet ist
|
// Überprüfen, ob der Benutzer angemeldet ist
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Überprüfen, ob die erforderlichen POST-Daten vorhanden sind
|
// Überprüfen, ob die erforderlichen POST-Daten vorhanden sind
|
||||||
if (isset($_POST['timestamp_id'])) {
|
if (isset($_POST['timestamp_id'])) {
|
||||||
// Die timestamp_id aus dem POST-Array holen
|
// Die timestamp_id aus dem POST-Array holen
|
||||||
$timestamp_id = $_POST['timestamp_id'];
|
$timestamp_id = $_POST['timestamp_id'];
|
||||||
|
|
||||||
// SQL-Abfrage zum Löschen der Buchung
|
// SQL-Abfrage zum Löschen der Buchung
|
||||||
$sql = "DELETE FROM buchungen WHERE timestamp_id = :timestamp_id";
|
$sql = "DELETE FROM buchungen WHERE timestamp_id = :timestamp_id";
|
||||||
|
|
||||||
// Vorbereiten der SQL-Abfrage
|
// Vorbereiten der SQL-Abfrage
|
||||||
$stmt = $pdo->prepare($sql);
|
$stmt = $pdo->prepare($sql);
|
||||||
|
|
||||||
// Binden von Parametern
|
// Binden von Parametern
|
||||||
$stmt->bindParam(':timestamp_id', $timestamp_id, PDO::PARAM_INT);
|
$stmt->bindParam(':timestamp_id', $timestamp_id, PDO::PARAM_INT);
|
||||||
|
|
||||||
// Ausführen der vorbereiteten Abfrage
|
// Ausführen der vorbereiteten Abfrage
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
|
|
||||||
// Erfolgreich gelöscht
|
// Erfolgreich gelöscht
|
||||||
echo "Buchung erfolgreich gelöscht";
|
echo "Buchung erfolgreich gelöscht";
|
||||||
} else {
|
} else {
|
||||||
// Fehler, wenn timestamp_id nicht im POST-Array gefunden wurde
|
// Fehler, wenn timestamp_id nicht im POST-Array gefunden wurde
|
||||||
echo "Fehler: timestamp_id nicht gefunden";
|
echo "Fehler: timestamp_id nicht gefunden";
|
||||||
}
|
}
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
// Fehler beim Verbindungsaufbau oder bei der Abfrage
|
// Fehler beim Verbindungsaufbau oder bei der Abfrage
|
||||||
echo "Fehler: " . $e->getMessage();
|
echo "Fehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
?>
|
?>
|
||||||
@@ -1,38 +1,38 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once('inc/config.inc.php');
|
require_once('inc/config.inc.php');
|
||||||
require_once('inc/functions.inc.php');
|
require_once('inc/functions.inc.php');
|
||||||
|
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
|
|
||||||
if ($_SERVER['REQUEST_METHOD'] !== 'POST' || !isset($_POST['id'])) {
|
if ($_SERVER['REQUEST_METHOD'] !== 'POST' || !isset($_POST['id'])) {
|
||||||
http_response_code(400);
|
http_response_code(400);
|
||||||
die('Bad request');
|
die('Bad request');
|
||||||
}
|
}
|
||||||
|
|
||||||
$id = (int)$_POST['id'];
|
$id = (int)$_POST['id'];
|
||||||
$referer = $_POST['referer'] ?? 'urlaubsantrag.php';
|
$referer = $_POST['referer'] ?? 'urlaubsantrag.php';
|
||||||
|
|
||||||
// Fetch vacation to verify ownership
|
// Fetch vacation to verify ownership
|
||||||
$stmt = $pdo->prepare("SELECT user_id, status FROM vacations WHERE id = ?");
|
$stmt = $pdo->prepare("SELECT user_id, status FROM vacations WHERE id = ?");
|
||||||
$stmt->execute([$id]);
|
$stmt->execute([$id]);
|
||||||
$vac = $stmt->fetch();
|
$vac = $stmt->fetch();
|
||||||
|
|
||||||
if (!$vac) {
|
if (!$vac) {
|
||||||
die('Urlaubseintrag nicht gefunden.');
|
die('Urlaubseintrag nicht gefunden.');
|
||||||
}
|
}
|
||||||
|
|
||||||
$isAdmin = is_admin_user();
|
$isAdmin = is_admin_user();
|
||||||
|
|
||||||
if (!$isAdmin && $vac['user_id'] != $_SESSION['userid']) {
|
if (!$isAdmin && $vac['user_id'] != $_SESSION['userid']) {
|
||||||
die('Zugriff verweigert.');
|
die('Zugriff verweigert.');
|
||||||
}
|
}
|
||||||
|
|
||||||
// Allow deletion for admins or owner
|
// Allow deletion for admins or owner
|
||||||
$del = $pdo->prepare("DELETE FROM vacations WHERE id = ?");
|
$del = $pdo->prepare("DELETE FROM vacations WHERE id = ?");
|
||||||
$del->execute([$id]);
|
$del->execute([$id]);
|
||||||
|
|
||||||
header('Location: ' . $referer);
|
header('Location: ' . $referer);
|
||||||
exit();
|
exit();
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|||||||
+115
-115
@@ -1,116 +1,116 @@
|
|||||||
<?php
|
<?php
|
||||||
session_start();
|
session_start();
|
||||||
require_once("inc/config.inc.php");
|
require_once("inc/config.inc.php");
|
||||||
require_once("inc/functions.inc.php");
|
require_once("inc/functions.inc.php");
|
||||||
//Überprüfe, dass der User eingeloggt ist
|
//Überprüfe, dass der User eingeloggt ist
|
||||||
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
//Der Aufruf von check_user() muss in alle internen Seiten eingebaut sein
|
||||||
$user = check_user();
|
$user = check_user();
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<?php include 'header.php'; ?>
|
<?php include 'header.php'; ?>
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<h2>Stempelkarten-System</h2>
|
<h2>Stempelkarten-System</h2>
|
||||||
|
|
||||||
<?php
|
<?php
|
||||||
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
// Überprüfen, ob eine Benutzer-ID in der Session vorhanden ist
|
||||||
if (!isset($_SESSION['userid'])) {
|
if (!isset($_SESSION['userid'])) {
|
||||||
die("Kein Benutzer angemeldet.");
|
die("Kein Benutzer angemeldet.");
|
||||||
}
|
}
|
||||||
|
|
||||||
#$user_id = $_SESSION['userid'];
|
#$user_id = $_SESSION['userid'];
|
||||||
|
|
||||||
$user_id = $_GET['employee_id'] ?? null;
|
$user_id = $_GET['employee_id'] ?? null;
|
||||||
$datum = $_GET['datum'] ?? null;
|
$datum = $_GET['datum'] ?? null;
|
||||||
|
|
||||||
if ($user_id && $datum) {
|
if ($user_id && $datum) {
|
||||||
try {
|
try {
|
||||||
// Holen Sie alle Zeitbuchungen des Tages für den Mitarbeiter
|
// Holen Sie alle Zeitbuchungen des Tages für den Mitarbeiter
|
||||||
$query = "SELECT * FROM timestamps WHERE employee_id = :employee_id AND DATE(timestamp_datetime) = :datum ORDER BY timestamp_datetime ASC";
|
$query = "SELECT * FROM timestamps WHERE employee_id = :employee_id AND DATE(timestamp_datetime) = :datum ORDER BY timestamp_datetime ASC";
|
||||||
$stmt = $pdo->prepare($query);
|
$stmt = $pdo->prepare($query);
|
||||||
$stmt->bindParam(':employee_id', $user_id, PDO::PARAM_INT);
|
$stmt->bindParam(':employee_id', $user_id, PDO::PARAM_INT);
|
||||||
$stmt->bindParam(':datum', $datum);
|
$stmt->bindParam(':datum', $datum);
|
||||||
$stmt->execute();
|
$stmt->execute();
|
||||||
$buchungen = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
$buchungen = $stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||||
} catch(PDOException $e) {
|
} catch(PDOException $e) {
|
||||||
echo "Datenbankfehler: " . $e->getMessage();
|
echo "Datenbankfehler: " . $e->getMessage();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
die("Fehler: Mitarbeiter-ID oder Datum fehlt.");
|
die("Fehler: Mitarbeiter-ID oder Datum fehlt.");
|
||||||
}
|
}
|
||||||
|
|
||||||
// ... [Hier könnten Sie PHP-Code für die Bearbeitung der Buchungen hinzufügen]
|
// ... [Hier könnten Sie PHP-Code für die Bearbeitung der Buchungen hinzufügen]
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Tageseinträge bearbeiten</title>
|
<title>Tageseinträge bearbeiten</title>
|
||||||
<!-- ... [Bootstrap-CSS und optional JavaScript] -->
|
<!-- ... [Bootstrap-CSS und optional JavaScript] -->
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h3>Tageseinträge bearbeiten - <?php echo date('d.m.Y', strtotime($datum)); ?></h3>
|
<h3>Tageseinträge bearbeiten - <?php echo date('d.m.Y', strtotime($datum)); ?></h3>
|
||||||
|
|
||||||
<!-- Formular zum Bearbeiten der Zeitbuchungen -->
|
<!-- Formular zum Bearbeiten der Zeitbuchungen -->
|
||||||
<form id="mainForm" action="saveDayEntries.php" method="post">
|
<form id="mainForm" action="saveDayEntries.php" method="post">
|
||||||
<input type="hidden" name="employee_id" value="<?php echo $user_id; ?>">
|
<input type="hidden" name="employee_id" value="<?php echo $user_id; ?>">
|
||||||
<input type="hidden" name="datum" value="<?php echo $datum; ?>">
|
<input type="hidden" name="datum" value="<?php echo $datum; ?>">
|
||||||
<?php foreach ($buchungen as $index => $buchung): ?>
|
<?php foreach ($buchungen as $index => $buchung): ?>
|
||||||
<div class="form-group" id="entry_<?php echo $buchung['timestamp_id']; ?>">
|
<div class="form-group" id="entry_<?php echo $buchung['timestamp_id']; ?>">
|
||||||
<label>Zeitbuchung <?php echo $index + 1; ?>:</label>
|
<label>Zeitbuchung <?php echo $index + 1; ?>:</label>
|
||||||
<input type="datetime-local" class="form-control" name="buchungen[<?php echo $buchung['timestamp_id']; ?>][timestamp_datetime]" value="<?php echo $buchung['timestamp_datetime']; ?>">
|
<input type="datetime-local" class="form-control" name="buchungen[<?php echo $buchung['timestamp_id']; ?>][timestamp_datetime]" value="<?php echo $buchung['timestamp_datetime']; ?>">
|
||||||
<select class="form-control" name="buchungen[<?php echo $buchung['timestamp_id']; ?>][timestamp_type]">
|
<select class="form-control" name="buchungen[<?php echo $buchung['timestamp_id']; ?>][timestamp_type]">
|
||||||
<option value="KOMMEN" <?php if ($buchung['timestamp_type'] == 'KOMMEN') echo 'selected'; ?>>KOMMEN</option>
|
<option value="KOMMEN" <?php if ($buchung['timestamp_type'] == 'KOMMEN') echo 'selected'; ?>>KOMMEN</option>
|
||||||
<option value="GEHEN" <?php if ($buchung['timestamp_type'] == 'GEHEN') echo 'selected'; ?>>GEHEN</option>
|
<option value="GEHEN" <?php if ($buchung['timestamp_type'] == 'GEHEN') echo 'selected'; ?>>GEHEN</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<a href="deleteDayEntry.php?timestamp_id=<?php echo $buchung['timestamp_id']; ?>" class="btn btn-danger">Löschen</a>
|
<a href="deleteDayEntry.php?timestamp_id=<?php echo $buchung['timestamp_id']; ?>" class="btn btn-danger">Löschen</a>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<?php endforeach; ?>
|
<?php endforeach; ?>
|
||||||
|
|
||||||
<div id="newEnty"></div>
|
<div id="newEnty"></div>
|
||||||
<button type="submit" class="btn btn-primary">Speichern</button>
|
<button type="submit" class="btn btn-primary">Speichern</button>
|
||||||
</form>
|
</form>
|
||||||
<br>
|
<br>
|
||||||
<button onclick="addEntry()" class="btn btn-success">Neue Buchung hinzufügen</button>
|
<button onclick="addEntry()" class="btn btn-success">Neue Buchung hinzufügen</button>
|
||||||
<br><br>
|
<br><br>
|
||||||
<button type="button" class="btn btn-secondary" onclick="history.back();">Zurück</button>
|
<button type="button" class="btn btn-secondary" onclick="history.back();">Zurück</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
let entryIndex = <?php echo count($buchungen); ?>;
|
let entryIndex = <?php echo count($buchungen); ?>;
|
||||||
function addEntry() {
|
function addEntry() {
|
||||||
entryIndex++;
|
entryIndex++;
|
||||||
const container = document.createElement('div');
|
const container = document.createElement('div');
|
||||||
container.className = 'form-group';
|
container.className = 'form-group';
|
||||||
container.innerHTML = `
|
container.innerHTML = `
|
||||||
<label>Zeitbuchung ${entryIndex}:</label>
|
<label>Zeitbuchung ${entryIndex}:</label>
|
||||||
<input type="datetime-local" class="form-control" name="buchungen[new_${entryIndex}][timestamp_datetime]" placeholder="YYYY-MM-DD HH:MM:SS">
|
<input type="datetime-local" class="form-control" name="buchungen[new_${entryIndex}][timestamp_datetime]" placeholder="YYYY-MM-DD HH:MM:SS">
|
||||||
<select class="form-control" name="buchungen[new_${entryIndex}][timestamp_type]">
|
<select class="form-control" name="buchungen[new_${entryIndex}][timestamp_type]">
|
||||||
<option value="KOMMEN">KOMMEN</option>
|
<option value="KOMMEN">KOMMEN</option>
|
||||||
<option value="GEHEN">GEHEN</option>
|
<option value="GEHEN">GEHEN</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
`;
|
`;
|
||||||
document.getElementById('newEnty').appendChild(container);
|
document.getElementById('newEnty').appendChild(container);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<?php include 'footer.php'; ?>
|
<?php include 'footer.php'; ?>
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user