source: trunk/gsdl/cgi-bin/perl.cgi@ 4090

Last change on this file since 4090 was 4088, checked in by dana, 21 years ago

obfuscation code for IP addrs in report ID number added

  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 3.5 KB
Line 
1#!/usr/bin/perl
2
3use usabcgi;
4
5print "Content-type:text/html\n\n";
6
7
8
9
10$idno=$ENV{REMOTE_ADDR};
11$idno =~ s/\.//g;
12$idno =~ tr/0123456789/1357902468/;
13$idno .= time;
14
15print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
16print "<html>\n<head>\n<title>Greenstone Usability Thank you!</title>\n";
17print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n";
18
19usabcgi::printstyle($ENV{HTTP_USER_AGENT});
20usabcgi::printscript;
21#print "timeleft=21;\n";
22#print "function timerdisplay(){\n";
23#print "\tif(eval(document.getElementById != undefined )){\n";
24#print "\t\tif(parseInt(timeleft)>0){\n";
25#print "\t\t\ttimeleft-=1;\n";
26#print "\t\t\ttimeforscreen = timeleft+\' second\';\n";
27#print "\t\t\tif(timeleft>1)\{ timeforscreen += \'s\';\}\n";
28#print "\t\t\t\tdocument.getElementById(\'timer\').firstChild.nodeValue=timeforscreen;\n";
29#print "\t\t\t\tsetTimeout(\'timerdisplay()\',1000);\n";
30#print "\t\t}\n";
31#print "\t}\n";
32#print "}\n";
33#print "\n";
34
35print "</head><body onLoad=\"if(parseInt(navigator.appVersion)>3)\{window.resizeTo(420,300);\}\" bgcolor=\"#FFFFFF\">\n";
36
37($imageloc) = usabcgi::get_config_info("httpimg");
38if(!($imageloc =~ "http")) {$imageloc="http://".$ENV{HTTP_HOST}.$imageloc;}
39print "<table width=\"400px\"><tr>\n<td><h1>Greenstone Usability - Thank you</h1></td>\n";
40print "<td align=\"right\">";
41if ($imageloc) { print "<img src=\"$imageloc\/usabbanner.gif\" alt=\"Greenstone koru design\" title=\"Greenstone koru design\">"; }
42print "</td>\n</tr></table>";
43
44($fileoutloc) = usabcgi::get_config_info("gsdlhome");
45if(!($fileoutloc =~/\/$/)) {$fileoutloc.="/";}
46$fileoutloc .= "etc/usability.txt";
47
48if(!(-e $fileoutloc)){
49 open FILEOUT, (">>$fileoutloc");
50}
51else {
52 open FILEOUT, (">$fileoutloc");
53}
54
55usabcgi::printaplinks;
56print "<p>Your comments have been noted. <p>Thank you for helping us make Greenstone more usable.";
57print "<table width=\"400px\"><tr>\n";
58print "<td class=\"sans\"><a href=\"readresults.cgi?$idno\" target=\"_blank\">View report details</a></td>\n";
59print "<td class=\"sans\"><a href=\"http://nzdl2.cs.waikato.ac.nz/dana/gsdl/test.html\" target=\"_blank\">Track report</a></td>";
60print "<td align=\"right\"><form action=\"\"><button type=\"button\" onClick=\"window.close();\"><b>Close Window</b></button></form></td>\n";
61print"</tr></table>\n";
62
63
64#print "<h2>Your report ID number is: $idno</h2>";
65#print "<p>The information has now been sent, thank-you. The information sent is displayed below. This window will close automatically after <span id=\"timer\">20 seconds</span>.";
66read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
67@pairs=split(/&/,$buffer);
68
69foreach $pair (@pairs) {
70 ($name, $value) = split(/=/,$pair);
71 $value=~ tr/+/ /;
72 $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
73 $FORM{$name} = $value;
74}
75
76
77
78if (-e $fileoutloc){
79 open FILEOUT, (">>$fileoutloc");
80}
81else { open FILEOUT, (">$fileoutloc") or print "cannot open file $fileoutloc\n"; }
82#print FILEOUT "-------------------------------------\n";
83print FILEOUT "report-id := $idno\&usabend;\n";
84foreach $key (keys(%FORM)) {
85 if($key eq "URL") {
86 $url = $FORM{$key};
87 $url =~s/\&/\&amp\;/g;
88 }
89 print FILEOUT "$key := $FORM{$key}\&usabend;\n";
90}
91print FILEOUT "browser-read-by-server := $ENV{HTTP_USER_AGENT}\&usabend;\n";
92print FILEOUT "browser-ip-no := $ENV{REMOTE_ADDR}\&usabend;\n";
93print FILEOUT "server-ip-no := $ENV{SERVER_ADDR}\&usabend;\n";
94print FILEOUT "time := ".scalar(localtime(time))."\&usabend;\n";
95print FILEOUT "----------------------------------------------\n";
96close (FILEOUT);
97
98
99print"</body></html>\n";
100
Note: See TracBrowser for help on using the repository browser.