#! /usr/bin/perl -w use MIME::Base64; use strict; use warnings; use diagnostics; use CGI; use CGI::Carp qw(fatalsToBrowser); use lib qw(.); use Mail::Sendmail; use HTML::Template; use HTML::Entities; my $cgi = CGI->new(); my %params = $cgi->Vars(); print $cgi->header(-type => 'text/html'); my $template = HTML::Template->new(filename => '/home/webmaster/docs/deutsch/Be darfsmeldung/bedarfsmeldung2.htm'); if($params{add}){ # wenn artikel hinzugefügt werden soll my @loop = (); if($params{alt}){ my @artikel = split(/;/,$params{alt}); foreach(@artikel){ my ($art_name,$stueck) = split(/#/,$_); push(@loop,{ARTIKEL => $art_name, STUECK => $stueck}); } } push(@loop,{ARTIKEL => $params{ARTIKEL}, STUECK => $params{STUECK}}); my $alte = $params{alt}.";$params{ARTIKEL}#$params{STUECK}"; $template->param(ALT => $alte, ARTIKELLISTE => \@loop, ABTEILUNG => $params{ABTEILUNG}, KOSTENSTELLE => $params{KOSTENSTELLE}, DATUM => $params{DATUM}, BENUTZER => $params{BENUTZER}); } elsif($params{submit}){ my $hosts = '/home/webmaster/cgi-bin/hosts'; my $name = (); my $ip = $ENV{'REMOTE_ADDR'}; open(ABSENDER,"<$hosts") or die $!; while(my $line = ){ chomp $line; #Zeilenumbruch entfernen if($line =~ /^$ip/) { #wenn Zeile mit IP beginnt $name = (split (/#\s+/,$line))[1]; #Name ist durch leerstellen getrennt } } close ABSENDER; my $sender = 'Piero '; #my $sender = "$name\n"; my $empfaenger = 'Du '; my $betreff = 'Artikelliste'; my $body = qq~
Benutzer$params{BENUTZER}
Abteilung$params{ABTEILUNG}
Kostenstelle$params{KOSTENSTELLE}
Datum$params{DATUM}
~; $body=''; my @artikel = split(/;/,$params{alt}); foreach(@artikel){ my ($art,$st,$evp,$eur) = split(/#/,$_); $body .= ''; } $body .= '
ArtikelStueck
'.$art.''.$st.'
'; my %mailer_options = ( 'Content-Type' => 'text/html; charset="iso-8859-1"', To => $empfaenger, From => $sender, Subject => $betreff, Message => $body, ); Mail::Sendmail::sendmail(%mailer_options); $template->param(MESSAGE => 'E-Mail wurde abgeschickt'); } print $template->output();