First Commit Version of 2025-07-20

This commit is contained in:
rxf
2025-07-20 18:45:11 +02:00
commit 1ee33d58d0
2129 changed files with 511202 additions and 0 deletions

View File

@@ -0,0 +1,377 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>beoanswer</title>
<style type="text/css">
body {
font-family: Helvetica, arial, sans-serif;
font-size: 14px;
line-height: 1.6;
padding-top: 10px;
padding-bottom: 10px;
background-color: white;
padding: 30px; }
body > *:first-child {
margin-top: 0 !important; }
body > *:last-child {
margin-bottom: 0 !important; }
a {
color: #4183C4; }
a.absent {
color: #cc0000; }
a.anchor {
display: block;
padding-left: 30px;
margin-left: -30px;
cursor: pointer;
position: absolute;
top: 0;
left: 0;
bottom: 0; }
h1, h2, h3, h4, h5, h6 {
margin: 20px 0 10px;
padding: 0;
font-weight: bold;
-webkit-font-smoothing: antialiased;
cursor: text;
position: relative; }
h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, h5:hover a.anchor, h6:hover a.anchor {
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA09pVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoMTMuMCAyMDEyMDMwNS5tLjQxNSAyMDEyLzAzLzA1OjIxOjAwOjAwKSAgKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OUM2NjlDQjI4ODBGMTFFMTg1ODlEODNERDJBRjUwQTQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OUM2NjlDQjM4ODBGMTFFMTg1ODlEODNERDJBRjUwQTQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo5QzY2OUNCMDg4MEYxMUUxODU4OUQ4M0REMkFGNTBBNCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo5QzY2OUNCMTg4MEYxMUUxODU4OUQ4M0REMkFGNTBBNCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsQhXeAAAABfSURBVHjaYvz//z8DJYCRUgMYQAbAMBQIAvEqkBQWXI6sHqwHiwG70TTBxGaiWwjCTGgOUgJiF1J8wMRAIUA34B4Q76HUBelAfJYSA0CuMIEaRP8wGIkGMA54bgQIMACAmkXJi0hKJQAAAABJRU5ErkJggg==) no-repeat 10px center;
text-decoration: none; }
h1 tt, h1 code {
font-size: inherit; }
h2 tt, h2 code {
font-size: inherit; }
h3 tt, h3 code {
font-size: inherit; }
h4 tt, h4 code {
font-size: inherit; }
h5 tt, h5 code {
font-size: inherit; }
h6 tt, h6 code {
font-size: inherit; }
h1 {
font-size: 28px;
color: black; }
h2 {
font-size: 24px;
border-bottom: 1px solid #cccccc;
color: black; }
h3 {
font-size: 18px; }
h4 {
font-size: 16px; }
h5 {
font-size: 14px; }
h6 {
color: #777777;
font-size: 14px; }
p, blockquote, ul, ol, dl, li, table, pre {
margin: 15px 0; }
hr {
background: transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAECAYAAACtBE5DAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBNYWNpbnRvc2giIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OENDRjNBN0E2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OENDRjNBN0I2NTZBMTFFMEI3QjRBODM4NzJDMjlGNDgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4Q0NGM0E3ODY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4Q0NGM0E3OTY1NkExMUUwQjdCNEE4Mzg3MkMyOUY0OCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PqqezsUAAAAfSURBVHjaYmRABcYwBiM2QSA4y4hNEKYDQxAEAAIMAHNGAzhkPOlYAAAAAElFTkSuQmCC) repeat-x 0 0;
border: 0 none;
color: #cccccc;
height: 4px;
padding: 0;
}
body > h2:first-child {
margin-top: 0;
padding-top: 0; }
body > h1:first-child {
margin-top: 0;
padding-top: 0; }
body > h1:first-child + h2 {
margin-top: 0;
padding-top: 0; }
body > h3:first-child, body > h4:first-child, body > h5:first-child, body > h6:first-child {
margin-top: 0;
padding-top: 0; }
a:first-child h1, a:first-child h2, a:first-child h3, a:first-child h4, a:first-child h5, a:first-child h6 {
margin-top: 0;
padding-top: 0; }
h1 p, h2 p, h3 p, h4 p, h5 p, h6 p {
margin-top: 0; }
li p.first {
display: inline-block; }
li {
margin: 0; }
ul, ol {
padding-left: 30px; }
ul :first-child, ol :first-child {
margin-top: 0; }
dl {
padding: 0; }
dl dt {
font-size: 14px;
font-weight: bold;
font-style: italic;
padding: 0;
margin: 15px 0 5px; }
dl dt:first-child {
padding: 0; }
dl dt > :first-child {
margin-top: 0; }
dl dt > :last-child {
margin-bottom: 0; }
dl dd {
margin: 0 0 15px;
padding: 0 15px; }
dl dd > :first-child {
margin-top: 0; }
dl dd > :last-child {
margin-bottom: 0; }
blockquote {
border-left: 4px solid #dddddd;
padding: 0 15px;
color: #777777; }
blockquote > :first-child {
margin-top: 0; }
blockquote > :last-child {
margin-bottom: 0; }
table {
padding: 0;border-collapse: collapse; }
table tr {
border-top: 1px solid #cccccc;
background-color: white;
margin: 0;
padding: 0; }
table tr:nth-child(2n) {
background-color: #f8f8f8; }
table tr th {
font-weight: bold;
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
table tr td {
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
table tr th :first-child, table tr td :first-child {
margin-top: 0; }
table tr th :last-child, table tr td :last-child {
margin-bottom: 0; }
img {
max-width: 100%; }
span.frame {
display: block;
overflow: hidden; }
span.frame > span {
border: 1px solid #dddddd;
display: block;
float: left;
overflow: hidden;
margin: 13px 0 0;
padding: 7px;
width: auto; }
span.frame span img {
display: block;
float: left; }
span.frame span span {
clear: both;
color: #333333;
display: block;
padding: 5px 0 0; }
span.align-center {
display: block;
overflow: hidden;
clear: both; }
span.align-center > span {
display: block;
overflow: hidden;
margin: 13px auto 0;
text-align: center; }
span.align-center span img {
margin: 0 auto;
text-align: center; }
span.align-right {
display: block;
overflow: hidden;
clear: both; }
span.align-right > span {
display: block;
overflow: hidden;
margin: 13px 0 0;
text-align: right; }
span.align-right span img {
margin: 0;
text-align: right; }
span.float-left {
display: block;
margin-right: 13px;
overflow: hidden;
float: left; }
span.float-left span {
margin: 13px 0 0; }
span.float-right {
display: block;
margin-left: 13px;
overflow: hidden;
float: right; }
span.float-right > span {
display: block;
overflow: hidden;
margin: 13px auto 0;
text-align: right; }
code, tt {
margin: 0 2px;
padding: 0 5px;
white-space: nowrap;
border: 1px solid #eaeaea;
background-color: #f8f8f8;
border-radius: 3px; }
pre code {
margin: 0;
padding: 0;
white-space: pre;
border: none;
background: transparent; }
.highlight pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px; }
pre {
background-color: #f8f8f8;
border: 1px solid #cccccc;
font-size: 13px;
line-height: 19px;
overflow: auto;
padding: 6px 10px;
border-radius: 3px; }
pre code, pre tt {
background-color: transparent;
border: none; }
sup {
font-size: 0.83em;
vertical-align: super;
line-height: 0;
}
kbd {
display: inline-block;
padding: 3px 5px;
font-size: 11px;
line-height: 10px;
color: #555;
vertical-align: middle;
background-color: #fcfcfc;
border: solid 1px #ccc;
border-bottom-color: #bbb;
border-radius: 3px;
box-shadow: inset 0 -1px 0 #bbb
}
* {
-webkit-print-color-adjust: exact;
}
@media screen and (min-width: 914px) {
body {
width: 854px;
margin:0 auto;
}
}
@media print {
table, pre {
page-break-inside: avoid;
}
pre {
word-wrap: break-word;
}
}
</style>
</head>
<body>
<h1 id="toc_0">Anleitung</h1>
<p>Die Webseite hilft bei der Nachbearbeitung von Sonderführungen auf der Sternwarte. Es werden der Reihe nach die relevanten Fragen gestellt, die dann zu beantworten sind. </p>
<ul>
<li><strong>Fand die Führung statt?</strong><br>
Wird benatwortet durch Klick auf <strong>ja</strong> oder <strong>nein</strong>.<br></li>
</ul>
<p>Falls die Führung statt fand, gehts weiter mit:</p>
<ul>
<li><p><strong>Besucher-Anzahl</strong><br>
Hier bitte die tatsächliche Anzahl der Besucher eintragen. Bestätigen mit <em>Return</em> oder durch Klick auf OK. Danach folgt:</p></li>
<li><p><strong>Eine Spende</strong><br>
Es kann gewählt werden, ob eine Barspende eingegangen ist, ob eine Spende überwiesen wird, ob eine Spende in die Spendenkasse
geworfen wurde oder ob keine Spende ausgemacht wurde (z.B. private Führungen). Falls &quot;<em>ist in bar eingegangen</em>&quot; gewäht wurde, kommt:</p></li>
<li><p><strong>Höhe der Barspende</strong><br>
Hier bitte den Betrag in EUR eingeben und wieder mit <em>Return</em> oder Klich aif OK abschließen. </p>
<p>Als Letztes kann noch eine Bemerkung zu der Führung eingegeben werden: </p></li>
<li><p><strong>Bemerkungen (optional)</strong><br>
Diese kann auch leer bleiben. Allerdings <strong>muss</strong> unbeding mit Klick auf OK abgeschlossen werden, sonst gehts nicht weiter.<br>
Danach werden durch Klick auf den <strong>Senden</strong>-Button die Daten an die Datenbank gesendet.</p></li>
</ul>
<p>Falls die Führung <strong>nicht</strong> stattgefunden hat, gehts weiter mit </p>
<ul>
<li><p><strong>Die Führung wurde</strong><br>
<strong>abgestagt</strong> oder <strong>verschoben</strong><br>
Wird <strong>abgesagt</strong> gewählt, erscheint gleich der <strong>Senden</strong>-Button. Die Führung wird dann in der Datenbank als <em>abgesagt</em> markiert.<br>
Wird <strong>verwschoben</strong> gewählt, so erscheint </p></li>
<li><p><strong>Verschoben auf:</strong><br>
und es kann ein neues Datum (mit Uhrzeit) über die aufpoppende Datums-Auswahl gewählt werden. Nach Abschluss mit OK erscheint nun wieder der <strong>Sende</strong>-Button. Durch Klick darauf wird die Führung mit dem neuen Datum als <em>zugesagt</em> in die Datenbank übernommen. Der verantwortliche BEO erhält eine Erinnerungs-Mail.</p>
<p>Während der gesamten Eingabe-Prozedur kann über den <strong>Abbruch</strong>-Button jederzeit der Vorgang abgebrochen und neu begonnen werden.</p></li>
</ul>
<p>rxf 2019-02-04 </p>
</body>
</html>

View File

@@ -0,0 +1,41 @@
#Anleitung
Die Webseite hilft bei der Nachbearbeitung von Sonderführungen auf der Sternwarte. Es werden der Reihe nach die relevanten Fragen gestellt, die dann zu beantworten sind.
* **Fand die Führung statt?**
Wird benatwortet durch Klick auf **ja** oder **nein**.
Falls die Führung statt fand, gehts weiter mit:
* **Besucher-Anzahl**
Hier bitte die tatsächliche Anzahl der Besucher eintragen. Bestätigen mit *Return* oder durch Klick auf OK. Danach folgt:
* **Eine Spende**
Es kann gewählt werden, ob eine Barspende eingegangen ist, ob eine Spende überwiesen wird oder ob keine Spende ausgemacht wurde (z.B. private Führungen). Falss "*ist in bar eingegangen*" gewäht wurde, kommt:
* **Höhe der Barspende**
Hier bitte den Betrag in EUR eingeben und wieder mit *Return* oder Klich aif OK abschließen.
Als Letztes kann noch eine Bemerkung zu der Führung eingegeben werden:
* **Bemerkungen (optional)**
Diese kann auch leer bleiben. Allerdings **muss** unbeding mit Klick auf OK abgeschlossen werden, sonst gehts nicht weiter.
Danach werden durch Klick auf den **Senden**-Button die Daten an die Datenbank gesendet.
Falls die Führung **nicht** stattgefunden hat, gehts weiter mit
* **Die Führung wurde**
**abgestagt** oder **verschoben**
Wird **abgesagt** gewählt, erscheint gleich der **Senden**-Button. Die Führung wird dann in der Datenbank als *abgesagt* markiert.
Wird **verwschoben** gewählt, so erscheint
* **Verschoben auf:**
und es kann ein neues Datum (mit Uhrzeit) über die aufpoppende Datums-Auswahl gewählt werden. Nach Abschluss mit OK erscheint nun wieder der **Sende**-Button. Durch Klick darauf wird die Führung mit dem neuen Datum als *zugesagt* in die Datenbank übernommen. Der verantwortliche BEO erhält eine Erinnerungs-Mail.
Während der gesamten Eingabe-Prozedur kann über den **Abbruch**-Button jederzeit der Vorgang abgebrochen und neu begonnen werden.
rxf 2018-10-17

View File

@@ -0,0 +1,176 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Nachbearbeitung</title>
<link rel="stylesheet" type="text/css" media="screen" href="../intern/sofue/css/jquery-ui.min.css" />
<link rel="stylesheet" type="text/css" media="screen" href="../intern/sofue/css/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="../intern/sofue/css/jquery-ui-timepicker-addon.css" />
<link href="css/basscss-custom.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" media="screen" href="css/mystyle.css" />
<script type="text/javascript" src="../intern/sofue/js/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="../intern/sofue/js/i18n/grid.locale-de.js"></script>
<script type="text/javascript" src="../intern/sofue/js/jquery.jqGrid.min.js"></script>
<script type="text/javascript" src="../intern/sofue/js/jquery-ui-1.10.0.custom.min.js"></script>
<script type="text/javascript" src="../intern/sofue/js/jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript" src="../intern/sofue/js/moment.js"></script>
<script type="text/javascript" src="../intern/sofue/js/de.js"></script>
<script type="text/javascript" src="../intern/sofue/js/ajax.js"></script>
<script type="text/javascript" src="js/jquery-ui-slider-access-addon.js"></script>
<script type="text/javascript" src="js/version.js"></script>
<script type="text/javascript" src="js/beoanswer.js"></script>
</head>
<?php
$id = $_GET['id']
?>
<script>
let url_id = <?php echo json_encode($id); ?>;
</script>
<body>
<div id="master" class="container h3 border border-blue m1 bg-darken-1">
<section class="px1">
<h1 id="sofueHead" class="h1 mb0 center">Sonderführung vom <br class="sm-hide"></h1>
<h3 class="h3 mb2 center" id="sofueName">für </h3>
<h2 class="h2 mb3 center bg-yellow">Nachbearbeitung</h2>
<div class="clearfix" >
<div>
<div id="inputstatt" class="mb2 border">
<div class="bold" >Fand die Führung statt?</div>
<div>
<label class="inline">
<input type="radio" id="statt_ja" name="statt" value="ja">
ja
</label>
<label class="inline">
<input type="radio" id="statt_nein" name="statt" value="nein">
nein
</label>
</div>
</div>
<div id="inputabs" class="mb2 border hide">
<div class="bold">Die Führung wurde </div>
<div>
<label class="inline mb2 ">
<input type="radio" id="abges" name="nostatt" value="abgesagt">
abgesagt.
</label>
<label class="inline mb2">
<input type="radio" id="verscho" name="nostatt" value="verschoben">
verschoben.
</label>
</div>
</div>
<div id="verschbn" class="mb2 border hide">
<div class="bold">
<label for="newtermin" class="bold mr2">Verschoben auf:</label>
</div>
<div>
<input type="text" id="newtermin" placeholder="neues Datum wählen">
</div>
</div>
</div>
<div id="besucher" class="mb2 border hide">
<div class="bold">
<label for="beszahl" class="bold mr2">Besucher-Anzahl:</label>
</div>
<div>
<input type="text" id="beszahl" placeholder="Anzahl eingeben">
<button class="btn btn-primary mb1 mr2 ml3 mt1" id="btnOK0">OK</button>
</div>
</div>
<div class="clearfix"></div>
<div id="diespende" class="mb2 border hide">
<div class=" bold">Eine Spende</div>
<div>
<div id="inputspend">
<label class="block"> <input type="radio" id="spendbar"
name="spend" value="bar"> ist in bar eingegangen.
</label>
<label class="block"> <input type="radio"
id="spendueber" name="spend" value="ueberweis"> wird überwiesen.
</label>
<label class="block"> <input type="radio"
id="spendkasse" name="spend" value="kasse"> ist in der Spendenkasse.
</label>
<label class="block mb1"> <input type="radio"
id="spendno" name="spend" value="nospend"> ist nicht vorgesehen.
</label>
</div>
</div>
</div>
<div id="barspend" class="mb2 border hide">
<div class="bold">
<label for="barsp" class="bold mr2">Höhe der Barspende:</label>
</div>
<div>
<input class="mr1" type="text" id="barsp" placeholder="Betrag in EURO">&euro;
<button class="btn btn-primary mb1 mr2 ml3 mt1" id="btnOK1">OK</button>
</div>
</div>
<div class="clearfix"></div>
<div id="remarks" class="mb2 border hide">
<div class="bold">
<label for="remark" class="bold mr2">Bemerkungen (optional):</label>
</div>
<div>
<textarea class="mr1" id="remark" placeholder="Bemerkung"></textarea>
<button class="btn btn-primary mb1 mr2 ml3 mt1" id="btnOK2">OK</button>
</div>
</div>
<div id="fertig" class="mb2 border hide ">
<div class="bold center">
Fertig
</div>
</div>
</div>
<div id="beendet" class="m2 border hide">
<div class="bold center">
Daten in die Datenbank übernommen. <br />
Vielen Dank
</div>
</div>
</section>
<div class="center mt2" id="tosend">
<button class="btn btn-primary mb1 mr2" id="btncancel">Abbruch</button>
<button class="btn btn-primary mb1 mr2" id="btnMan">Anleitung</button>
<button class="btn btn-primary mb1 hide" id="btnsend">Senden</button>
</div>
<!-- Ende von "main" -->
<!-- div für PopUp -->
<div id="maint"></div>
<!-- Info unter Tabelle -->
<div id="author" class="h5 mt2 mb1 py1">
<div id="mailadr" class="left px1">
<a href="mailto:rexfue@gmail.com">mailto:rexfue@gmail.com</a>
</div>
<div id="versn" class="right px1">
</div>
<div class="clearfix"></div>
</div>
<div id='anleitung'></div>
</div>
<!-- container -->
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,53 @@
:root {
--height-w0:45px;
--height-w1:60px;
--height-w2:100px;
--container-width: 30em;
--button-color: black;
--button-background-color: aqua;
}
.btn-primary {
color: #000;
background-color: skyblue;
border-radius: 3px;
}
#master {
border-width: 2px;
}
#author {
border-top: 1px blue solid;
}
.container {
max-width: 30em;
}
#remark {
width: 200px;
/* border: solid 1px blue; */
}
textarea {
line-height: 1.1;
padding: .5rem .5rem;
}
#remarks, #beszahl, #barsp {
/* border: solid 1px green; */
/* float: left; */
}
#btnOK2, #btnOK1, #btnOK0 {
/* border: solid 1px red; */
/* float: left; */
}
#diespende {
clear: both;
}

