--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/test/calendar_simple.php Thu Sep 12 09:04:56 2013 +0200
@@ -0,0 +1,332 @@
+<?php
+
+/**
+ * @author Bettina Schwarzer, Fritz-Haber-Institut
+ * @copyright 8/2013
+ */
+
+ error_reporting(E_ALL ^ E_NOTICE);
+
+ $sub = $_POST["sub"];
+ $month = $_POST["mon"];
+ $year = $_POST["yr"];
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+
+<head>
+ <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
+ <link href="/fhiiqm/css/db.css" rel="STYLESHEET" type="TEXT/CSS" media="screen"/>
+ <link href="/fhiiqm/css/db_print.css" rel="STYLESHEET" type="TEXT/CSS" media="print"/>
+ <title>Kalender Test</title>
+</head>
+
+<body>
+
+<?php
+ $amon = array("1"=>"Januar","2"=>"Februar","3"=>"März","4"=>"April","5"=>"Mai","6"=>"Juni","7"=>"Juli","8"=>"August","9"=>"September","10"=>"Oktober","11"=>"November","12"=>"Dezember");
+ $aday = array("0"=>"Mo","1"=>"Di","2"=>"Mi","3"=>"Do","4"=>"Fr","5"=>"Sa","6"=>"So");
+
+ //This gets today's date
+ if ($sub == ">")
+ {
+ $month += 1;
+ if ($month > 12)
+ {
+ $month=1;
+ $year += 1;
+ }
+ }
+ if ($sub == "<")
+ {
+ $month -= 1;
+ if ($month < 1)
+ {
+ $month=12;
+ $year -= 1;
+ }
+ }
+ if ($sub && $month && $year)
+ $date = mktime(0,0,0,$month,1,$year);
+ else
+ $date = time () ;
+ //This puts the day, month, and year in seperate variables
+ $day = date('d', $date) ;
+ $month = date('m', $date) ;
+ $year = date('Y', $date) ;
+//echo "mon = $month, jahr = $year, dat = $day.".".$month.".".$year<br />";
+
+ //Here we generate the first day of the month
+ $first_day = mktime(0,0,0,$month, 1, $year) ;
+ $first_day_prev = mktime(0,0,0,$month-1, 1, $year) ;
+ $first_day_next= mktime(0,0,0,$month+1, 1, $year) ;
+
+ //This gets us the month name
+ $title = $amon[date('n', $first_day)] ;
+ $titlep = $amon[date('n', $first_day_prev)] ;
+ $titlen = $amon[date('n', $first_day_next)] ;
+
+ //Here we find out what day of the week the first day of the month falls on
+ $day_of_week = date('D', $first_day) ;
+ $day_of_weekp = date('D', $first_day_prev) ;
+ $day_of_weekn = date('D', $first_day_next) ;
+
+ //Once we know what day of the week it falls on, we know how many blank days occure before it. If the first day of the week is a Sunday then it would be zero
+
+ switch($day_of_week)
+ {
+ case "Mon": $blank = 0; $day_nr = 0; break;
+ case "Tue": $blank = 1; $day_nr = 1; break;
+ case "Wed": $blank = 2; $day_nr = 2; break;
+ case "Thu": $blank = 3; $day_nr = 3; break;
+ case "Fri": $blank = 4; $day_nr = 4; break;
+ case "Sat": $blank = 5; $day_nr = 5; break;
+ case "Sun": $blank = 6; $day_nr = 6; break;
+ }
+ switch($day_of_weekp)
+ {
+ case "Mon": $day_nrp = 0; break;
+ case "Tue": $day_nrp = 1; break;
+ case "Wed": $day_nrp = 2; break;
+ case "Thu": $day_nrp = 3; break;
+ case "Fri": $day_nrp = 4; break;
+ case "Sat": $day_nrp = 5; break;
+ case "Sun": $day_nrp = 6; break;
+ }
+ switch($day_of_weekn)
+ {
+ case "Mon": $day_nrn = 0; break;
+ case "Tue": $day_nrn = 1; break;
+ case "Wed": $day_nrn = 2; break;
+ case "Thu": $day_nrn = 3; break;
+ case "Fri": $day_nrn = 4; break;
+ case "Sat": $day_nrn = 5; break;
+ case "Sun": $day_nrn = 6; break;
+ }
+
+ //We then determine how many days are in the current month
+
+ $days_month = cal_days_in_month(0, $month, $year) ;
+ $monthn = $month+1;
+ $yearn = $year;
+ if ($monthn == 13) {$monthn = 1; $yearn = $year+1;}
+ $days_monthn = cal_days_in_month(0, $monthn, $yearn) ;
+ $monthp = $month-1;
+ $yearp = $year;
+ if ($monthp == 0) {$monthp = 12; $yearp = $year-1;}
+ $days_monthp = cal_days_in_month(0, $monthp, $yearp) ;
+//echo "aktueller Monat=$month, vorheriger Monat=$monthp, nächster Monat=$monthn<br />";
+/*
+ //Here we start building the table heads
+ echo "<div align='center'>";
+ echo "<table border=1 width=294>";
+
+ echo "<tr><th colspan=7> $title $year </th></tr>";
+
+ echo "<tr><td width=42>Mo</td><td width=42>Di</td><td width=42>Mi</td><td width=42>Do</td><td width=42>Fr</td><td width=42>Sa</td><td width=42>So</td></tr>";
+
+ //This counts the days in the week, up to 7
+
+ $day_count = 1;
+ echo "<tr>";
+
+ //first we take care of those blank days
+
+ while ( $blank > 0 )
+ {
+ echo "<td></td>";
+ $blank = $blank-1;
+ $day_count++;
+ }
+
+ //sets the first day of the month to 1
+
+ $day_num = 1;
+
+ //count up the days, untill we've done all of them in the month
+
+ while ( $day_num <= $days_in_month )
+ {
+ echo "<td> $day_num </td>";
+ $day_num++;
+ $day_count++;
+ //Make sure we start a new row every week
+ if ($day_count > 7)
+ {
+ echo "</tr><tr>";
+ $day_count = 1;
+ }
+ }
+ //Finaly we finish out the table with some blank details if needed
+
+ while ( $day_count >1 && $day_count <=7 )
+ {
+ echo "<td> </td>";
+ $day_count++;
+ }
+ echo "</tr></table>";
+ echo "</div>";
+*/
+ // Kalender als 1 Zeile
+ echo "<div align='center'>";
+ echo "<h3> Belegung Appartments FHI</h3>";
+
+ include_once($_SERVER['DOCUMENT_ROOT'] ."/fhiiqm/inc/dbconnect.inc.php");
+ if (!isset($dbc) || !$dbc) $dbc = new dbconnection("fhi");
+
+ $sql = "SELECT id, name, apt, von, bis FROM wover
+ WHERE Year(von) >= $year-1
+ ORDER BY von DESC, apt";
+ if ($result = $dbc -> queryObjectArray($sql))
+ {
+// echo "<table>";
+ foreach ($result as $row)
+ {
+ if ($row->von)
+ {
+ $vond = new DateTime($row->von);
+ $vond = $vond -> format("d.m.Y");
+ }
+ else $vonf = $row->von;
+ if ($row->bis)
+ {
+ $bisd = new DateTime($row->bis);
+ $bisd = $bisd -> format("d.m.Y");
+ }
+ else $bisf = $row->bis;
+// echo "<tr><td>".$row->name . "</td><td>" .$row->apt . "</td><td>" .$vond . "</td><td>" .$bisd . "</td></tr>";
+ $aresv["id"][] = $row->id;
+ $aresv["name"][] = $row->name;
+ $aresv["apt"][] = $row->apt;
+ $aresv["von"][] = $row->von;
+ $aresv["bis"][] = $row->bis;
+ }
+// echo "</table>";
+// print_r ($aresv); echo "<br /><br />";
+ }
+
+ function aptres($daynr,$month,$year,$von,$bis,$name,$pos)
+ {
+ $aktdat = date('Y-m-d',mktime(0,0,0,$month,$daynr+1,$year));
+ if ($von <= $aktdat && $bis >= $aktdat)
+ return substr($name,$pos,1);
+ else return null;
+ }
+
+ function monat($day_nr,$days_month,$month,$year,$tit,$mon="")
+ {
+ global $aday;
+ global $aresv;
+ $clg = "class='bgmarkg1 center'";
+ $cl1 = "class='bgmarkg1 center'";
+ $cl2 = "class='bgmarkg2 center'";
+ echo "<table border=1 cellspacing='0' cellpadding='0'>";
+ echo "<tr><th class='center' colspan='$days_month' >$tit $year </th></tr>";
+ echo "<tr>";
+ $dnr = $day_nr;
+ // daynames
+ for ($i=0;$i<$days_month;$i++)
+ {
+ if ($dnr > 4) $cl = " class = 'bgmarkwe'"; else $cl = "";
+ if (($mon == "") || ($mon == "p" && $i>14) || ($mon == "n" && $i<15))
+ echo "<td$cl width='18'>".$aday[$dnr]."</td>\n";
+ if ($dnr<6) $dnr += 1; else $dnr = 0;
+ }
+ echo "</tr>\n";
+ echo "<tr>";
+ $dnr = $day_nr;
+ // daynumbers
+ for ($i=0;$i<$days_month;$i++)
+ {
+ if ($dnr > 4) $cl = " class = 'bgmarkwe center'"; else $cl = " class = 'center'";
+ if (($mon == "") || ($mon == "p" && $i>14) || ($mon == "n" && $i<15))
+ echo "<td$cl>".($i+1)."</td>\n";
+ if ($dnr<6) $dnr += 1; else $dnr = 0;
+ }
+ echo "</tr>";
+ for ($j=0; $j<11; $j++)
+ for ($i=0;$i<$days_month;$i++)
+ for ($k=0; $k<count($aresv["id"]);$k++)
+ {
+ $gn[$j][$i][$k] = "";
+ $pos[$j][$k] = 0;
+ }
+ // appartments
+ for ($j=0; $j<11; $j++)
+ {
+ if ($j == 3) $j +=1; // kein apt. 4
+ $dnr = $day_nr;
+ echo "<tr>";
+ for ($i=0;$i<$days_month;$i++)
+ {
+ if ($dnr > 4) $cl = " class = 'bgmarkwe center'"; else $cl = " class = 'center'";
+ if (($mon == "") || ($mon == "p" && $i>14) || ($mon == "n" && $i<15))
+ {
+ $anznam = 0;
+ for ($k=0; $k<count($aresv["id"]);$k++)
+ {
+ if ($aresv["apt"][$k] == ($j+1))
+ {
+ if ($namv[$i][$k] == $aresv["name"][$k]) $pos[$k] +=1;
+ // $nam = aptres($i,$month,$year,strtotime($aresv["von"][$k]),strtotime($aresv["bis"][$k]),$aresv["name"][$k]);
+ $nam = aptres($i,$month,$year,$aresv["von"][$k],$aresv["bis"][$k],$aresv["name"][$k],$pos[$j][$k]);
+ if ($nam)
+ {
+ if ($pos[$j][$k] == 0 && $clg == $cl1) $clg = $cl2;
+ elseif ($pos[$j][$k] == 0 && $clg == $cl2) $clg = $cl1;
+ $addr = "<a href='reserv_ed.php?i=".$aresv["id"][$k]."'>$nam</a>";
+ echo "<td $clg>".$addr."</td>\n";
+ if ($gn[$j][$i-1][$k] == $aresv["name"][$k]);
+ {
+ $pos[$j][$k] +=1;
+ }
+ $gn[$j][$i][$k] = $aresv["name"][$k];
+ $anznam +=1;
+ }
+ }
+ }
+ if (!$anznam)
+ {
+ echo "<td$cl>"." "."</td>\n";
+ }
+ }
+ if ($dnr<6) $dnr += 1; else $dnr = 0;
+ }
+ echo "</tr>";
+ }
+ echo "</table>\n";
+ }
+
+ echo "<table border='0' cellspacing='0' cellpadding='0'><tr>";
+ echo "<td><table border=1 cellspacing='0' cellpadding='0'><tr><td rowspan='3'> </td><td> </td></tr>\n";
+ echo "<tr><td> </td></tr><tr><td> </td></tr>";
+ echo "<tr><td colspan='2' height='18'>Apt. 1</td></tr>";
+ echo "<tr><td colspan='2' height='18'>Apt. 2</td></tr>";
+ echo "<tr><td colspan='2' height='18'>Apt. 3</td></tr>";
+// echo "<tr><td colspan='2'>Apt. 4</td></tr>";
+ echo "<tr><td colspan='2' height='18'>Apt. 5</td></tr>";
+ echo "<tr><td colspan='2' height='18'>Apt. 6</td></tr>";
+ echo "<tr><td colspan='2' height='18'>Apt. 7</td></tr>";
+ echo "<tr><td colspan='2' height='18'>Apt. 8</td></tr>";
+ echo "<tr><td colspan='2' height='18'>Apt. 9</td></tr>";
+ echo "<tr><td colspan='2' height='18'>Apt. 10</td></tr>";
+ echo "<tr><td colspan='2' height='18'>Apt. 11</td></tr></table></td><td>";
+ monat($day_nrp,$days_monthp,$monthp,$yearp,$titlep,"p");
+ echo "</td><td>";
+ monat($day_nr,$days_month,$month,$year,$title);
+ echo "</td><td>";
+ monat($day_nrn,$days_monthn,$monthn,$yearn,$titlen,"n");
+ echo "</td></tr></table>\n";
+
+ echo "<form action=\"".$_SERVER['PHP_SELF'] ."\" method=\"post\" enctype=\"application/x-www-form-urlencoded\" name=\"form_w\">";
+ echo "<p><input class=\"button\" type=\"submit\" name=\"sub\" value=\"<\" title='mon-1'>";
+ echo " ";
+ echo "<input class=\"button\" type=\"submit\" name=\"sub\" value=\">\" title='mon+1'></p>\n";
+ echo "<input type=\"hidden\" name=\"mon\" value=\"$month\">";
+ echo "<input type=\"hidden\" name=\"yr\" value=\"$year\">";
+ echo "</form>";
+ echo "</div>";
+
+?>
+</body>
+</html>
\ No newline at end of file