You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
2.6 KiB
92 lines
2.6 KiB
#!/usr/bin/perl
|
|
#
|
|
# $Id: visitor.pl,v 1.5 2006/01/23 21:39:30 ddoughty Exp $
|
|
#
|
|
# Another test. Yes.
|
|
#
|
|
# Source File: visitor.pl
|
|
|
|
# Get config
|
|
require 'sitecfg.pl';
|
|
require 'testlib.pl';
|
|
|
|
&traceoutput("visitor.pl:$ENV{'HTTP_REFERER'}"); # TRACE IF ACTIVE
|
|
|
|
&app_initialize;
|
|
|
|
print "Content-Type: text/html\n\n";
|
|
|
|
$mtime = time;
|
|
$today = &format_date_time("yyyy-mm-dd hh:nn:ss GMT", "1", "-10000", $mtime);
|
|
|
|
$stdvisitorlog = join($pathsep, $secroot, "visitsstd.dat");
|
|
$clidvisitorlog = join($pathsep, $secroot, "visits$FORM{'clid'}.dat");
|
|
$defaultvisitlog = join($pathsep, $secroot, "visits.dat");
|
|
|
|
$msg = "";
|
|
if (($FORM{'clid'} eq '') || ($FORM{'clid'} eq 'sacc') || ($FORM{'clid'} eq 'std')) {
|
|
open(VSTLOG,"<$stdvisitorlog") or $msg="not found";
|
|
if ($msg eq "not found") {
|
|
$makeok = &make_file($stdvisitorlog, $defaultvisitlog, 1);
|
|
$msg = ($makeok == 1) ? "" : "failed";
|
|
open(VSTLOG,"<$stdvisitorlog") or $msg="not found";
|
|
}
|
|
if ($msg eq '') {
|
|
@visits = <VSTLOG>;
|
|
close VSTLOG;
|
|
}
|
|
$litmplt = "shome";
|
|
} else {
|
|
open(VSTLOG,"<$clidvisitorlog") or $msg="not found";
|
|
if ($msg eq "not found") {
|
|
$makeok = &make_file($clidvisitorlog, $stdvisitorlog, 1);
|
|
$msg = ($makeok == 1) ? "" : "failed";
|
|
open(VSTLOG,"<$clidvisitorlog") or $msg="not found";
|
|
}
|
|
if ($msg eq '') {
|
|
@visits = <VSTLOG>;
|
|
close VSTLOG;
|
|
}
|
|
$litmplt = "cindex";
|
|
$SESSION{'clid'} = $FORM{'clid'};
|
|
&get_client_profile($FORM{'clid'});
|
|
}
|
|
if ($FORM{'lang'} eq '') {
|
|
$lastvisit = -1;
|
|
for (1 .. $#visits) {
|
|
@entries = split(/&/, $visits[$_]);
|
|
if ($entries[1] eq $ENV{'REMOTE_ADDR'}) {
|
|
$lastvisit = $_;
|
|
}
|
|
}
|
|
if ($lastvisit == -1) {
|
|
@languages=split(/\,/,$ENV{'HTTP_ACCEPT_LANGUAGE'});
|
|
if ($languages[0] eq 'en') {$languages[0]="enu";}
|
|
if ($languages[0] eq 'en-us') {$languages[0]="enu";}
|
|
if ($languages[0] eq 'ar') {$languages[0]="arb";}
|
|
if ($LANGUAGE_ID{$languages[0]} ne '') {
|
|
$FORM{'lang'} = $languages[0];
|
|
}
|
|
} else {
|
|
@visitdata = split(/&/, $visits[$lastvisit]);
|
|
$idx = $#visitdata - 1;
|
|
$FORM{'lang'} = $visitdata[$idx];
|
|
@visitdata = ();
|
|
}
|
|
}
|
|
@visits = ();
|
|
|
|
&LanguageSupportInit();
|
|
|
|
$visitrec = join('&',$today,$ENV{'REMOTE_ADDR'},$ENV{'REMOTE_PORT'},$ENV{'HTTP_ACCEPT_LANGUAGE'},$ENV{'HTTP_USER_AGENT'},$SESSION{'lang'},"");
|
|
if (($FORM{'clid'} eq '') || ($FORM{'clid'} eq 'sacc') || ($FORM{'clid'} eq 'std')) {
|
|
open(VSTLOG,">>$stdvisitorlog");
|
|
} else {
|
|
open(VSTLOG,">>$clidvisitorlog");
|
|
}
|
|
print VSTLOG "$visitrec\n";
|
|
close VSTLOG;
|
|
|
|
$SESSION{'browserapp'} = ($ENV{'HTTP_USER_AGENT'} =~ /MSIE/ ) ? "MSIE" : "NSNV";
|
|
&traceoutput("visitor.pl:$litmplt"); # TRACE IF ACTIVE
|
|
&show_template($litmplt);
|
|
|