diff options
Diffstat (limited to 'swigweb/cgi-bin/surveyresponse.pl')
-rw-r--r-- | swigweb/cgi-bin/surveyresponse.pl | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/swigweb/cgi-bin/surveyresponse.pl b/swigweb/cgi-bin/surveyresponse.pl deleted file mode 100644 index 88f116dba..000000000 --- a/swigweb/cgi-bin/surveyresponse.pl +++ /dev/null @@ -1,115 +0,0 @@ -#!/usr/bin/perl - -# This is a CGI script which takes the input from the simple survey submitted in -# survey.html. The user's intended languages and operating systems are stored in -# simple comma separated value files. - -use CGI; -$q = new CGI; - -# Start the response web page -print "Content-type:text/html\n\n"; -print <<EndHTML; -<html><head><title>SWIG Survey Submission</title></head> -<body> -<p/> -<table> <tr> -<td bgcolor="#000000" align=center><font color="#ffffff"><b>SWIG Survey Submission</b></font></td> -</tr> </table> - -EndHTML - - -# Extract all the variables out of the response -$remoteHost = $ENV{'REMOTE_HOST'}; -$remoteAddr = $ENV{'REMOTE_ADDR'}; -$ipAddress = ($remoteHost == '') ? $remoteAddr : $remoteHost; - -$langChicken = $q->param('langChicken'); -$langCSharp = $q->param('langCSharp'); -$langGuile = $q->param('langGuile'); -$langJava = $q->param('langJava'); -$langMzscheme = $q->param('langMzscheme'); -$langOcaml = $q->param('langOcaml'); -$langPerl = $q->param('langPerl'); -$langPhp = $q->param('langPhp'); -$langPike = $q->param('langPike'); -$langPython = $q->param('langPython'); -$langRuby = $q->param('langRuby'); -$langSexp = $q->param('langSexp'); -$langTcl = $q->param('langTcl'); -$langXml = $q->param('langXml'); -$langSpareLang1 = $q->param('langSpareLang1'); -$langSpareLang2 = $q->param('langSpareLang2'); -$langSpareLang3 = $q->param('langSpareLang3'); -$langOtherLang = $q->param('langOtherLang'); - -$namedLanguage = $q->param('namedLanguage'); - -$osBSD = $q->param('osBSD'); -$osHPUX = $q->param('osHPUX'); -$osLinux = $q->param('osLinux'); -$osMacOSX = $q->param('osMacOSX'); -$osSolaris = $q->param('osSolaris'); -$osWindows = $q->param('osWindows'); -$osOtherOS = $q->param('osOtherOS'); - -$namedOS = $q->param('namedOS'); - -# Get log date -($seconds, $minutes, $hours, $day_of_month, $month, $year, $wday, $yday, $isdst) = gmtime; -$logDate = sprintf("%04d/%02d/%02d %02d:%02d", $year+1900, $month+1, $day_of_month, $hours, $minutes); - -# Create new file each month -$fileName = sprintf("../survey/swigsurvey-%04d-%02d.csv", $year+1900, $month+1); - -if (!-e $fileName) { - create_file($fileName); -} - -# Open file for appending and lock it to prevent concurrent access -open(fileOUT, ">>$fileName") or construct_thankyou_page_and_exit(); # We can't log the info if we can't open the file, quietly give up. -flock(fileOUT, 2); -seek(fileOUT, 0, 2); - -# Dump all the surveyed data to file in comma separated value (CSV) format -print fileOUT "$logDate,$ipAddress,"; -print fileOUT "$langChicken,$langCSharp,$langGuile,$langJava,$langMzscheme,$langOcaml,$langPerl,$langPhp,$langPike,$langPython,$langRuby,$langSexp,$langTcl,$langXml,$langSpareLang1,$langSpareLang2,$langSpareLang3,$langOtherLang,$namedLanguage,"; -print fileOUT "$osBSD,$osHPUX,$osLinux,$osMacOSX,$osSolaris,$osWindows,$osSpareOS1,$osSpareOS2,$osSpareOS3,$osOtherOS,$namedOS"; -print fileOUT "\n"; -close(fileOUT); - -# Create html page response -construct_thankyou_page_and_exit(); - -sub create_file($) -{ - my($fileToCreate) = @_; - - open(fileOUT, ">$fileToCreate") or construct_thankyou_page_and_exit(); # We can't log the info if we can't create the file, quietly give up. - - # Generate field heading names - print fileOUT "LogDate,IPAddress,"; - print fileOUT "Chicken,CSharp,Guile,Java,Mzscheme,Ocaml,Perl,Php,Pike,Python,Ruby,Sexp,Tcl,Xml,SpareLang1,SpareLang2,SpareLang3,OtherLang,NamedLanguage,"; - print fileOUT "BSD,HPUX,Linux,MacOSX,Solaris,Windows,SpareOS1,SpareOS2,SpareOS3,OtherOS,NamedOS"; - print fileOUT "\n"; -} - -sub construct_thankyou_page_and_exit -{ - print <<EndHTML; - - Thank you for taking the time to fill out the survey. Please continue to the - <a href="../download.html">Download area</a> or return to the <a href="../index.html">SWIG home</a> page. - </body></html> - -EndHTML - exit; -} - - - - - - - |