#!/usr/bin/perl

use strict;
use warnings;
use CGI;
use CGI::Carp qw(fatalsToBrowser);
use Net::SCP;

my (
    $Daten, $value, $name, $text,  $anhang, $input,
    $q,     $key,   $wert, $param, %result, $uid
);
my @Formularfelder;
my %field;
read( STDIN, $Daten, $ENV{'CONTENT_LENGTH'} );
&verarbeiten;

sub verarbeiten {
    @Formularfelder = split( /&/, $Daten );
   foreach my $Feld (@Formularfelder) {
        ( $name, $value ) = split( /=/, $Feld );
        	$value =~ tr/+/ /;
        	$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
		$value =~ s/\<3D\>/\=/g;
		$value =~ s/\<25\>/\%/g;
		$value =~ s/\<2B\>/\+/g;
		$value =~ s/\<26\>/\&/g;
		$value =~ s/\<n\>/\\n/g;
		$field{$name} = $value;
    }
}


#$"=" .:. ";
$uid=$field{id};
chomp ($uid);
open (OUT,">/var/www/tmp/$uid") or die "$!\n";
print OUT "\@schluessel:\t=\t\@werte:\n";
print OUT "------------\t\t-------\n\n";
foreach (sort keys %field) {
	print OUT "$_:\t\t\t $field{$_}\n";
}
print OUT $Daten;
close OUT;

my $scp=Net::SCP->new();
$scp->scp("/var/www/tmp/$uid",'root@192.168.0.138:/var/www/download/');
#unlink grep { -M > 3/(24*36) } glob("/var/www/tmp/*");
__END__

#$uid=$Formular{ID};
#chomp$uid;
#my @test=$Formular{req};
#my @schluessel = keys(%Formular);
#@schluessel = reverse @schluessel;
#my @values = values(%Formular);
#@values = reverse @values;

# Test
my $x=0;
open( OUT, ">/var/www/$uid.html" );
print OUT (
'<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US"><head>
<title>CGI-Feedback</title><body><h1>CGI-Feedback vom Programm  <i>recieve</i></h1>'
);
foreach (@schluessel) {
    print OUT ( '<p><B>Feldname: </B>'
          . $schluessel[$x]
          . ' <B> Inhalt: </B>'
          . $values[$x]
          . '<br>' );
    $x++;
}
print OUT ('</body></html>');
close OUT;

# Folgend Test-Script

#if ($Formular{req} ne ''){
#	open (OUT, ">$uid.pem");
#	print OUT "$Formular{req}";
#	close OUT;
#}
