


Add following extra section to typo3conf/ext/cc_awstats/awstats/awstats.conf
ExtraSectionName1="Top Downloads"
ExtraSectionCodeFilter1="200"
ExtraSectionCondition1="URL,\.(pdf|doc|zip|xls|ppt|csv|jpg)$"
ExtraSectionFirstColumnTitle1="URL"
ExtraSectionFirstColumnValues1="URL,(.*)"
ExtraSectionStatTypes1=PHB
MaxNbOfExtra1=100
MinHitExtra1=1
Add to your typoscript setup following for the content type text
tt_content.text.20.parseFunc.tags { link.stripNL = 0 link = PHP_SCRIPT link.file = fileadmin/scripts/tags.php }
file file leadmin/scripts/tags.php, rewrites all links to fileadmin
<?
$GLOBALS["TSFE"]->set_no_cache();
$params=explode(' ',$this->parameters['allParams']);
$link['parameter']=$params[0];
$link['target']=$params[1];
$this->linkCounter++;
if(substr($params[0],0,10)=='fileadmin/'){
$link['parameter']='fileadmin/count.php?f='.urlencode($params[0]);;
}
$content.=$this->typolink($this->getCurrentVal(),$link);
?>
file fileadmin/count.php, writes download to log file. logFile is the same as the file in config.stat_apache_logfile.
<?
$logFile='stat_apache.log';
$fileName=urldecode($_GET['f']);
$referer=getEnv('HTTP_REFERER');
$ua=getEnv('HTTP_USER_AGENT');
$remoteHost=getEnv('REMOTE_HOST')?getEnv('REMOTE_HOST'):getEnv('REMOTE_ADDR');
$LogLine = $remoteHost.' - - '.Date('[d/M/Y:H:i:s +0000]').' "GET /'.$fileName.' HTTP/1.1" 200 '.filesize('../'.$fileName);
$LogLine.= ' "'.$referer.'" "'.$ua.'"';
$logfilehandle = fopen($logFile, 'a');
fputs($logfilehandle, $LogLine."\n");
@fclose($logfilehandle);
header("Location:".$fileName);
?>
more informations
Typoscript by Example - Userdefined tags


Comments (4)