View File

@@ -0,0 +1,318 @@
/*
*
*******************
2025-06-16:
Da leider kein CRON auf dem Webserver läuft, kann 'checkfuehrung' bis auf
Weiteres nicht weiter gepflegt bzw. ausgeführt werden. 'checkfuehrung' ist
für dieses Programm )beoanswer) hier notwendig.
*******************
*/
$(document).ready(function() {
let sendobject = {
stattgefunden: false,
anzahl: 0,
spende:0,
betrag:0,
rem:'',
newtermin: '1900-01-01',
};
let ajaxURL = '../../intern/sofue/php/sofueDB.php'
$('#versn').html("Version: " + VERSION + ' vom ' + VDATE);
console.log("von php:", url_id);
// Daten der Führung holen
if(url_id != null) {
doAjaxCall_arr(ajaxURL,{cmd: 'GET_ONE', id: url_id}, enterajaxerg);
} else {
alert("Keine ID übergeben");
return false
// throw new Error("Keine ID übergeben");
}
function enterajaxerg(erg) {
console.log(erg)
let t = $('#sofueHead').html();
$('#sofueHead').html(t+(erg.wtermin).substr(0,10));
$('#sofueName').html('für ' + erg.name);
}
// Change bei 'stattgefunden'
$('#inputstatt').change(function() {
let s = $('input[name="statt"]:checked').val();
console.log(s);
if(s == "nein") {
showAbsage();
sendobject.stattgefunden=false;
} else if (s=='ja') {
showBesucher();
sendobject.stattgefunden=true;
}
});
// der JA-Zweig
function showBesucher() {
$('#besucher').removeClass("hide");
}
$('#beszahl').keydown(e=>{
let keycode = e.keyCode || e.which;
if(keycode == 13) {
besucher = $('#beszahl').val();
if($.isNumeric(besucher)) {
console.log(besucher);
sendobject.anzahl = besucher;
showSpende();
} else {
alert("Nur Ziffern eingeben");
}
}
});
$('#btnOK0').click(()=>{
besucher = $('#beszahl').val();
if($.isNumeric(besucher)) {
console.log(besucher);
sendobject.anzahl = besucher;
showSpende();
} else {
alert("Nur Ziffern eingeben");
}
});
function showSpende() {
$('#diespende').removeClass("hide");
}
$('#inputspend').change(function() {
let spende=0;
let s = $('input[name="spend"]:checked').val();
console.log(s);
if(s == "bar") {
spende=1;
showBarspende();
} else {
showRemark();
if (s=='ueberweis') {
spende=2;
} else if (s=='kasse') {
spende=3;
}
}
sendobject.spende = spende;
});
function showBarspende() {
$('#barspend').removeClass("hide");
}
$('#barsp').keydown(e=>{
let keycode = e.keyCode || e.which;
if(keycode == 13) {
let barsp = $('#barsp').val();
if($.isNumeric(barsp)) {
console.log(barsp);
sendobject.betrag = barsp;
showRemark();
} else {
alert("Nur Ziffern eingeben");
}
}
});
$('#btnOK1').click(()=>{
let barsp = $('#barsp').val();
if($.isNumeric(barsp)) {
console.log(barsp);
sendobject.betrag = barsp;
showRemark();
} else {
alert("Nur Ziffern eingeben");
}
});
$('#btnOK2').click(()=>{
sendobject.rem = $('#remark').val();
showFertig();
});
function showRemark() {
let p = $('#btnOK2').offset();
$('#btnOK2').offset({top: p.top-10, left: p.left});
$('#remarks').removeClass('hide');
}
function showFertig() {
$('#fertig').removeClass("hide");
$('#btnsend').removeClass("hide");
}
// der NEIN-Zweig
function showAbsage() {
$('input[name="nostatt"]').prop('checked',"");
$('#inputabs').removeClass("hide");
}
// Change bei 'nicht stattt'
$('#inputabs').change(function() {
let s = $('input[name="nostatt"]:checked').val();
console.log(s);
if(s == "abgesagt") {
showFertig();
} else if (s == "verschoben") {
showVerschoben();
}
});
function showVerschoben() {
$('#verschbn').removeClass("hide");
// Picker für den neuen Termin
$('#newtermin').datetimepicker( // Initialisierung des datetimepickers
{
addSliderAccess: true,
sliderAccessArgs: { touchonly: false },
showOn: 'focus' , // onFocus wird der Picker angezeigt
timeFormat: 'HH:mm',
showMinute: true,
stepMinute: 15,
// showSecond: false,
// showMillisec: false,
// showMicrosec: false,
// showTimezone: false,
hourMin: 13,
dateFormat: "yy-mm-dd", // angezeigt wird in diesem Format
minDate: "+1d", // min Datum: morgen
closeText: "OK", // erst wenn OK geklickt wird, dann gehts weiter
timeText: "Uhrzeit", // Texte dazu
hourText: "Stunde",
onClose: function (dateText, inst) { // was passiert, wenn OK gedrückt wird:
if(dateText != "") {
var dt = moment(dateText).format('YYYY-MM-DD HH:mm');
$("#newtermin").html(dt);
sendobject.newtermin=dt;
showFertig();
}
}
});
}
// Datepicker auf Deutsch einstellen
$.datepicker.regional['de'] = {
closeText: '',
prevText: '<',
nextText: '>',
currentText: '',
monthNames: ['Januar','Februar','M&auml;rz','April','Mai','Juni',
'Juli','August','September','Oktober','November','Dezember'],
monthNamesShort: ['Jan','Feb','Mar','Apr','Mai','Jun',
'Jul','Aug','Sep','Okt','Nov','Dez'],
dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
dayNamesShort: ['SON','MON','DIE','MIT','DON','FRE','SAM'],
dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
weekHeader: 'KW',
dateFormat: 'yyyy-mm-dd',
firstDay: 1,
isRTL: false,
showMonthAfterYear: false,
yearSuffix: ''
};
$.datepicker.setDefaults($.datepicker.regional['de']); // diese Einstellung nun übernehmen
// Buttons
$('#btncancel').click(()=>location.reload());
$('#btnsend').click(()=>{
console.log("Sende an Datenbank:");
console.log(sendobject);
clearAll(0);
let cmd = {
stattgefunden: sendobject.stattgefunden ? 1 : 0,
id: url_id,
cmd: 'UPDATEAFTER'
};
if(sendobject.stattgefunden) { // der Termin hat stattgefunden
cmd.besucher = sendobject.anzahl;
cmd.remark = sendobject.rem;
cmd.bezahlt = (function() {
console.log("sendobjc:", sendobject);
if( sendobject.spende == 1 ) {
return `bar Kasse (€${sendobject.betrag})`;
} else if (sendobject.spende == 2) {
return 'Überweisung';
} else if (sendobject.spende == 3) {
return 'Spendenkasse';
} else return 'Keine';
})()
} else { // der Termin hat NICHT stattgefunden
cmd.besucher = sendobject.anzahl;
cmd.remark = '';
cmd.bezahlt = 'Keine';
if(sendobject.newtermin != '1900-01-01') {
cmd.wtermin = sendobject.newtermin; // er wurde verlegt, also gibts einen neuen Wunschtermin
} else {
cmd.status = 3; // nicht stattgefunden -> abgesagt
}
}
console.log(cmd);
if(url_id != null) {
doAjaxCall_arr(ajaxURL,cmd,showajaxerg);
}
});
function clearAll(was) {
$('#tosend').addClass('hide');
$('#inputstatt').addClass('hide');
$('#fertig').addClass('hide');
$('#verschbn').addClass('hide');
$('#inputabs').addClass('hide');
$('#besucher').addClass('hide');
$('#diespende').addClass('hide');
$('#barspend').addClass('hide');
$('#remarks').addClass('hide');
}
function showajaxerg(erg) {
console.log("AjaxErg: ", erg);
$('#beendet').removeClass('hide');
}
// Klick auf den Anleitungs-Button
$('#btnMan').click(function() {
$("#anleitung").dialog('open');
});
// 3. Dialog für die Anleitung
// Dieser hat KEINEN Button (wird über das Schließkreuz beendet) und
// eine etwas kleinere Schrift
$("#anleitung").dialog({
autoOpen: false,
width: 400,
modal: true,
position: {my: 'top', at: 'top', of: window },
title: 'Anleitung',
open:
function() {
$(this).load('beoanswer.html');
},
buttons: [
{
text: "Abbrechen",
click : function() {
$(this).dialog("close");
},
width: 150,
}
],
});
});

