<perl>
$jahr||=2020; $monat||=10;
out "Jahr: ";
for(my $j=2020; $j<2022; $j++) { out $j==$jahr?"<b>$j</b> ":"<a href=\"$link&jahr=$j&monat=$monat\">$j</a> "; }
out "<br><br>Monat: ";
for(my $m=1; $m<13; $m++) { out $m==$monat?"<b>$m</b> ":"<a href=\"$link&jahr=$jahr&monat=$m\">$m</a> "; }
out "<br><br>";
out "<table class=belegungsplan><tr><th>Objekt</th>";
for(my $t=1; $t<=&tage($monat,$jahr); $t++)
{
out "<th>$t</th>";
}
out "</tr>";
foreach $objekt (@objekte)
{
out "<tr><td>$objekt</td>";
for(my $t=1; $t<=&tage($monat,$jahr); $t++)
{
$heute="$t.$monat.$jahr";
$frei=&frei($heute, "$heute+1", $objekt);
$farbe=int($frei/$anzahl{$objekt}*100);
($r,$g,$b)=($farbe, 100, $farbe);
($r,$g,$b)=(100,0,0) if $farbe==0;
out "<td style=\"background-color:rgb($r%,$g%,$b%)\">$frei</td>";
}
out "</tr>";
}
out "</table>";
</perl>
template buchungen:<include src=buchungsplan>
<br><hr><br>
<perl>
if($start_Tag ne "")
{
# $ende_Jahr="$ende_Jahr-1";
$start_wunsch=datum("$start_Tag.$start_Monat.$start_Jahr", "intern");
$ende_wunsch=datum("$ende_Tag.$ende_Monat.$ende_Jahr", "intern");
if($start_Tag>&tage($start_Monat, $start_Jahr))
{
out "<b>Der Tag des Startdatums existiert nicht!</b>";
} elsif($ende_Tag>&tage($ende_Monat, $ende_Jahr))
{
out "<b>Der Tag des Endedatums existiert nicht!</b>";
} elsif($ende_wunsch lt $start_wunsch)
{
out "<b>Das Endedatum liegt vor dem Startdatum!</b>";
} elsif($start_wunsch lt datum("jetzt-1","intern"))
{
out "<b>Das Startdatum liegt vor dem heutigen Datum!</b>";
} else
{
$frei=&frei($start_wunsch, $ende_wunsch, $objekt);
out <<EOF;
Anzahl Objekte: $anzahl{$objekt}<br>
Buchungen dieses Objekts gesamt: $amount{$objekt}<br>
Freie Objekte in diesem Zeitraum: $frei<br><br>
EOF
if($frei>0)
{
out "<b>Objekt frei...</b>";
if($buchen)
{
out " <b>Die Buchung wurde ausgeführt.</b>";
put ["Start", $start_wunsch, "Ende", $ende_wunsch, "Objekt", $objekt];
}
} else
{
out "<b>Es sind alle ausgewählten Objekte im Wunschzeitraum belegt...</b>";
}
}
out "<br><br><hr>";
}
for(my $t=1; $t<32; $t++)
{
$start_tage.="<option".($start_Tag==$t?" selected":"").">$t";
$ende_tage.="<option".($ende_Tag==$t?" selected":"").">$t";
}
for(my $m=1; $m<13; $m++)
{
$start_monate.="<option".($start_Monat==$m?" selected":"").">$m";
$ende_monate.="<option".($ende_Monat==$m?" selected":"").">$m";
}
for(my $j=2020; $j<2023; $j++)
{
$start_jahre.="<option".($start_Jahr==$j?" selected":"").">$j";
$ende_jahre.="<option".($ende_Jahr==$j?" selected":"").">$j";
}
foreach my $o (@objekte)
{
$objekte.="<option".($o==$objekt?" selected":"").">$o";
}
out <<EOF;
<p>Buchung:</p>
<table>
<FORM action="baseportal.pl?htx=$htx" method="post" encType="multipart/form-data">
<INPUT type=hidden value="$htx" name="htx=">
<TR><TD align=right>Start:</TD>
<TD><SELECT name="start_Tag=">$start_tage</SELECT>.<SELECT name="start_Monat=">$start_monate</SELECT>.<SELECT name="start_Jahr=">$start_jahre</SELECT></TD></TR>
<TR><TD align=right>Ende:</TD>
<TD><SELECT name="ende_Tag=">$ende_tage</SELECT>.<SELECT name="ende_Monat=">$ende_monate</SELECT>.<SELECT name="ende_Jahr=">$ende_jahre</SELECT></TD></TR>
<tr><td>Objekt:</td><td><select name="objekt=">$objekte</select></td></TR>
<tr><td align=right>Bitte auswählen</td><td><input type=radio value=1 name="buchen=">Gleich buchen</select></td></tr>
<TR><TD></TD><TD><INPUT type=submit value=Buchung bestätigen></TD></TR></FORM>
</table>
EOF
</perl>
<br><hr><br>
<do action=all db=buchungen>