Thread CGI::Application::Plugin::Stream und HTML::Template::Compiled
(11 answers)
Opened by MartinR at 2008-10-02 14:12
... also momentan ist es wie folgt gelöst:
Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 # Seminartermin für Outlook-Kalender ausgeben sub SendeOutlookTermin { my $self = shift; $self->{ICALENDAR_TMPL} = HTML::Template::Compiled->new ( filename => 'htc_icalendar.ics', path => '/usr/local/httpd/htdocs/cgi-bin/seminare_v2/tmpl/', ); $self->ICalendar::HoleIcalTerminDaten(); $self->{DOWNLOAD} = 'files/'.$self->session->id().'.ics'; open (ICAL, ">$self->{DOWNLOAD}") || die 'Fehler bei open \n'; print ICAL $self->{ICALENDAR_TMPL}->output(); close(ICAL) || die 'Fehler bei close \n'; $self->{DateiDownloadTyp} = 'ics'; } # Seminartermin für Outlook-Kalender aus DB auslesen sub HoleIcalTerminDaten { my $self = shift; $self->SqlStatements::HoleIcalTerminDatenSQL() unless defined $self->{HoleIcalTerminDatenSQL}; $self->{HoleIcalTerminDatenSQL}->execute( $self->{TerminID} ); my ( $seminar_nr, $seminar_titel, $start_datum, $start_uhrzeit, $ende_datum, $ende_uhrzeit, $start_datum_ical, $start_uhrzeit_ical, $ende_datum_ical, $ende_uhrzeit_ical ); $self->{HoleIcalTerminDatenSQL}->bind_columns(undef, \( $seminar_nr, $seminar_titel, $start_datum, $start_uhrzeit, $ende_datum, $ende_uhrzeit, $start_datum_ical, $start_uhrzeit_ical, $ende_datum_ical, $ende_uhrzeit_ical )); $self->{HoleIcalTerminDatenSQL}->fetch(); $self->{ICALENDAR_TMPL}->param( CGISESSID => $self->session->id(), SEMINAR_NR => "$seminar_nr", SEMINAR_TITEL => "$seminar_titel", SEMINAR_VON => "$start_datum $start_uhrzeit", SEMINAR_BIS => "$ende_datum $ende_uhrzeit", SEMINAR_VON_DATETIME => "$start_datum_ical"."T$start_uhrzeit_ical", SEMINAR_BIS_DATETIME => "$ende_datum_ical"."T$ende_uhrzeit_ical", JETZT_DATETIME => "20081006T080000", ); } Und in meinem Application-File steht dann u.a. folgendes Code (perl): (dl
)
1 2 3 4 5 ... use CGI::Application::Plugin::Stream (qw/stream_file/); ... $self->stream_file($self->{DOWNLOAD}, 2048) || die 'Fehler bei stream_file \n'; $self->header_add( -attachment => "kalender.ics" ); Wie gesagt - ich hab jetzt keinen Plan wie ich Deine Codeschnipsel einbinden könnte bzw. sollte ... |