<% my $betriebdata = getBetriebe( id => $in{gid} ); # . . . . . . . . . . . . . . . . . . . . . . . . . . . # mache eine auflistung der merkmale my $merkmale = getMerkmale( verwendung => "betrieb", format => "LISTE", betrieb => $betriebdata->{gid}, order_by => "name" ); $out .= qq(
$betriebdata->{betriebsname}
$TRAVEL{kategorien}->{$betriebdata->{kategorie}}
$betriebdata->{strasse} $betriebdata->{hausnummer}
$betriebdata->{plz} $betriebdata->{ort} $betriebdata->{ortsteil}
Tel. $betriebdata->{telefonvorwahl} $betriebdata->{telefon}
Fax $betriebdata->{faxvorwahl} $betriebdata->{fax}
Beschreibung: $betriebdata->{text}
Zusatzinfos:
LocalID #1: $betriebdata->{lid}
LocalID #2: $betriebdata->{lid2}
Letzte Freimeldung:
$betriebdata->{freimeldung}
Merkmale: $merkmale
); $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 = 3, travel_zeitraum.preis3, IF(travel_zimmer.minpers = 2, travel_zeitraum.preis2, travel_zeitraum.preis1) ) ) AS min_preis2, MIN( CASE travel_zimmer.minpers WHEN 1 THEN travel_zeitraum.preis1 WHEN 2 THEN travel_zeitraum.preis2 WHEN 3 THEN travel_zeitraum.preis3 WHEN 4 THEN travel_zeitraum.preis4 WHEN 5 THEN travel_zeitraum.preis5 WHEN 6 THEN travel_zeitraum.preis6 WHEN 7 THEN travel_zeitraum.preis7 END ) AS min_preis, MAX( IF(travel_zimmer.minpers = 2, travel_zeitraum.preis2, travel_zeitraum.preis1) ) AS max_preis1, MAX( CASE travel_zimmer.maxpers WHEN 1 THEN travel_zeitraum.preis1 WHEN 2 THEN travel_zeitraum.preis2 WHEN 3 THEN travel_zeitraum.preis3 WHEN 4 THEN travel_zeitraum.preis4 WHEN 5 THEN travel_zeitraum.preis5 WHEN 6 THEN travel_zeitraum.preis6 WHEN 7 THEN travel_zeitraum.preis7 END ) 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 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.gid='$in{gid}' GROUP BY travel_zimmer.zid ORDER BY travel_zimmer.typ, LPAD(travel_zimmer.name,25,"0") ASC ) ); $sth->execute; my $zimmer; my $old_zimmertyp; while (my $projekt = $sth->fetchrow_hashref) { $zimmer .= qq( ) if $projekt->{typ} ne $old_zimmertyp; my $zimmernr = $projekt->{name}; $zimmernr = "Nr. $projekt->{name}" if $projekt->{name} =~ /^\d+$/ ; my $preise; my $preise; my $von; my $bis; $von = sprintf( "%6.2f", $projekt->{min_preis} + $projekt->{min_ohne} * $projekt->{minpers} ); $bis = sprintf( "%6.2f", $projekt->{max_preis} + $projekt->{max_ohne} * $projekt->{maxpers} ); $preise_ohne = qq(ab $projekt->{min_preis} - $projekt->{max_preis} €); $preise_ohne = qq(ab $projekt->{min_preis} €) if $projekt->{min_preis} == $projekt->{max_preis}; # Frühstück $von = sprintf( "%6.2f", $projekt->{min_preis} + $projekt->{min_uf} * $projekt->{minpers} ); $bis = sprintf( "%6.2f", $projekt->{max_preis} + $projekt->{max_uf} * $projekt->{maxpers} ); $preise_uf = qq(ab $von - $bis €); $preise_uf = qq(ab $von €) if $von == $bis; # Halbpension $von = sprintf( "%6.2f", $projekt->{min_preis} + $projekt->{min_hp} * $projekt->{minpers} ); $bis = sprintf( "%6.2f", $projekt->{max_preis} + $projekt->{max_hp} * $projekt->{maxpers} ); $preise_hp = qq(ab $von - $bis €); $preise_hp = qq(ab $von €) if $von == $bis; # Vollpension $von = sprintf( "%6.2f", $projekt->{min_preis} + $projekt->{min_vp} * $projekt->{minpers} ); $bis = sprintf( "%6.2f", $projekt->{max_preis} + $projekt->{max_vp} * $projekt->{maxpers} ); $preise_vp = qq(ab $von - $bis €); $preise_vp = qq(ab $von €) if $von == $bis; # Preise zusammenbauen, und nur wenn verfügbar zeigen... $preise .= "$preise_ohne ohne Verpflegung
" if $projekt->{min_ohne}; $preise .= "$preise_uf mit Frühstück
" if $projekt->{min_uf}; $preise .= "$preise_hp mit Halbpension
" if $projekt->{min_hp}; $preise .= "$preise_vp mit Vollpension
" if $projekt->{min_vp}; $preise .= "$preise_ohne
" unless $projekt->{min_ohne} || $projekt->{min_uf} || $projekt->{min_hp} || $projekt->{min_uf} ; my $mindest = qq($projekt->{min_belegung} - $projekt->{max_belegung} Tage); $mindest = qq($projekt->{min_belegung} Tage) if $projekt->{min_belegung} == $projekt->{max_belegung}; $mindest = qq($projekt->{min_belegung} Tag) if $projekt->{min_belegung} == $projekt->{max_belegung} && $projekt->{min_belegung} == 1; $mindest = qq(-) unless $projekt->{min_belegung}; my $maxpers = qq($projekt->{minpers}-$projekt->{maxpers} Personen); $maxpers = qq($projekt->{minpers} Personen) if $projekt->{minpers} == $projekt->{maxpers}; $maxpers = qq($projekt->{minpers} Person) if $projekt->{minpers} == $projekt->{maxpers} && $projekt->{minpers} == 1; # . . . . . . . . . . . . . . . . . . . . . . . . . . . # mache eine auflistung der merkmale my $merkmale = getMerkmale( verwendung => "zimmer", format => "LISTE", zimmer => $projekt->{zid}, order_by => "name" ); # . . . . . . . . . . . . . . . . . . . . . . . . . . . my $href = &travel_gen_href( { zid => $projekt->{zid}, do => "zimmerinfo" } ); $zimmer .= qq( ); $old_zimmertyp = $projekt->{typ}; } $zimmer .= qq( ) unless $zimmer; 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; } $zimmer; %>
Zimmer max. Belegung Preise Mindestens
$TRAVEL{zimmertypen}->{ $projekt->{typ} } 

$zimmernr $maxpers $preise $mindest
$merkmale
 
Dieser Betrieb hat noch keine Zimmer angelegt...