View File

@@ -0,0 +1,103 @@
/*
* jQuery UI Slider Access
* By: Trent Richardson [http://trentrichardson.com]
* Version 0.2
* Last Modified: 12/12/2011
*
* Copyright 2011 Trent Richardson
* Dual licensed under the MIT and GPL licenses.
* http://trentrichardson.com/Impromptu/GPL-LICENSE.txt
* http://trentrichardson.com/Impromptu/MIT-LICENSE.txt
*
*/
(function ($) {
$.fn.extend({
sliderAccess: function (options) {
options = options || {};
options.touchonly = options.touchonly !== undefined ? options.touchonly : true; // by default only show it if touch device
if (options.touchonly === true && !("ontouchend" in document))
return $(this);
return $(this).each(function (i, obj) {
var $t = $(this),
o = $.extend({}, {
where: 'after',
step: $t.slider('option', 'step'),
upIcon: 'ui-icon-plus',
downIcon: 'ui-icon-minus',
text: false,
upText: '+',
downText: '-',
buttonset: true,
buttonsetTag: 'span',
speed: 150
}, options),
$buttons = $('<' + o.buttonsetTag + ' class="ui-slider-access">' +
'<button data-icon="' + o.downIcon + '" data-step="-' + o.step + '">' + o.downText + '</button>' +
'<button data-icon="' + o.upIcon + '" data-step="' + o.step + '">' + o.upText + '</button>' +
'</' + o.buttonsetTag + '>');
$buttons.children('button').each(function (j, jobj) {
var $jt = $(this),
timeout = null,
increment = function($jt, $t, e) {
var step = $jt.data('step'),
curr = $t.slider('value'),
newval = curr += step * 1,
minval = $t.slider('option', 'min'),
maxval = $t.slider('option', 'max');
e.preventDefault();
if (newval < minval || newval > maxval)
return;
$t.slider('value', newval);
$t.slider("option", "slide").call($t, null, { value: newval });
};
$jt.button({
text: o.text,
icons: { primary: $jt.data('icon') }
})
.bind('touchstart mousedown', function (e) {
increment($jt, $t, e);
timeout = setInterval(function () {
increment($jt, $t, e);
}, o.speed);
});
$(document).bind('touchend mouseup', function (e) {
clearInterval(timeout);
return e.type == 'touchend';
});
});
// before or after
$t[o.where]($buttons);
if (o.buttonset) {
$buttons.removeClass('ui-corner-right').removeClass('ui-corner-left').buttonset();
$buttons.eq(0).addClass('ui-corner-left');
$buttons.eq(1).addClass('ui-corner-right');
}
// adjust the width so we don't break the original layout
var bOuterWidth = $buttons.css({
marginLeft: (o.where == 'after' ? 10 : 0),
marginRight: (o.where == 'before' ? 10 : 0)
}).outerWidth(true) + 5;
var tOuterWidth = $t.outerWidth(true);
// support "always" hide the slider
if (o.hideSlider == 'always' || (o.hideSlider == 'touch' && ("ontouchend" in document))) {
$t.css('display', 'none');
}
else {
$t.css('display', 'inline-block').width(tOuterWidth - bOuterWidth);
}
});
}
});
})(jQuery);

View File

@@ -0,0 +1,17 @@
// VersiosNummern und -Geschichte
var VERSION="1.2";
var VDATE="2024-11-01";
/* History
Rev. Datum Entwickler
1.2 2024-11-01 rxf
- Nur noch ID zur identifizierung der Führung
- Name des Besuchers mit anzeigen
1.1 2018-12-11 rxf
- kleinere Anpassungen
1.0 2018-09-27 rxf
- Los gehts
*/