<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>
 
 
 
 
<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>