+
+ function handler_profile(&$page, $period = 'overall')
+ {
+ $page->changeTpl('stats/profile.tpl');
+
+ $time = '';
+ switch ($period) {
+ case 'week': case 'month': case 'year':
+ $time = ' AND e.stamp > DATE_SUB(CURDATE(), INTERVAL 1 ' . strtoupper($period) . ')';
+ break;
+ }
+ $rows = XDB::fetchAllAssoc("SELECT p.pid AS profile, COUNT(*) AS count
+ FROM logger.events AS e
+ INNER JOIN logger.actions AS act ON (e.action = act.id)
+ INNER JOIN profiles AS p ON (p.hrpid = e.data)
+ WHERE act.text = 'view_profile' $time
+ GROUP BY e.data
+ ORDER BY count DESC
+ LIMIT 10");
+ foreach ($rows as $key=>$row) {
+ $rows[$key]['profile'] = Profile::get($rows[$key]['profile']);
+ }
+ $page->assign('profiles', $rows);
+ $page->assign('period', $period);
+ }