=====A replacement for the InfoHandler===== This is a drop-in replacement for the InfoHandler. ====The Code==== First things first, go to the BarGraph action and follow the installation instructions. When the BarGraph action is running without a hitch, save the following code as ##actions/pagestats.php## -- %%(php) HasAccess('read')) { $prefix = $this->config['table_prefix']; $sql = "(SELECT 'total_referrers', count(*) FROM {$prefix}referrers) UNION (SELECT 'page_referrers', count(*) FROM {$prefix}referrers WHERE page_tag = '$this->tag') UNION (SELECT 'total_comments', count(*) FROM {$prefix}comments) UNION (SELECT 'page_comments', count(*) FROM {$prefix}comments WHERE page_tag = '$this->tag') UNION (SELECT 'total_backlinks', count(*) FROM {$prefix}links) UNION (SELECT 'page_backlinks', count(*) FROM {$prefix}links WHERE to_tag = '$this->tag') UNION (SELECT 'total_revisions', count(*) FROM {$prefix}pages) UNION (SELECT 'page_revisions', count(*) FROM {$prefix}pages WHERE tag = '$this->tag')"; $results = mysql_query($sql); if (mysql_num_rows($results)) { while ($row = mysql_fetch_row($results)) $stats[$row[0]] = $row[1]; } $authors = $this->LoadAll("SELECT user, COUNT(*) AS edits FROM {$prefix}pages WHERE tag = '$this->tag' GROUP BY user ORDER BY edits DESC, user ASC"); if ($authors) { $graph =& new bar_graph('Revisions by Author'); $graph->total = $stats['page_revisions']; foreach($authors as $author) $graph->add($author['user'], $author['edits']); $graph->show(); } echo '

 

'; $graph =& new bar_graph('Global Statistics'); foreach (array('revisions', 'comments', 'backlinks', 'referrers') as $index) { if (isset($stats["page_$index"]) && isset($stats["total_$index"])) { $graph->add(ucwords($index), $stats["page_$index"] . '/' . $stats["total_$index"]); } } $graph->show(); } ?> %% ====The Example==== %% {{pagestats}} %% ====The Screenshot==== {{image url="http://bytebrite.com/img/psss.gif" alt=""Screenshot of the PageStats action"}} ====Authors==== DennyShimkoski ---- CategoryUserContributions