fcc6dba75ad852dbc77d53999d574845c4c9f500 hiram Wed Feb 16 20:20:59 2022 -0800 the CGI receiver for the GenArk request page refs #28930 diff --git src/hg/gar/gar.cgi.pl src/hg/gar/gar.cgi.pl new file mode 100755 index 0000000..3240989 --- /dev/null +++ src/hg/gar/gar.cgi.pl @@ -0,0 +1,75 @@ +#!/usr/bin/perl +## +## gar -- GenArk Request - receive requests for GenArk assemblies +## + +use URI::Escape; + +# use strict; +# use warnings; + +print "Content-type: text/html\n\n"; + +print "<HTML><HEAD><TITLE>GenArk Request assembly build</TITLE></HEAD>\n"; +print "<BODY>\n"; + +# QUERY_STRING name=some%20name&email=some@email.com&asmId=GCF_000951035.1_Cang.pa_1.0 + +my %incoming = ( + "name" => "noName", + "email" => "noEmail", + "asmId" => "noAsmId", + "betterName" => "noBetterName", + "comment" => "noComment", +); + +if (defined($ENV{"QUERY_STRING"})) { + my $qString = $ENV{"QUERY_STRING"}; + my @idVal = split("&", $qString); + foreach $id (@idVal) { + my ($tag, $value) = split("=", $id, 2); + $incoming{$tag} = uri_unescape( $value ) if (defined($value)); + } +} + +printf "<ul>\n"; +printf "<li> name: '%s'</li>\n", $incoming{"name"}; +printf "<li>email: '%s'</li>\n", $incoming{"email"}; +printf "<li>asmId: '%s'</li>\n", $incoming{"asmId"}; +printf "<li>betterName '%s'</li>\n", $incoming{"betterName"}; +printf "<li>comment '%s'</li>\n", $incoming{"comment"}; +printf "</ul>\n"; + +my $DS=`date "+%F %T"`; +chomp $DS; + +open (FH, "|/usr/sbin/sendmail -t -oi"); +printf FH "To: hclawson\@ucsc.edu +From: %s +Subject: gar request: %s + +name: '%s' +email: '%s' +asmId: '%s' +betterName: '%s' +comment: '%s' + +date: '$DS' +", $incoming{"email"}, $incoming{"asmId"}, $incoming{"name"}, $incoming{"email"}, $incoming{"asmId"}, $incoming{"betterName"}, $incoming{"comment"}; + +close (FH); + +print "</body></html>\n"; + +__END__ + +print "<TABLE><TR><TH COLSPAN=2>hgwdev-hiram CGI gar</TH></TR>\n"; + +foreach $var (sort(keys(%ENV))) { + $val = $ENV{$var}; + $val =~ s|\n|\\n|g; + $val =~ s|"|\\"|g; + print "<TR><TH>${var}</TH><TD>${val}</TD></TR>\n"; +} +print "</TABLE>\n"; +print "</body></html>\n";