// **************************************************************************************
// * Contador de visitas de web
// * Autor: Pau Ruiz Pérez
// * Fecha: 2008-07-28
// * Requerimientos: GD (Gestión de imágenes)
// * Parámetros: IntCounter
// **************************************************************************************
$StrDbUsr = 'usr_counter';
$StrDbPwd = 'Ab9b7kaj23aja1';
$ArrStyles = array('0', '1');
header('Content-type: image/png');
session_start();
$IntCounter = $_GET['IntCounter'] * 1;
if(isset($_GET['IntStyle'])){
$IntStyle = $_GET['IntStyle'] * 1;
if(!in_array($IntStyle, $ArrStyles))
$IntStyle = 0;
}else
$IntStyle = 0;
@mysql_connect('localhost', $StrDbUsr, $StrDbPwd)
or $IntCounter = 0; // Nos protegemos por si no nos podemos conectar con la base de datos.
@mysql_select_db('plesk_DBCOUNTER');
function int_num_digits($IntNum) {
$IntNum = abs($IntNum);
$IntDigits = 0;
for($IntDigits=0;$IntNum>0;$IntDigits++){
//echo 'Numero: ' . $IntNum . '
';
$IntNum = floor($IntNum/10);
}
if($IntDigits==0) $IntDigits = 1;
return $IntDigits;
}
$IntVisits = 0;
if($IntCounter!=0){
$SessVisits = 'IntVisits' . $IntCounter;
session_register($SessVisits);
if($_SESSION[$SessVisits]>0){
$IntVisits = $_SESSION[$SessVisits];
}else{
$IntVisits = 0;
$QryTmp = mysql_query('SELECT INTVISITS FROM TBLCOUNTERS WHERE INTIDCOUNTER = ' . $IntCounter);
echo mysql_error();
if($row = @mysql_fetch_assoc($QryTmp)){
$IntVisits = $row['INTVISITS']+1;
mysql_query('UPDATE TBLCOUNTERS SET INTVISITS = ' . $IntVisits . ' WHERE INTIDCOUNTER = ' . $IntCounter . ';');
echo mysql_error();
$_SESSION[$SessVisits] = $IntVisits;
}
}
}
//echo 'Counter: ' . $IntCounter . '. Visitas: ' . $IntVisits . "
\n";
$IntNumDigits = int_num_digits($IntVisits);
//echo 'Número: ' . $IntVisits . 'Digitos: ' . $IntNumDigits . '
';
$IntSizeImg = 15; // Tamaño de los dígitos
$ImgDst = imagecreatetruecolor($IntSizeImg*$IntNumDigits, 20);
$IntNum = $IntVisits;
for($i=0;$i<$IntNumDigits;$i++,$IntNum=floor($IntNum/10)){
$ImgDigit = imagecreatefrompng('./img/' . $IntStyle . '/' . ($IntNum%10) . '.png');
imagecopy($ImgDst, $ImgDigit, $IntSizeImg*($IntNumDigits-$i-1),0, 0, 0, 15, 20);
}
imagepng($ImgDst);