diff -r 0e2b0e64bc21 -r bd470c2d0a0a htdocs/cgi-bin/send --- a/htdocs/cgi-bin/send Wed Feb 06 13:22:28 2013 +0100 +++ b/htdocs/cgi-bin/send Thu Feb 07 11:45:50 2013 +0100 @@ -10,16 +10,19 @@ use Cwd; use FindBin qw($RealBin); use Data::UUID; - +my $requ; my $cgi = new CGI; my $tt = Template->new({INCLUDE_PATH => "$RealBin/../templates"}) or die "Can't create template object: $Template::ERROR\n"; +my $reset=''; if (!$cgi->param("_submit")) { print CGI::header(-type => "text/html", -charset => "utf-8"); - $tt->process("index.html"); + $tt->process("index.html",{ + reset => $reset, + }); exit 0; } @@ -27,49 +30,59 @@ # anzeigen # CHECK - - my (%error, $ffarbe, $ofarbe, $mfarbe, $rfarbe); - if ($cgi->param("firma") eq ''){ - $error{firma} = "missing company"; - $ffarbe='rot'; - } - else{$ffarbe='black'} - if ($cgi->param("mail") eq ''){ - $error{mail}= "missing mail"; - $mfarbe='red'; - } - elsif ($cgi->param("mail") !~ m/^[a-zA-Z0-9\.-_]*\@\w+\.\w{2,}/){ - $error{mail}="no valid mail"; - $mfarbe='red'; - } - else{$mfarbe='black'} - if ($cgi->param("ort") eq ''){ - $error{ort}= "missing city"; - $ofarbe='red'; - } - else{$ofarbe='black'} - if ($cgi->param("req") eq ''){ - $error{req}="missing request"; - $rfarbe='red'; - } - else{$rfarbe='black'} - if (%error) { - print CGI::header(-type => "text/html", -charset => "utf-8"); - $tt->process("index.html", { - dump => $cgi->Dump(), - now => time(), - error => \%error, - firma => $cgi->param("firma"), - ffarbe=>$ffarbe, - mail => $cgi->param("mail"), - mfarbe=>$mfarbe, - ort => $cgi->param("ort"), - ofarbe=>$ofarbe, - req => $cgi->param("req"), - rfarbe=>$rfarbe, - }) or die $tt->error(); - exit 0; - } +my @req =$cgi->param("req"); +foreach (@req){ + s/\r\n/\/g; +} +$requ=join(" ",@req); +open (OUT,">req"); +print OUT "@req"; +close OUT; +open (IN,"; +close IN; +my (%error, $ffarbe, $ofarbe, $mfarbe, $rfarbe); +if ($cgi->param("firma") eq ''){ + $error{firma} = "missing company"; + $ffarbe='red'; +} +else{$ffarbe='black'} +if ($cgi->param("mail") eq ''){ + $error{mail}= "missing mail"; + $mfarbe='red'; +} +elsif ($cgi->param("mail") !~ m/^[a-zA-Z0-9\.-_]*\@\w+\.\w{2,}/){ + $error{mail}="no valid mail"; + $mfarbe='red'; +} +else{$mfarbe='black'} +if ($cgi->param("ort") eq ''){ + $error{ort}= "missing city"; + $ofarbe='red'; +} +else{$ofarbe='black'} +if ($cgi->param("req") eq ''){ + $error{req}="missing request"; + $rfarbe='red'; +} +else{$rfarbe='black'} +if (%error) { + print CGI::header(-type => "text/html", -charset => "utf-8"); + $tt->process("index.html", { + dump => $cgi->Dump(), + now => time(), + error => \%error, + firma => $cgi->param("firma"), + ffarbe=>$ffarbe, + mail => $cgi->param("mail"), + mfarbe=>$mfarbe, + ort => $cgi->param("ort"), + ofarbe=>$ofarbe, + req => $cgi->param("req"), + rfarbe=>$rfarbe, + }) or die $tt->error(); + exit 0; +} # alles ist ok @@ -78,20 +91,19 @@ $ub=new Data::UUID; $uid=$ub->create_str; open (UUID, ">>UUID") or die "$!\n"; -print UUID $uid; +print UUID "$uid\n"; close UUID; ####################### # Auswerten der Daten # # des Web-Formulars # ####################### - my %field = ( firma => $cgi->param('firma'), mail => $cgi->param('mail'), ort => $cgi->param('ort'), - req => $cgi->param('req'), +# req => $cgi->param('req'), ); - +$"=" .:. "; foreach (values %field) { s/\&/\<26\>/g; s/\=/\<3D\>/g; @@ -102,8 +114,10 @@ my $test='test'; open( TEST,"> $test" ) or die "Kann $test nicht öffnen: $!\n"; foreach (sort keys %field) { - print "$_: $field{$_}\n"; + print TEST "$_: $field{$_}\n"; } +print TEST "@req\n"; +print TEST " .:. @req2\n"; close TEST; my @Feldnamen = $cgi->param(); @@ -120,13 +134,14 @@ $req = HTTP::Request->new( "POST", $url ); $req->header( 'Content-Type' => 'text/html' ); $req->accept_decodable; -$req->content("ID=$uid&Name=$field{firma}&Mail=$field{mail}&Test=$field{ort}&req=$field{req}"); +$req->content("id=$uid&firma=$field{firma}&mail=$field{mail}&ort=$field{ort}&req=$requ"); $ua->request($req); print CGI::header(-type => "text/html", -charset => "utf-8"); $tt->process("wait.html",{ uid => $uid }) or die $tt->error; +exit 0; unlink grep { -M > 3/(24*36) } glob("/var/www/tmp/*");