8 use Net::SCP; |
8 use Net::SCP; |
9 use Template; |
9 use Template; |
10 use Cwd; |
10 use Cwd; |
11 use FindBin qw($RealBin); |
11 use FindBin qw($RealBin); |
12 use Data::UUID; |
12 use Data::UUID; |
13 |
13 my $requ; |
14 my $cgi = new CGI; |
14 my $cgi = new CGI; |
15 my $tt = Template->new({INCLUDE_PATH => "$RealBin/../templates"}) |
15 my $tt = Template->new({INCLUDE_PATH => "$RealBin/../templates"}) |
16 or die "Can't create template object: $Template::ERROR\n"; |
16 or die "Can't create template object: $Template::ERROR\n"; |
17 |
17 |
|
18 my $reset='<input type="reset">'; |
18 if (!$cgi->param("_submit")) { |
19 if (!$cgi->param("_submit")) { |
19 |
20 |
20 print CGI::header(-type => "text/html", -charset => "utf-8"); |
21 print CGI::header(-type => "text/html", -charset => "utf-8"); |
21 |
22 |
22 $tt->process("index.html"); |
23 $tt->process("index.html",{ |
|
24 reset => $reset, |
|
25 }); |
23 exit 0; |
26 exit 0; |
24 } |
27 } |
25 |
28 |
26 # formular wurde ausgefuellt, wir muessen es pruefen und evtl. noch mal |
29 # formular wurde ausgefuellt, wir muessen es pruefen und evtl. noch mal |
27 # anzeigen |
30 # anzeigen |
28 |
31 |
29 # CHECK |
32 # CHECK |
30 |
33 my @req =$cgi->param("req"); |
31 my (%error, $ffarbe, $ofarbe, $mfarbe, $rfarbe); |
34 foreach (@req){ |
32 if ($cgi->param("firma") eq ''){ |
35 s/\r\n/\<n\>/g; |
33 $error{firma} = "missing company"; |
36 } |
34 $ffarbe='rot'; |
37 $requ=join(" ",@req); |
35 } |
38 open (OUT,">req"); |
36 else{$ffarbe='black'} |
39 print OUT "@req"; |
37 if ($cgi->param("mail") eq ''){ |
40 close OUT; |
38 $error{mail}= "missing mail"; |
41 open (IN,"<req"); |
39 $mfarbe='red'; |
42 my @req2=<IN>; |
40 } |
43 close IN; |
41 elsif ($cgi->param("mail") !~ m/^[a-zA-Z0-9\.-_]*\@\w+\.\w{2,}/){ |
44 my (%error, $ffarbe, $ofarbe, $mfarbe, $rfarbe); |
42 $error{mail}="no valid mail"; |
45 if ($cgi->param("firma") eq ''){ |
43 $mfarbe='red'; |
46 $error{firma} = "missing company"; |
44 } |
47 $ffarbe='red'; |
45 else{$mfarbe='black'} |
48 } |
46 if ($cgi->param("ort") eq ''){ |
49 else{$ffarbe='black'} |
47 $error{ort}= "missing city"; |
50 if ($cgi->param("mail") eq ''){ |
48 $ofarbe='red'; |
51 $error{mail}= "missing mail"; |
49 } |
52 $mfarbe='red'; |
50 else{$ofarbe='black'} |
53 } |
51 if ($cgi->param("req") eq ''){ |
54 elsif ($cgi->param("mail") !~ m/^[a-zA-Z0-9\.-_]*\@\w+\.\w{2,}/){ |
52 $error{req}="missing request"; |
55 $error{mail}="no valid mail"; |
53 $rfarbe='red'; |
56 $mfarbe='red'; |
54 } |
57 } |
55 else{$rfarbe='black'} |
58 else{$mfarbe='black'} |
56 if (%error) { |
59 if ($cgi->param("ort") eq ''){ |
57 print CGI::header(-type => "text/html", -charset => "utf-8"); |
60 $error{ort}= "missing city"; |
58 $tt->process("index.html", { |
61 $ofarbe='red'; |
59 dump => $cgi->Dump(), |
62 } |
60 now => time(), |
63 else{$ofarbe='black'} |
61 error => \%error, |
64 if ($cgi->param("req") eq ''){ |
62 firma => $cgi->param("firma"), |
65 $error{req}="missing request"; |
63 ffarbe=>$ffarbe, |
66 $rfarbe='red'; |
64 mail => $cgi->param("mail"), |
67 } |
65 mfarbe=>$mfarbe, |
68 else{$rfarbe='black'} |
66 ort => $cgi->param("ort"), |
69 if (%error) { |
67 ofarbe=>$ofarbe, |
70 print CGI::header(-type => "text/html", -charset => "utf-8"); |
68 req => $cgi->param("req"), |
71 $tt->process("index.html", { |
69 rfarbe=>$rfarbe, |
72 dump => $cgi->Dump(), |
70 }) or die $tt->error(); |
73 now => time(), |
71 exit 0; |
74 error => \%error, |
72 } |
75 firma => $cgi->param("firma"), |
|
76 ffarbe=>$ffarbe, |
|
77 mail => $cgi->param("mail"), |
|
78 mfarbe=>$mfarbe, |
|
79 ort => $cgi->param("ort"), |
|
80 ofarbe=>$ofarbe, |
|
81 req => $cgi->param("req"), |
|
82 rfarbe=>$rfarbe, |
|
83 }) or die $tt->error(); |
|
84 exit 0; |
|
85 } |
73 |
86 |
74 # alles ist ok |
87 # alles ist ok |
75 |
88 |
76 my ($uid, $url, $ua, $ub, $req); |
89 my ($uid, $url, $ua, $ub, $req); |
77 |
90 |
78 $ub=new Data::UUID; |
91 $ub=new Data::UUID; |
79 $uid=$ub->create_str; |
92 $uid=$ub->create_str; |
80 open (UUID, ">>UUID") or die "$!\n"; |
93 open (UUID, ">>UUID") or die "$!\n"; |
81 print UUID $uid; |
94 print UUID "$uid\n"; |
82 close UUID; |
95 close UUID; |
83 ####################### |
96 ####################### |
84 # Auswerten der Daten # |
97 # Auswerten der Daten # |
85 # des Web-Formulars # |
98 # des Web-Formulars # |
86 ####################### |
99 ####################### |
87 |
|
88 my %field = ( |
100 my %field = ( |
89 firma => $cgi->param('firma'), |
101 firma => $cgi->param('firma'), |
90 mail => $cgi->param('mail'), |
102 mail => $cgi->param('mail'), |
91 ort => $cgi->param('ort'), |
103 ort => $cgi->param('ort'), |
92 req => $cgi->param('req'), |
104 # req => $cgi->param('req'), |
93 ); |
105 ); |
94 |
106 $"=" .:. "; |
95 foreach (values %field) { |
107 foreach (values %field) { |
96 s/\&/\<26\>/g; |
108 s/\&/\<26\>/g; |
97 s/\=/\<3D\>/g; |
109 s/\=/\<3D\>/g; |
98 s/\%/\<25\>/g; |
110 s/\%/\<25\>/g; |
99 s/\+/\<2B\>/g; |
111 s/\+/\<2B\>/g; |
100 s/\r\n/\n/g; |
112 s/\r\n/\n/g; |
101 } |
113 } |
102 my $test='test'; |
114 my $test='test'; |
103 open( TEST,"> $test" ) or die "Kann $test nicht öffnen: $!\n"; |
115 open( TEST,"> $test" ) or die "Kann $test nicht öffnen: $!\n"; |
104 foreach (sort keys %field) { |
116 foreach (sort keys %field) { |
105 print "$_: $field{$_}\n"; |
117 print TEST "$_: $field{$_}\n"; |
106 } |
118 } |
|
119 print TEST "@req\n"; |
|
120 print TEST " .:. @req2\n"; |
107 close TEST; |
121 close TEST; |
108 my @Feldnamen = $cgi->param(); |
122 my @Feldnamen = $cgi->param(); |
109 |
123 |
110 ####################### |
124 ####################### |
111 # Senden der Daten # |
125 # Senden der Daten # |