#!/usr/bin/perl #AUTHOR: Tekno Inform AS #Creation date: 07.03.03 # # Program to log feedback, på filen # r_.log (snitt + antall) # r2_.log (user-info, to verify uniques) $fpath = $0; while (chop($fpath) ne '\\') {} require "$fpath/cgi-lib.pl"; $logdir="./log/"; # Her er denne .pl fil plassert (www.info.no/log/xxx.pl) $avg=0; # Avg. char MAIN: { #&env; #&check_url(); # Les inn parametre &ReadParse(*input); my $logurl = $input{'url'}; my $ratex = $input{'rate'}; print "Content-type: text/html\n\n"; print '



'; $result1="

Snittkarakteren er 6,1  (av 10) den 15.mai 2003."; $result2="

Den siste stemmen din innen hver kalendermåned hensyntas, IP nr. sjekkes."; $result2.="
Dermed kan du gi en foreløbig karakter og endre dette senere!"; # Log if character given! if ($logurl ne "" && $ratex ne "") { # Log user & resource &date(); # Get date my $feedbfilex="r_".$logurl.".log"; # Logfile, ie. r_info_no my $feedfile2="r2_".$logurl.".log"; # Logfile, ie. r2_info_no &log_feedback($feedbfilex,$ratex); &log_feeduser($feedfile2, $ratex); #my $userfile = $logurl.'_user.log'; # File, logg user activities #my $countfile=$logurl."_count.log"; # Logfile, ie. go_r102.log #&log_user($userfile,0); # #&log_resource($countfile); #print "Takk for din feedback. Snittkarakter er ".$avg; print $result1; print "

Takk for din stemme, som vil regnes inn i totalen snart!"; print $result2; } elsif ($ratex eq ""){print $result1; print $result2;} else {print "Ukjent feil, din stemme ble ikke tatt med. Vennligst prøv en gang til!";} #Missing IP for some reason! print '
'; } ############################## sub log_feedback{ ############################## my $filnavn=shift; #fil $filnavn=$logdir.''.$filnavn; my $rate=shift; #Karakter rating my $numbers=""; #if ($resource eq "") {$resource="000";}; # No rsource if (open(FIL, "<$filnavn")) { $avg=; $numbers=; my $total = eval($avg*$numbers+$rate); $numbers++; # Incr. $avg=eval($total/$numbers); close(FIL); } else { # Assume first time for ths file $avg=$rate; $numbers=1; } if (open(FIL, ">$filnavn")) { print FIL "$avg\n"; print FIL "$numbers\n"; close(FIL); } return; } ############################## sub log_feeduser{ ############################## my $filnavn=shift; #fil $filnavn=$logdir.''.$filnavn; my $rate=shift; #Karakter rating #my $filnavn=$_[0]; #my $rate=$_[1]; #feedback # Read "alle" the environment variables $document_root=$ENV{'DOCUMENT_ROOT'}; # Root directory of your server. $http_cookie=$ENV{'HTTP_COOKIE'}; # Visitor's cookie (if set). $http_host=$ENV{'HTTP_HOST'}; # Hostname of your server. $https=$ENV{'HTTPS'}; # ON if called through a secure server. $path=$ENV{'PATH'}; # Systems path your server runs under. $query_string=$ENV{'QUERY_STRING'}; # The query data (used with GET). $http_referer=$ENV{'HTTP_REFERER'}; # Ref. path $remote_host=$ENV{'REMOTE_HOST'}; # Hostname of visitor. $remote_port=$ENV{'REMOTE_PORT'}; # Port the visitor is connected to on web server. $remote_user=$ENV{'REMOTE_USER'}; # Visitor's username. $request_method=$ENV{'REQUEST_METHOD'}; # GET or POST $request_uri=$ENV{'REQUEST_URI'}; # Interpreted pathname of requested document. $script_filename=$ENV{'SCRIPT_FILENAME'}; # Full pathname of current CGI page. $script_name=$ENV{'SCRIPT_NAME'}; # Interpreted pathname of current CGI (relative to root). $server_admin=$ENV{'SERVER_ADMIN'}; # Email address for your server's webmaster. $server_name=$ENV{'SERVER_NAME'}; # Your server's domain name. $server_port=$ENV{'SERVER_PORT'}; # Port number your server is listening on. $server_software=$ENV{'SERVER_SOFTWARE'}; # Server software being used (ex. Apache 1.3) #Language codes my $http_lang=$ENV{'HTTP_ACCEPT_LANGUAGE'}; # Language code # = no,en-us;q=0.8,en-gb;q=0.6,sv;q=0.4,de;q=0.2 my $lang=substr($http_lang,0,2); #if (substr($http_lang,0,2) eq "no" ) {$lang="no";} #elsif (substr($http_lang,0,2) eq "se" ) {$lang="no";} #elsif (substr($http_lang,0,2) eq "dk" ) {$lang="no";} #else {$lang="en";} #; if ("$remote_host" ne "x80.202.86.146") { # Do not log my own searches from this IP my $string="D:$date T:$time IP:$remote_host"; if ($rate ne "") {$string.=' Rate:'.$rate;}; #if ($remote_host ne $remote_addr) {$string.=' Host:'.$remote_host;}; if ($remote_user ne "") {$string.=' User:'.$remote_user;}; $string.=' L:'.$lang; # Language if ($remote_port ne "") {$string.=' Rport:'.$remote_port;}; if ($server_port ne "80") {$string.=' Sport:'.$server_port;}; if ($server_admin_user ne "") {$string.=' Sadm:'.$server_admin;}; if (($http_referer ne "http://info.no/") && ($http_referer ne "http://www.info.no")&& ($http_referer ne "http://www.info.no/") && (($http_referer ne "") && ($remote_addr ne "80.202.86.146"))) {$string.=' Ref:'.$http_referer;}; if (($server_name ne "www.info.no") && ($server_name ne "info.no")) {$string.=' Snam:'.$server_name;}; if ($request_uri ne "") {$string.=' uri:'.$request_uri;}; if ($script_filename ne "") {$string.=' scrfilname:'.$script_filename;}; if ($script_name ne "/go.pl") {$string.=' scrname:'.$script_name;}; if ($server_software ne "") {$string.=' ssw:'.$server_software;}; $string.=' q:'.$query_string; #$string.=" /n"; # End-of-record string my $open="true"; open(FIL, ">>$filnavn") || warn "error fileaccess"; # >Writ >> Add || die or warn if ($open eq "true") { print FIL "$string\n"; # With newline close(FIL) || warn ""; # Warn or Die } } #return $teller; return; } # sub juster_teller sub date { ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time+$addsecs); @months = ("01","02","03","04","05","06","07","08","09","10","11","12"); @days = ("Sun","Mon","Tue","Wed","Thu","Fri","Sat"); if ($sec < 10) {$sec = "0$sec";} if ($min < 10) {$min = "0$min";} if ($hour < 10) {$hour = "0$hour";} if ($hour > 11) {$ap = "PM";} if ($hour < 12) {$ap = "AM";} if ($mday < 10) {$mday = "0$mday";} $year+=1900; #$date = "@days[$wday] @months[$mon]/$mday/$year"; #$time = "$hour:$min:$sec $ap"; $date = "$year-@months[$mon]-$mday @days[$wday] "; $time = "$hour:$min:$sec"; return; }