#!/usr/bin/perl use CGI qw(:standard); use DBI; use URI::Escape; $idc=param("idc"); $idinst=param("idinst"); $url=param("url"); $url=~s/\+/ /g; $url=uri_escape($url); $url=~s/\%3A/\:/g; $url=~s/\%2F/\//g; do("./config.cgi"); &AddStat(4,$idc,$idinst); print "content-type:text/html\n\n"; print "
"; $cL->disconnect; sub AddStat { my($modulo,$registro,$idinst)=@_; if ($idinst eq "") {$idinst="null";} if ($registro eq "") {$registro="null";} my $rs=$cL->prepare("select max(id) from statdata"); $rs->execute; my $id=$rs->fetchrow+1; $rs->finish; $cliente=$ENV{'HTTP_USER_AGENT'}; $ip=$ENV{'REMOTE_ADDR'}; $ipl=&ip2long($ip); $sql="select idcliente from clientes where nombre='$cliente'"; $rs=$cL->prepare($sql); $rs->execute; $idcliente=$rs->fetchrow; $rs->finish; if ($idcliente eq "") { $sql="select max(idcliente) from clientes"; $rs=$cL->prepare($sql); $rs->execute; $idcliente=$rs->fetchrow+1; $cL->do("insert into clientes (idcliente,nombre) values ($idcliente,'$cliente')"); } $cL->do("insert into statdata (id,fecha,modulo,registro,idinstitucion,idcliente,ip) values ($id,current_timestamp,$modulo,$registro,$idinst,$idcliente,$ipl)"); } sub ip2long { my($ip_address)=@_; my (@octets,$octet,$ip_number); @octets = split(/\./, $ip_address); $ip_number = 0; foreach $octet (@octets) { $ip_number <<= 8; $ip_number |= $octet; } return $ip_number; }