#!/usr/bin/perl ########## Initialise. ##### Need XML::Parser. use XML::Parser; ##### Need Fcntl. use Fcntl; ##### Assign Handlers to the XML Parser. $p = new XML::Parser(Handlers => {Start => \&fl_xmlcgistart, End => \&fl_xmlcgiend, Char => \&fl_xmlcgichar}); ##### Parse the file. $infile = ${ENV{'ONEGATE_INFILE'}}; die("Not run by OneGate!\n") unless defined(${infile}); $p->parsefile(${infile}); ##### Open output file. $outfile = ${ENV{'ONEGATE_OUTFILE'}}; die("Not run by OneGate!\n") unless defined(${outfile}); $file_err = 0; sysopen(OUTFILE,${outfile},O_CREAT|O_WRONLY,0600) or die("Unable to open file!\n"); ##### Output example. print OUTFILE <<'END_OF_HEAD';
The following table lists the data you submitted to the OneGate QuickTest2 application:
| Field Name | Attributes | Values |
|---|---|---|
| ${field} | "); print OUTFILE ("\n");
undef $outaline;
undef $outvline;
foreach $one (fl_getcgifieldattrs(${field})) {
$one = join("=",split(/\001/,${one}));
if (defined(${outaline}) and ${outaline} !~ /^$/) {
$outaline .= " ${one}"; } else { $outaline = ${one}; } } $outaline = ' ' unless defined(${outaline}) and ${outaline} !~ /^$/; print OUTFILE (${outaline},"\n"); print OUTFILE (" | \n");
foreach $one (fl_getcgifieldvals(${field})) {
${one} =~ s/.*\/(.*)$/...\/[secure_spool_path]\/$1/ if ${one} =~ /\.up\d+/;
if (defined(${one}) and ${one} !~ /^[\r\n]*$/) {
$one =~ s/&/&/g;
$one =~ s/</g;
$one =~ s/>/>/g;
$one =~ s/"/"/g;
$outvline .= ${one};
} else {
$outvline .= ' ',${outvline}," | \n"); } print OUTFILE <<'END_OF_TAIL';