<?php // kalender.php
include('/////'); // DB-Verbindung einbinden
function naechsterMonat(){ // Naechster Monat bestimmen
$calendar = explode(',',$_GET['go']);
$cali['monat'] = $calendar['0'];
$cali['jahr'] = $calendar['1'];
if ($cali['monat'] == '12') {
$nextCal = '1,' . ($cali['jahr'] + 1);
}
else {
$nextCal = ($cali['monat'] + 1) . ',' . $cali['jahr'];
}
return $nextCal;
}
function vorherigerMonat(){ // Monat davor bestimmen
$calendar = explode(',',$_GET['go']);
$cali['monat'] = $calendar['0'];
$cali['jahr'] = $calendar['1'];
if ($cali['monat'] == '1') {
$lastCal = '12,' . ($cali['jahr'] - 1);
}
else {
$lastCal = ($cali['monat'] - 1) . ',' . $cali['jahr'];
}
return $lastCal;
}
function show_calender(){
if (isset($_GET['go'])) {
$calendar = explode(',', $_GET['go']);
$monat = $calendar['0'];
$jahr = $calendar['1'];
if ($_GET['go'] == date('n') . ',' . date('Y')) {
$heute = date('d');
}
}else{
$monat = date('n'); // ermitteln des Jahres
$jahr = date('Y'); // ermitteln des Monats
$heute = date('d'); // ermitteln des aktuellen Tages
$_GET['go'] = $monat . ',' . $jahr;
}
$first = date("w", mktime(0, 0, 0, $monat, 1, $jahr)); // ermitteln des Wochentages für den ersten Tages des Monats
$last = date("t", mktime(0 ,0 , 0, $monat, 1, $jahr)); // ermitteln des letzten Tages des Monats
//Monate und Wochentage
$monate = Array("", "Januar", "Februar", "März","April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
$wochentage = Array("So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So");
if($first == 0){
$first = 7; // Korrektur für den Sonntag
}
echo "<table border=\"0\">\n";
// Monat zurueck blaettern
echo "<caption><a href=\"javascript:get_Content('kalender','?go=".vorherigerMonat()."');\" class=\"back\">«</a>\n ";
// aktuelles Jahr und Monat ausgeben
echo $monate[$monat]." ".$jahr;
// Monat vor blaettern
echo " <a href=\"javascript:get_Content('kalender','?go=".naechsterMonat()."');\" class=\"vor\">»</a>\n";
echo "</caption>\n";
// Wochen Tage ausgeben
echo "<tr>\n";
echo "<th abbr=\"Montag\" title=\"Montag\">Mo</th>\n";
echo "<th abbr=\"Dienstag\" title=\"Dienstag\">Di</th>\n";
echo "<th abbr=\"Mittwoch\" title=\"Mittwoch\">Mi</th>\n";
echo "<th abbr=\"Donnerstag\" title=\"Donnerstag\">Do</th>\n";
echo "<th abbr=\"Freitag\" title=\"Freitag\">Fr</th>\n";
echo "<th abbr=\"Samstag\" title=\"Samstag\">Sa</th>\n";
echo "<th abbr=\"Sonntag\" title=\"Sonntag\">So</th>\n";
echo "</tr>\n<tr>\n";
// Leere Zellen ausgeben, bis zum ersten Tag des Monats
for ($j=1; $j < $first; $j++){
echo "<td>\n ";
}
if(strlen($monat) == 1){ // Null vorran stellen fuer Monat 1-9
$sql_m = "0".$monat;
}else{
$sql_m = $monat;
}
// DB-Abfrage => Events des aktuellen Monats
$abfrage = mysql_query("SELECT id, event, DATE_FORMAT(date, '%d.%m.%Y') AS datum FROM showyourcarde_events WHERE date BETWEEN '".$jahr."-".$sql_m."-1' AND '".$jahr."-".$sql_m."-31'");
$total = mysql_num_rows($abfrage); // Anzahl Events
if($total >= 1){ // Pruefen ob events vorhanden sind
while($row = mysql_fetch_object($abfrage)){
$events["$row->datum"] = "$row->event"; // Array mit Eventdaten fuettern
}
}// close events vorhanden
for ($i=1; $i <= $last; $i++){ // Tage ausgeben
$x = $wochentage[date("w", mktime(0 , 0, 0, $monat, $i, $jahr))]; // ermitteln des Wochentages
if($total >= 1){ // Pruefen ob Events vorhanden sind
if(strlen($i) == 1){ // Null vorran stellen fuer TAG 1-9
$sql_i = "0".$i;
}else{
$sql_i = $i;
}
$event_date = $sql_i.".".$sql_m.".".$jahr; // aktuelles Datum in Schleife bestimmen
if(array_key_exists($event_date, $events)){ // Pruefen ob event bei $i vorhanden
$show_event = "<a href=\"#\" class=\"tool\">".$i."<span>".$events["$event_date"]."</span></a>\n";
if ($i == $heute){ // Aktueller Tag kennzeichnen
echo "<td class=\"today\">".$show_event."</td>\n";
}else{
echo "<td>".$show_event."</td>\n";
}
}else{
if ($i == $heute){ // Aktueller Tag kennzeichnen
echo "<td class=\"today\">".$i."</td>\n";
}else{
echo "<td>".$i."</td>\n";
}
}// close event vorhanden
}else{ // Wenn keine Events sind
if ($i == $heute){ // Aktueller Tag kennzeichnen
echo "<td class=\"today\">".$i."</td>\n";
}else{
echo "<td>".$i."</td>\n";
}
} // close check events
if($x == "So"){ // Am Sonntag endet die jeweilige Zeile
echo "</tr>\n<tr>\n ";
}
} //close Tage ausgeben
echo "</tr>\n";
echo "</table>\n";
} // close function show_calender
?>