Contador de descargas de archivos

En modulo de sitio

===============

if (isset($g) and isset($i)) {

$db=new DB_AA;
$short_id= $i;#i trae el shortid del item
$campo=split('/',$g);#g trae el url del archivo
$file=$campo[count($campo)-1];
$FILES_DIR="/img_upload/d50b9481e4320dc850313baa3d4545e2/";

if(empty($file)) {
echo "No File Specified";
exit;
}
if(strpos($file, "..") !== FALSE) {
echo "HACK ATTEMPT!";
exit;
}
if(strpos($file, "://") !== FALSE) {
echo "Invalid File";
exit;
}

$cookie = urlencode(str_replace(".", "_", $file)); //cookie fix

$select = "SELECT * FROM dl_count WHERE file = '$file'";
$db->query($select);

if($db->num_rows()==0) {
//first use of this file
$insert = "INSERT INTO dl_count VALUES('$short_id','$file', 1)";
$db->query($insert);
setcookie("dl_" . $cookie, "set", time() + 60*60*24*365);
} else {
if(!isset($_COOKIE['dl_' . $cookie])) {
$update = "UPDATE dl_count SET contador = contador + 1 WHERE file = '$file'";
$result = $db->query($update);
setcookie("dl_". $cookie, "set", time() + 60*60*24*365);
}

}

print "window.location.href='".$FILES_DIR.$file."'";break;

}

====================

En usr_aliasfnc.php3

================

function usr_showcount ($columns, $col, $param)
{
$op=new DB_AA;
$campo = $columns[$col][0][value];
$parametros = split(":",$param);
$nomfunc=$parametros[0];
$id=$parametros[1];
$selectcount = "SELECT contador FROM dl_count WHERE short_id = '$id'";
$op->query($selectcount);
if($op->next_record()){
$result=$op->f('contador');
}
return $result;
}

===============================

En Administrador de items

==============================

_#TITULAR_ {alias:headline........:f_u:usr_showcount:_#SITEM_ID}_#FECHAPUB

================================

En vista

===================================

_#TITULAR__#SUBTITUT

=======================================
En la base de datos
=======================================

CREATE TABLE `dl_count` (
`short_id` int(11) NOT NULL default '0',
`file` varchar(128) NOT NULL default '',
`contador` int(11) NOT NULL default '0',
KEY `short_id` (`short_id`)
) TYPE=MyISAM;