From 15c1529e836f6af4b9aa526cbc2ffa0c56711135 Mon Sep 17 00:00:00 2001 From: Paolo Tacconi Date: Thu, 2 Oct 2014 13:43:48 +0200 Subject: query for statistics are now executed by poller --- mod/siteinfo.php | 58 +++++++++----------------------------------------------- 1 file changed, 9 insertions(+), 49 deletions(-) (limited to 'mod/siteinfo.php') diff --git a/mod/siteinfo.php b/mod/siteinfo.php index c0c1c6e3e..3071e52fb 100644 --- a/mod/siteinfo.php +++ b/mod/siteinfo.php @@ -50,51 +50,12 @@ function siteinfo_init(&$a) { $site_info = get_config('system','info'); $site_name = get_config('system','sitename'); - // Statistics (from statistics.json plugin) + //Statistics + $channels_total_stat = intval(get_config('system','channels_total_stat')); + $channels_active_halfyear_stat = intval(get_config('system','channels_active_halfyear_stat')); + $channels_active_monthly_stat = intval(get_config('system','channels_active_monthly_stat')); + $local_posts_stat = intval(get_config('system','local_posts_stat')); - $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 = intval($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 = intval($posts[0]["local_posts"]); - $data = Array( 'version' => RED_VERSION, 'commit' => $commit, @@ -102,7 +63,6 @@ function siteinfo_init(&$a) { 'plugins' => $visible_plugins, 'register_policy' => $register_policy[$a->config['system']['register_policy']], 'directory_mode' => $directory_mode[$a->config['system']['directory_mode']], - 'language' => get_config('system','language'), 'diaspora_emulation' => get_config('system','diaspora_enabled'), 'rss_connections' => get_config('system','feed_contacts'), 'default_service_restrictions' => $service_class, @@ -110,10 +70,10 @@ function siteinfo_init(&$a) { 'site_name' => (($site_name) ? $site_name : ''), 'platform' => RED_PLATFORM, '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 + 'channels_total' => $channels_total_stat, + 'channels_active_halfyear' => $channels_active_halfyear_stat, + 'channels_active_monthly' => $channels_active_monthly_stat, + 'local_posts' => $local_posts_stat ); json_return_and_die($data); } -- cgit v1.2.3