So hab es jetzt zum funktionieren gebracht!
Meine Lösung wenn es jemanden Interessiert!
Benötigte Module:
X-Form Table-Manager
2 Tabellen anlegen:
Tabelle 1: rex_standard
Spalten (Datenbank): Wochentag , startzeit, endzeit, bezeichnung, beschreibung
Code: Alles auswählen
$xform->setValueField('select', array("Wochentag","Wochentag","So,Mo,Di,Mi,Do,Fr,Sa"));
$xform->setValueField('time', array("startzeit","Startzeit","05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22","00,15,30,45","###H###.###I### Uhr"));
$xform->setValueField('time', array("endzeit","Endzeit","00,05,06,07,08,09,10,11,12,13,14,15,16,17,18,19,20,21,22","00,15,30,45","###H###.###I### Uhr"));
$xform->setValueField('text', array("bezeichnung","Was"));
$xform->setValueField('textarea', array("beschreibung","Beschreibung"));
Tabelle 2: rex_termine
Spalten (Datenbank): start, ende, was, decription
Code: Alles auswählen
$xform->setValueField('datetime', array("start","Startzeit und Datum","2016","+3","00,15,30,45","","1"));
$xform->setValueField('datetime', array("ende","ende","2016","+3","00,15,30,45","","0"));
$xform->setValueField('text', array("was","Bezeichnung"));
$xform->setValueField('textarea', array("description","Beschreibung"));
Da ich den Kalender mit 2 Monaten ausgebe habe ich dies mit dem Accordion der jQuery UI gemacht.
also fürs Frontend im Headbereich:
Code: Alles auswählen
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(function() {
$( ".acc" ).accordion({
event: "click hoverintent"
});
});
/*
* hoverIntent | Copyright 2011 Brian Cherne
* http://cherne.net/brian/resources/jquery.hoverIntent.html
* modified by the jQuery UI team
*/
$.event.special.hoverintent = {
setup: function() {
$( this ).bind( "mouseover", jQuery.event.special.hoverintent.handler );
},
teardown: function() {
$( this ).unbind( "mouseover", jQuery.event.special.hoverintent.handler );
},
handler: function( event ) {
var currentX, currentY, timeout,
args = arguments,
target = $( event.target ),
previousX = event.pageX,
previousY = event.pageY;
function track( event ) {
currentX = event.pageX;
currentY = event.pageY;
};
function clear() {
target
.unbind( "mousemove", track )
.unbind( "mouseout", clear );
clearTimeout( timeout );
}
function handler() {
var prop,
orig = event;
if ( ( Math.abs( previousX - currentX ) +
Math.abs( previousY - currentY ) ) < 7 ) {
clear();
event = $.Event( "hoverintent" );
for ( prop in orig ) {
if ( !( prop in event ) ) {
event[ prop ] = orig[ prop ];
}
}
// Prevent accessing the original event since the new event
// is fired asynchronously and the old event is no longer
// usable (#6028)
delete event.originalEvent;
target.trigger( event );
} else {
previousX = currentX;
previousY = currentY;
timeout = setTimeout( handler, 100 );
}
}
timeout = setTimeout( handler, 100 );
target.bind({
mousemove: track,
mouseout: clear
});
}
};
</script>
fürs Template ( REX_ARTICLE[] eure eigene Artikelnummer):
mein CSS:
Code: Alles auswählen
.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { float:left; display:block; min-width: 14%; margin-left:auto; margin-right:auto; min-height:280px; border:1px solid hsla(240,100%,50%,1); border-radius:6px; margin-top:5px; margin-bottom:5px; position:relative; word-wrap:break-word;}
.cal_top_a, .cal_top_v, .cal_top_s { border-top-left-radius:6px; border-top-right-radius:6px; height:10%; border-bottom:1px solid hsla(240,100%,20%,1); text-align:center; padding-top:5px; font-size:18px; font-weight:bold; width:100%;}
.cal_top_a {background-color:hsla(120,100%,30%,1); color:hsla(0,0%,100%,1);}
.cal_top_s {background-color:hsla(200,100%,30%,1); color:hsla(0,0%,100%,1);}
.cal_top_v {background-color:hsla(0,0%,40%,1); color:hsla(0,0%,80%,1);}
.cal_main { width:100%; height:65%; color:hsla(0,0%,20%,1); position:relative; font-size:80%; padding:2%;}
.cal_standard { width:100%; border-bottom-left-radius:6px; border-bottom-right-radius:6px; height:25%; background-color:hsla(228,100%,50%,0.2); color:hsla(0,0%,20%,1); padding:2%; position:absolute; left:0; bottom:0; font-size:80%;}
.cal_main_fancy { width:100%; height:65%; padding:1%; position:relative;}
.cal_main_fancy span , .cal_standard_fancy span{color:#1883ab;}
.cal_standard_fancy { width:100%; border-bottom-left-radius:6px; border-bottom-right-radius:6px;height:130px; background-color:hsla(228,100%,50%,0.2); position:absolute; left:0; bottom:0; padding:1%;}
.kal_aktueller_tag_fancy, .kal_standard_tag_fancy, .kal_vormonat_tag_fancy { float:left; display:block; min-width: 95%; margin-left:auto; margin-right:auto; min-height:420px; border:1px solid hsla(240,100%,50%,1); border-radius:6px; margin-top:5px; margin-bottom:5px; position:relative;}
.kal_vormonat_tag .cal_main_fancy, .kal_vormonat_tag .cal_standard_fancy, .kal_vormonat_tag .cal_main, .kal_vormonat_tag .cal_standard { color:hsla(0,0%,40%,1);}
.kal_vormonat_tag {border:1px solid hsla(0,0%,20%,1);}
.kal_vormonat_tag .cal_standard_fancy, .kal_vormonat_tag .cal_standard {background-color:hsla(0,0%,80%,1);}
@media screen and (max-width: 1000px) {
.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:20%;}
}
@media screen and (max-width: 800px) {
.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:25%;}
}
@media screen and (max-width: 600px) {
.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:33%;}
}
@media screen and (max-width: 500px) {
.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:50%;}
}
@media screen and (max-width: 480px) {
.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:50%;}
}
@media screen and (max-width: 320px) {
.kal_aktueller_tag, .kal_standard_tag, .kal_vormonat_tag { width:100%;}
}
Und Schlussendlich das Modul in der Ausgabe (da Eingabe ja über die Tabellen geschehen kann!
Code: Alles auswählen
<?php
//Funktionen etc.
$trans = array ('Monday' => 'Montag','Tuesday' => 'Dienstag','Wednesday' => 'Mittwoch', 'Thursday' => 'Donnerstag','Friday' => 'Freitag', 'Saturday' => 'Samstag','Sunday' => 'Sonntag', 'Mon' => 'Mo','Tue' => 'Di', 'Wed' => 'Mi','Thu' => 'Do', 'Fri' => 'Fr','Sat' => 'Sa', 'Sun' => 'So','January' => 'Januar','February' => 'Februar','March' => 'März', 'May' => 'Mai','June' => 'Juni','July' => 'Juli','October' => 'Oktober','December' => 'Dezember');
$trans2 = array ('Mo' => '1','Di' => '2','Mi' => '3','Do' => '4','Fr' => '5','Sa' => '6','So' => '7');
// Where Datetime erstellen
$das = '01'; //erster im Monat -> muss führende null
$mas = date ( 'm' ); //aktueller Monat
$yas = date ( 'Y' ); //aktuelles Jahr
$where = $yas . '-' . $mas . '-' . $das . ' 00:00:00.001'; //alle Termine ab aktuellen Monat
//Datenbank abfragen
$db = rex_sql::factory();
$query1 = "SELECT * FROM `rex_standard`";
$query2 = "SELECT * FROM `rex_termine` WHERE `start` > '$where'";
$array1 = $db->getArray($query1);
$array2 = $db->getArray($query2);
//Kalender Variablen
setlocale ( LC_TIME, "de_DE.utf8" );
$kal_datum = time ();
$kal_tage_gesamt = date ( "t", $kal_datum );
$kal_start_timestamp = mktime ( 0, 0, 0, date ( "n", $kal_datum ), 1, date ( "Y", $kal_datum ) );
$kal_start_tag = date ( "N", $kal_start_timestamp );
$kal_ende_tag = date ( "N", mktime ( 0, 0, 0, date ( "n", $kal_datum ), $kal_tage_gesamt, date ( "Y", $kal_datum ) ) );
//Überschrift
echo '<h3>';
echo strftime ( "%B %Y", $kal_datum );
echo '</h3>';
echo '<div><p>';
for($i = 1; $i <= $kal_tage_gesamt + ($kal_start_tag - 1) + (7 - $kal_ende_tag); $i ++) {
$kal_anzeige_akt_tag = $i - $kal_start_tag;
$kal_anzeige_heute_timestamp = strtotime ( $kal_anzeige_akt_tag . " day", $kal_start_timestamp );
$kal_anzeige_heute_tag = date ( "j", $kal_anzeige_heute_timestamp );
if (date ( "N", $kal_anzeige_heute_timestamp ) == 1)
echo ' <div class="cal_week">';
if (date ( "dmY", $kal_datum ) == date ( "dmY", $kal_anzeige_heute_timestamp )) {
$wd1 = date ( "D", $kal_anzeige_heute_timestamp );
$wd2 = date ( "l ", $kal_anzeige_heute_timestamp );
$wd3 = date ( " F", $kal_anzeige_heute_timestamp );
$wd1 = strtr ( $wd1, $trans );
$wd2 = strtr ( $wd2, $trans );
$wd3 = strtr ( $wd3, $trans );
echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#a' . $kal_anzeige_heute_tag . '">';
echo '<div class="kal_aktueller_tag">';
echo '<div class="cal_top_a">' . $wd1 .' '. $kal_anzeige_heute_tag . '</div>';
echo '<div class="cal_main">';
// while 1 Aktuelle Termine
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard">';
// while 2 Standard Termine
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1) {
echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
}
}
echo '</div>';
echo '</div></a>';
echo '<div style="display:none" id="a' . $kal_anzeige_heute_tag . '">';
echo '<div class="kal_aktueller_tag_fancy">';
echo '<div class="cal_top_a">' . $wd2 . $kal_anzeige_heute_tag . $wd3 . '</div>';
echo '<div class="cal_main_fancy">';
// while 1 aktueller Termin
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard_fancy">';
// while 2 Standardtermin
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
}
echo '</div>';
echo '</div>';
echo '</div>';
}
elseif ($kal_anzeige_akt_tag >= 0 and $kal_anzeige_akt_tag < $kal_tage_gesamt) {
$wd1 = date ( "D", $kal_anzeige_heute_timestamp );
$wd2 = date ( "l ", $kal_anzeige_heute_timestamp );
$wd3 = date ( " F", $kal_anzeige_heute_timestamp );
$wd1 = strtr ( $wd1, $trans );
$wd2 = strtr ( $wd2, $trans );
$wd3 = strtr ( $wd3, $trans );
echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#a' . $kal_anzeige_heute_tag . '">';
echo '<div class="kal_standard_tag">';
echo '<div class="cal_top_s">' . $wd1 .' '. $kal_anzeige_heute_tag . '</div>';
echo '<div class="cal_main">';
// while 1 Aktuelle Termine
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard">';
// while 2 Standard Termine
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1) {
echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
}
}
echo '</div>';
echo '</div></a>';
echo '<div style="display:none" id="a' . $kal_anzeige_heute_tag . '">';
echo '<div class="kal_standard_tag_fancy">';
echo '<div class="cal_top_s">' . $wd2 . $kal_anzeige_heute_tag . $wd3 . '</div>';
echo '<div class="cal_main_fancy">';
// while 1 aktueller Termin
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard_fancy">';
// while 2 Standardtermin
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
}
echo '</div>';
echo '</div>';
echo '</div>';
}
else{
$wd1 = date ( "D", $kal_anzeige_heute_timestamp );
$wd2 = date ( "l ", $kal_anzeige_heute_timestamp );
$wd3 = date ( " F", $kal_anzeige_heute_timestamp );
$wd1 = strtr ( $wd1, $trans );
$wd2 = strtr ( $wd2, $trans );
$wd3 = strtr ( $wd3, $trans );
echo '';
echo '<div class="kal_vormonat_tag">';
echo '<div class="cal_top_v">' . $wd1 .' '. $kal_anzeige_heute_tag . '</div>';
echo '<div class="cal_main">';
// while 1 Aktuelle Termine
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard">';
// while 2 Standard Termine
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1) {
echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
}
}
echo '</div>';
echo '</div>';
echo '<div style="display:none" id="a' . $kal_anzeige_heute_tag . '">';
echo '<div class="kal_vormonat_tag_fancy">';
echo '<div class="cal_top_v">' . $wd2 . $kal_anzeige_heute_tag . $wd3 . '</div>';
echo '<div class="cal_main_fancy">';
// while 1 aktueller Termin
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard_fancy">';
// while 2 Standardtermin
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
}
echo '</div>';
echo '</div>';
echo '</div>';
}
if (date ( "N", $kal_anzeige_heute_timestamp ) == 7)
echo " </div>";
}
echo '</p></div>';
//nächster Monat *********************************************************************************
$kal_datum3 = time ();
$dtimem = date ('n',$kal_datum3) + 1;
$dtimet = date ('j',$kal_datum3);
$dtimej = date ('Y',$kal_datum3);
$dtimeh = date ('H',$kal_datum3);
$dtimes = date ('i',$kal_datum3);
$kal_datum_n = mktime($dtimeh,$dtimem,0,$dtimem,$dtimet,$dtimej);
$kal_tage_gesamt_n = date ( "t", $kal_datum_n );
$kal_start_timestamp_n = mktime ( 0, 0, 0, date ( "n", $kal_datum_n ), 1, date ( "Y", $kal_datum_n ) );
$kal_start_tag_n = date ( "N", $kal_start_timestamp_n );
$kal_ende_tag_n = date ( "N", mktime ( 0, 0, 0, date ( "n", $kal_datum_n ), $kal_tage_gesamt_n, date ( "Y", $kal_datum_n ) ) );
//Überschrift
echo '<h3>';
echo strftime ( "%B %Y", $kal_datum_n );
echo '</h3>';
echo '<div><p>';
for($i = 1; $i <= $kal_tage_gesamt_n + ($kal_start_tag_n - 1) + (7 - $kal_ende_tag_n); $i ++) {
$kal_anzeige_akt_tag_n = $i - $kal_start_tag_n;
$kal_anzeige_heute_timestamp_n = strtotime ( $kal_anzeige_akt_tag_n . " day", $kal_start_timestamp_n );
$kal_anzeige_heute_tag_n = date ( "j", $kal_anzeige_heute_timestamp_n );
if (date ( "N", $kal_anzeige_heute_timestamp_n ) == 1)
echo ' <div class="cal_week">';
if (date ( "dmY", $kal_datum_n ) == date ( "dmY", $kal_anzeige_heute_timestamp_n )) {
$wd1 = date ( "D", $kal_anzeige_heute_timestamp_n );
$wd2 = date ( "l ", $kal_anzeige_heute_timestamp_n );
$wd3 = date ( " F", $kal_anzeige_heute_timestamp_n );
$wd1 = strtr ( $wd1, $trans );
$wd2 = strtr ( $wd2, $trans );
$wd3 = strtr ( $wd3, $trans );
echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#an' . $kal_anzeige_heute_tag_n . '">';
echo '<div class="kal_aktueller_tag">';
echo '<div class="cal_top_s">' . $wd1 .' '. $kal_anzeige_heute_tag_n . '</div>';
echo '<div class="cal_main">';
// while 1 Aktuelle Termine
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard">';
// while 2 Standard Termine
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1) {
echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
}
}
echo '</div>';
echo '</div></a>';
echo '<div style="display:none" id="an' . $kal_anzeige_heute_tag_n . '">';
echo '<div class="kal_aktueller_tag_fancy">';
echo '<div class="cal_top_s">' . $wd2 . $kal_anzeige_heute_tag_n . $wd3 . '</div>';
echo '<div class="cal_main_fancy">';
// while 1 aktueller Termin
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard_fancy">';
// while 2 Standardtermin
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
}
echo '</div>';
echo '</div>';
echo '</div>';
}
elseif ($kal_anzeige_akt_tag_n >= 0 and $kal_anzeige_akt_tag_n < $kal_tage_gesamt_n) {
$wd1 = date ( "D", $kal_anzeige_heute_timestamp_n );
$wd2 = date ( "l ", $kal_anzeige_heute_timestamp_n );
$wd3 = date ( " F", $kal_anzeige_heute_timestamp_n );
$wd1 = strtr ( $wd1, $trans );
$wd2 = strtr ( $wd2, $trans );
$wd3 = strtr ( $wd3, $trans );
echo '<a class="fancybox fancyboxStyleInlineSpecial" href="#an' . $kal_anzeige_heute_tag_n . '">';
echo '<div class="kal_standard_tag">';
echo '<div class="cal_top_s">' . $wd1 .' '. $kal_anzeige_heute_tag_n . '</div>';
echo '<div class="cal_main">';
// while 1 Aktuelle Termine
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard">';
// while 2 Standard Termine
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1) {
echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
}
}
echo '</div>';
echo '</div></a>';
echo '<div style="display:none" id="an' . $kal_anzeige_heute_tag_n . '">';
echo '<div class="kal_standard_tag_fancy">';
echo '<div class="cal_top_s">' . $wd2 . $kal_anzeige_heute_tag_n . $wd3 . '</div>';
echo '<div class="cal_main_fancy">';
// while 1 aktueller Termin
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard_fancy">';
// while 2 Standardtermin
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
}
echo '</div>';
echo '</div>';
echo '</div>';
}
else{
$wd1 = date ( "D", $kal_anzeige_heute_timestamp_n );
$wd2 = date ( "l ", $kal_anzeige_heute_timestamp_n );
$wd3 = date ( " F", $kal_anzeige_heute_timestamp_n );
$wd1 = strtr ( $wd1, $trans );
$wd2 = strtr ( $wd2, $trans );
$wd3 = strtr ( $wd3, $trans );
echo '';
echo '<div class="kal_vormonat_tag">';
echo '<div class="cal_top_v">' . $wd1 .' '. $kal_anzeige_heute_tag_n . '</div>';
echo '<div class="cal_main">';
// while 1 Aktuelle Termine
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p>'.date('H:i',$start).' '.$value2['was'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard">';
// while 2 Standard Termine
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1) {
echo '<p> '.substr($value['startzeit'],0,5).' '.$value['bezeichnung'].'</p>';
}
}
echo '</div>';
echo '</div>';
echo '<div style="display:none" id="an' . $kal_anzeige_heute_tag_n . '">';
echo '<div class="kal_vormonat_tag_fancy">';
echo '<div class="cal_top_v">' . $wd2 . $kal_anzeige_heute_tag_n . $wd3 . '</div>';
echo '<div class="cal_main_fancy">';
// while 1 aktueller Termin
foreach ($array2 as $value2) {
$start = strtotime($value2['start']); //timestamp erzeugen
$ende = strtotime($value2['ende']); //timestamp erzeugen
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] == '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
if ( date ('d-m-Y', $start) == date ('d-m-Y',$kal_anzeige_heute_timestamp_n) && $value2['ende'] != '0000-00-00 00:00:00') {
echo '<p><span>'.date('H:i',$start).' - '.strtr(date('D H:i',$ende),$trans).'</span> '.$value2['was'].' '.$value2['description'].'</p>';
}
}
echo '</div>';
echo '<div class="cal_standard_fancy">';
// while 2 Standardtermin
foreach ($array1 as $value) {
if ($value['Wochentag'] == $wd1 && $value['endzeit'] != '00:00:00' ) {
echo '<p><span>'.substr($value['startzeit'],0,5).' - '.substr($value['endzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
if ($value['Wochentag'] == $wd1 && $value['endzeit'] == '00:00:00' ) { echo '<p><span>'.substr($value['startzeit'],0,5).'</span>'.' '.$value['bezeichnung'].' '.$value['beschreibung'].'</p>';
}
}
echo '</div>';
echo '</div>';
echo '</div>';
}
if (date ( "N", $kal_anzeige_heute_timestamp_n ) == 7)
echo " </div>";
}
echo '</p></div>';
?>
Ich hoffe es hilft weiter!
PS: Ich weiss man kann vieles besser und einfacher machen, aber mit eurer Hilfe und meinen Mittel funktioniert es!
Danke