First Commit

This commit is contained in:
2025-11-02 22:52:08 +01:00
commit 73fbbf1be2
5821 changed files with 977526 additions and 0 deletions

View File

@@ -0,0 +1,297 @@
/*
*
*/
$(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_fdate, url_id);
let t = $('#sofueHead').html();
$('#sofueHead').html(t+url_fdate);
// 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,14 @@
// VersiosNummern und -Geschichte
var VERSION="1.1";
var VDATE="2018-12-11";
/* History
Rev. Datum Entwickler
1.1 2018-12-11 rxf
- kleinere Anpassungen
1.0 2018-09-27 rxf
- Los gehts
*/