<% require SE::Travel::Betriebe; require SE::Travel::Zimmer; my $zimmer = getZimmer( id => $in{zid} ); my $betrieb = getBetriebe( id => $zimmer->{gid} ); $out .= qq( $hausdata
$betrieb->{betriebsname}
$TRAVEL{kategorien}->{$betrieb->{kategorie}}
$betrieb->{strasse} $betrieb->{hausnummer}
$betrieb->{plz} $betrieb->{ort} $betrieb->{ortsteil}
Tel. $betrieb->{telefonvorwahl} $betrieb->{telefon}
Fax $betrieb->{faxvorwahl} $betrieb->{fax}

); $out; %> <% my $out; # alle zimmer zeigen my $sth = $TRAVEL{database}->prepare(qq( SELECT travel_zimmer.zid, travel_zimmer.name AS name, travel_zimmer.typ, travel_zimmer.maxpers, travel_preisgruppe.name AS preisgruppe, MIN( IF(travel_zimmer.minpers = 2, travel_zeitraum.preis2, travel_zeitraum.preis1) ) AS min_preis, MAX( IF(travel_zimmer.minpers = 2, travel_zeitraum.preis2, travel_zeitraum.preis1) ) AS max_preis, MIN(travel_zeitraum.min) AS min_belegung, MAX(travel_zeitraum.min) AS max_belegung, travel_zimmer.merkmale, travel_zimmer.minpers, MIN(travel_zeitraum.verpflegung_ohne) AS min_ohne, MAX(travel_zeitraum.verpflegung_ohne) AS max_ohne, MIN(travel_zeitraum.verpflegung_uf) AS min_uf, MAX(travel_zeitraum.verpflegung_uf) AS max_uf, MIN(travel_zeitraum.verpflegung_hp) AS min_hp, MAX(travel_zeitraum.verpflegung_hp) AS max_hp, MIN(travel_zeitraum.verpflegung_vp) AS min_vp, MAX(travel_zeitraum.verpflegung_vp) AS max_vp, travel_zimmer.endreinigung, travel_zimmer.bild, travel_zimmer.text, travel_zimmer.flaeche, travel_zimmer.* FROM travel_zimmer LEFT JOIN travel_preisgruppe ON travel_preisgruppe.pid=travel_zimmer.preisgruppe LEFT JOIN travel_zeitraum ON travel_zeitraum.pid=travel_preisgruppe.pid WHERE travel_zimmer.zid='$in{zid}' GROUP BY travel_zimmer.zid ORDER BY travel_zimmer.typ, LPAD(travel_zimmer.name,25,"0") ASC ) ); $sth->execute || &mysql_error($sth); my $zimmer; my $old_zimmertyp; my $zimmerdata = $sth->fetchrow_hashref; $zimmerdata->{minpers} = 1 if $zimmerdata->{minpers} ==0; # . . . . . . . . . . . . . . . . . . . . . . . . . . . # mache eine auflistung der merkmale my $merkmale = getMerkmale( verwendung => "zimmer", format => "LISTE", zimmer => $zimmerdata->{zid}, order_by => "name" ); # . . . . . . . . . . . . . . . . . . . . . . . . . . . $out .= qq( ); my @bild = split(/|/, $zimmerdata->{bild}); $bild[0] =~ s/\|//g; $zimmerdata->{bild} = $bild[0]; my $bildspalte = $zimmerdata->{bild} ?qq(s) : ""; my $belegung = qq($zimmerdata->{minpers} - $zimmerdata->{maxpers} Personen); $belegung = qq($zimmerdata->{minpers} Personen) if $zimmerdata->{minpers} == $zimmerdata->{maxpers}; $belegung = qq($zimmerdata->{minpers} Person) if $zimmerdata->{maxpers} == 1; $out .= qq( $bildspalte ); # - - - - - - - - my ($etage, $dg); if ($zimmerdata->{etage} >= 100) { $zimmerdata->{etage} -= 100; $dg = "(Dachgeschoss)"; } $etage = qq($zimmerdata->{etage}. Stock $dg) if $zimmerdata->{etage} > 0; $etage = qq(Souterrain) if $zimmerdata->{etage} == -1; $etage = qq(Erdgeschoss) if $zimmerdata->{etage} == 0; $out .= qq( ) if $etage; # - - - - - - - - my $raeume; $raeume = qq($zimmerdata->{raeume}) if $zimmerdata->{raeume} > 0; $raeume .= qq( davon $zimmerdata->{schlafraeume} Schlafräume) if $zimmerdata->{schlafraeume } > 1; $raeume .= qq( davon 1 Schlafraum) if $zimmerdata->{schlafraeume } == 1; $out .= qq( ) if $zimmerdata->{raeume}; # - - - - - - - - my $endreinigung; $endreinigung = qq($zimmerdata->{endreinigung} €) if $zimmerdata->{endreinigung} > 0; $out .= qq( ) if $endreinigung; # - - - - - - - - $out .= qq(
Zimmer $zimmerdata->{name} ($zimmerdata->{flaeche} m²)
Zimmerart $TRAVEL{zimmertypen}->{ $zimmerdata->{typ} }
Belegung $belegung
Etage $etage
Räume $raeume
Endreinigung $endreinigung
Beschreibung $zimmerdata->{text}
Merkmale $merkmale

); # ------------------------------------------- # # Preisinformation visualisieren # # ------------------------------------------- my $sth = $TRAVEL{database}->prepare( qq( SELECT travel_zimmer.minpers AS belegung_min, travel_zimmer.maxpers AS belegung_max, DATE_FORMAT(travel_zeitraum.von,'%d.%m.%Y') AS zeitraum_von, DATE_FORMAT(travel_zeitraum.bis,'%d.%m.%Y') AS zeitraum_bis, travel_zeitraum.min AS mindestaufenthalt, travel_zeitraum.preis1, travel_zeitraum.preis2, travel_zeitraum.preis3, travel_zeitraum.preis4, travel_zeitraum.preis5, travel_zeitraum.preis6, travel_zeitraum.preis7, travel_zeitraum.preis8, travel_zeitraum.preis9, travel_zeitraum.verpflegung_ohne AS ohne, travel_zeitraum.verpflegung_uf AS uf, travel_zeitraum.verpflegung_hp AS hp, travel_zeitraum.verpflegung_vp AS vp, 1 FROM travel_zimmer LEFT JOIN travel_preisgruppe ON travel_preisgruppe.pid=travel_zimmer.preisgruppe LEFT JOIN travel_zeitraum ON travel_zeitraum.pid=travel_preisgruppe.pid WHERE travel_zimmer.zid='$in{zid}' AND travel_zeitraum.bis > NOW() ORDER BY travel_zeitraum.von ) ); $sth->execute || &mysql_error($sth); if ($sth->rows) { $out .= qq( ); my $c = 1; while ( my $preise = $sth->fetchrow_hashref ) { $preise->{belegung_min} = 1 if $preise->{belegung_min} == 0; # Korrektur bei von 0 Pers my $spalten = 3 + $preise->{belegung_max} - $preise->{belegung_min}; if ($c == 1) { my $preisfelder; for ($preise->{belegung_min} .. $preise->{belegung_max}) { $preisfelder .= qq($_ Person) if $_ == 1; $preisfelder .= qq($_ Pers.) if $_ > 1; } $out .= qq( $preisfelder ); } $out .= qq( ); my $leistungen; $leistungen++ if $preise->{ohne} ne "" || ($preise->{uf} eq "" && $preise->{vp} eq "" && $preise->{hp} eq ""); $leistungen++ if $preise->{uf} ne ""; $leistungen++ if $preise->{hp} ne ""; $leistungen++ if $preise->{vp} ne ""; my $mindauf = $preise->{mindestaufenthalt} <= 1 ? qq($preise->{mindestaufenthalt} Nacht) : qq($preise->{mindestaufenthalt} Nächte); my $mindestaufenthalt = qq(); # Grundpreise if ($preise->{ohne} ne "" || ($preise->{uf} eq "" && $preise->{vp} eq "" && $preise->{hp} eq "") ) { my $preisfelder; for ($preise->{belegung_min} .. $preise->{belegung_max}) { if ($preise->{"preis" . $_} > 0) { my $preis = sprintf ("%6.2f",$preise->{ohne} * $_ + $preise->{"preis" . $_}); $preis =~ s/\./,/; $preisfelder .= qq(); } else { $preisfelder .= qq(); } } $out .= qq( $preisfelder $mindestaufenthalt ); $mindestaufenthalt = ""; # flush weil aussgegeben. } # UF if ($preise->{uf} ne "") { my $preisfelder; for ($preise->{belegung_min} .. $preise->{belegung_max}) { if ($preise->{"preis" . $_} > 0) { my $preis = sprintf ("%6.2f",$preise->{uf} * $_ + $preise->{"preis" . $_}); $preis =~ s/\./,/; $preisfelder .= qq(); } else { $preisfelder .= qq(); } } $out .= qq( $preisfelder $mindestaufenthalt ); $mindestaufenthalt = ""; # flush weil aussgegeben. } # HP if ($preise->{hp} ne "") { my $preisfelder; for ($preise->{belegung_min} .. $preise->{belegung_max}) { if ($preise->{"preis" . $_} > 0) { my $preis = sprintf ("%6.2f",$preise->{hp} * $_ + $preise->{"preis" . $_}); $preis =~ s/\./,/; $preisfelder .= qq(); } else { $preisfelder .= qq(); } } $out .= qq( $preisfelder $mindestaufenthalt ); $mindestaufenthalt = ""; # flush weil aussgegeben. } # VP if ($preise->{vp} ne "") { my $preisfelder; for ($preise->{belegung_min} .. $preise->{belegung_max}) { if ($preise->{"preis" . $_} > 0) { my $preis = sprintf ("%6.2f",$preise->{vp} * $_ + $preise->{"preis" . $_}); $preis =~ s/\./,/; $preisfelder .= qq(); } else { $preisfelder .= qq(); } } $out .= qq( $preisfelder $mindestaufenthalt ); $mindestaufenthalt = ""; # flush weil aussgegeben. } # Kinderpreise if ($preise->{k1_alter} > 0 || $preise->{k3_alter} > 0 || $preise->{k3_alter} > 0) { my $kinder; for (1..3) { my $kinderpreise; my $zeilen; if ($preise->{"k${_}_ohne"}) { $kinderpreise .= qq(); $zeilen++; } if ($preise->{"k${_}_uf"}) { $kinderpreise .= qq(); $zeilen++; } if ($preise->{"k${_}_hp"}) { $kinderpreise .= qq(); $zeilen++; } if ($preise->{"k${_}_vp"}) { $kinderpreise .= qq(); $zeilen++; } $kinderpreise = qq( $kinderpreise ); $kinder .= qq( ) if $zeilen; } $out .= qq( ) if $kinder; } $c++; }; $out .= qq(
LeistungMindest-
aufenthalt
$preise->{zeitraum_von} - $preise->{zeitraum_bis}
$mindauf$preis €---
Übernachtung
$preis €---
mit Frühstück
$preis €---
Halbpension
$preis €---
Vollpension
$preise->{"k${_}_ohne"} € Übernachtung
$preise->{"k${_}_uf"} € mit Frühstück
$preise->{"k${_}_hp"} € mit Halbpension
$preise->{"k${_}_vp"} € mit Vollpension
Kinder
bis $preise->{"k${_}_alter"}
Jahre
$kinderpreise
$kinder
); } $sth->finish; # --------------------------------------------------------------------------------- sub travel_gen_href { my $href; foreach my $key (keys %{$_[0]}) { $in{$key} = $_[0]->{$key}; } foreach my $key (sort keys %in) { $in{$key} =~ s/\0/\|/g; $href .= "&$key=$in{$key}" if $key ne "" && $key !~ /(page|action|seite)/; } return $href; } $out; %>