diff options
author | marijus <mario@mariovavti.com> | 2014-09-28 23:15:24 +0200 |
---|---|---|
committer | marijus <mario@mariovavti.com> | 2014-09-28 23:15:24 +0200 |
commit | e18dfbe3ce0a8d89a5320e4f239801d0b84dd83e (patch) | |
tree | 41eacca012451ef5a0dabb7471d810f37be100a9 /mod | |
parent | 97c6ba77c7cc09c646be9bb6b74a8d0907d9ecb1 (diff) | |
parent | 114394c6ca6faad463ae6d33c7ffaa75729983ea (diff) | |
download | volse-hubzilla-e18dfbe3ce0a8d89a5320e4f239801d0b84dd83e.tar.gz volse-hubzilla-e18dfbe3ce0a8d89a5320e4f239801d0b84dd83e.tar.bz2 volse-hubzilla-e18dfbe3ce0a8d89a5320e4f239801d0b84dd83e.zip |
Merge branch 'master' of https://github.com/friendica/red
Diffstat (limited to 'mod')
-rw-r--r-- | mod/siteinfo.php | 52 |
1 files changed, 50 insertions, 2 deletions
diff --git a/mod/siteinfo.php b/mod/siteinfo.php index 01355a51d..bdae14edb 100644 --- a/mod/siteinfo.php +++ b/mod/siteinfo.php @@ -48,6 +48,51 @@ function siteinfo_init(&$a) { $site_info = get_config('system','info'); $site_name = get_config('system','sitename'); + + // Statistics (from statistics.json plugin) + + $r = q("select count(channel_id) as channels_total from channel left join account on account_id = channel_account_id + where account_flags = 0 "); + if($r) + $channels_total = $r[0]['channels_total']; + + $r = q("select channel_id from channel left join account on account_id = channel_account_id + where account_flags = 0 and account_lastlog > UTC_TIMESTAMP - INTERVAL 6 MONTH"); + if($r) { + $s = ''; + foreach($r as $rr) { + if($s) + $s .= ','; + $s .= intval($rr['channel_id']); + } + $x = q("select uid from item where uid in ( $s ) and (item_flags & %d) and created > UTC_TIMESTAMP - INTERVAL 6 MONTH group by uid", + intval(ITEM_WALL) + ); + if($x) + $channels_active_halfyear = count($x); + } + + $r = q("select channel_id from channel left join account on account_id = channel_account_id + where account_flags = 0 and account_lastlog > UTC_TIMESTAMP - INTERVAL 1 MONTH"); + if($r) { + $s = ''; + foreach($r as $rr) { + if($s) + $s .= ','; + $s .= intval($rr['channel_id']); + } + $x = q("select uid from item where uid in ( $s ) and ( item_flags & %d ) and created > UTC_TIMESTAMP - INTERVAL 1 MONTH group by uid", + intval(ITEM_WALL) + ); + if($x) + $channels_active_monthly = count($x); + } + + $posts = q("SELECT COUNT(*) AS local_posts FROM `item` WHERE (item_flags & %d) ", + intval(ITEM_WALL) + ); + if (is_array($posts)) + $local_posts = $posts[0]["local_posts"]; $data = Array( 'version' => RED_VERSION, @@ -61,9 +106,12 @@ function siteinfo_init(&$a) { 'admin' => $admin, 'site_name' => (($site_name) ? $site_name : ''), 'platform' => RED_PLATFORM, - 'info' => (($site_info) ? $site_info : '') + 'info' => (($site_info) ? $site_info : ''), + 'channels_total' => $channels_total, + 'channels_active_halfyear' => $channels_active_halfyear, + 'channels_active_monthly' => $channels_active_monthly, + 'local_posts' => $local_posts ); - json_return_and_die($data); } } |