I'm hacking away at the code for a bunch of addons that knuckles wants .. so I thought I'd add a few of them in here for us all to use. The following is a function for lib-custom.php which allows you to shop the top ten links in a block. Open lib-custom.php and insert the following:
Text Formatted Code
function phpblock_toptenlinks()
{
global $_CONF, $_TABLES, $LANG10;
$result = DB_query( "SELECT lid,url,title,hits from {$_TABLES['links']} WHERE hits > 0 ORDER BY hits desc LIMIT 10" );
$nrows = DB_numRows( $result );
$stat_templates = new Template( $_CONF['path_layout'] . 'stats' );
$stat_templates->set_file( array(
'itemstats'=>'itemstatistics.thtml',
'statrow'=>'singlestat.thtml'
));
if( $nrows > 0 )
{
$stat_templates->set_var( 'item_label', $LANG10[19] );
$stat_templates->set_var( 'stat_name', $LANG10[20] );
for( $i = 0; $i < $nrows; $i++ )
{
$A = DB_fetchArray( $result );
$stat_templates->set_var( 'item_url', $_CONF['site_url'] . '/portal.php?url=' . $A['url'] . '&what=link&item=' . $A['lid'] );
$stat_templates->set_var( 'item_text', stripslashes( str_replace( '$', '$', $A['title'] )));
$stat_templates->set_var( 'item_stat', $A['hits'] );
$stat_templates->parse( 'stat_row', 'statrow', true );
}
$stat_templates->parse( 'output', 'itemstats' );
$retval .= $stat_templates->finish( $stat_templates->get_var( 'output' ));
}
else
{
$retval .= $LANG10[21];
}
return $retval;
}
This will allow you to call phpblock_toptenlinks as a block. In addition (and indeed, the reason it was written in the first place), you can code a template placemarker to get this info. Something like ...
Text Formatted Code
$tpl->set_var( 'toptenlinks', phpblock_toptenlinks() );
... will give you the ability to place that info pretty much anywhere!
Happy Hacking.
Friends help you move. Real friends help you move bodies.