- // 12 most active users (by posts and contacts)
- // this query don't work on some mysql versions
- if (Config::get('communityhome','showactiveusers')){
- $r = q("SELECT `uni`.`contacts`,`uni`.`items`, `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname` FROM
- (SELECT COUNT(*) as `contacts`, `uid` FROM `contact` WHERE `self`=0 GROUP BY `uid`) AS `con`,
- (SELECT COUNT(*) as `items`, `uid` FROM `item` WHERE `item`.`changed` > DATE(NOW() - INTERVAL 1 MONTH) AND `item`.`wall` = 1 GROUP BY `uid`) AS `ite`,
- (
- SELECT `contacts`,`items`,`ite`.`uid` FROM `con` RIGHT OUTER JOIN `ite` ON `con`.`uid`=`ite`.`uid`
- UNION ALL
- SELECT `contacts`,`items`,`con`.`uid` FROM `con` LEFT OUTER JOIN `ite` ON `con`.`uid`=`ite`.`uid`
- ) AS `uni`, `user`, `profile`
- WHERE `uni`.`uid`=`user`.`uid`
- AND `uni`.`uid`=`profile`.`uid` AND `profile`.`publish`=1
- GROUP BY `uid`
- ORDER BY `items` DESC,`contacts` DESC
- LIMIT 0,10");
- if($r && count($r)) {
- $aside['$activeusers_title'] = L10n::t('Most active users');
- $aside['$activeusers_items'] = [];