diff options
author | friendica <info@friendica.com> | 2014-10-03 03:35:50 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-10-03 03:35:50 -0700 |
commit | 328d72971d6cb73176f17c3403ddfb150ae217c3 (patch) | |
tree | b23db2b8c6bf6b97417c5b2ee68469a7833b60d0 /include/statistics_fns.php | |
parent | 2bd4b362389aafc9d98f47f44672fc874d37e17a (diff) | |
parent | dfd39ebb3cccfdce8fb6d58128279cac05cbb8e4 (diff) | |
download | volse-hubzilla-328d72971d6cb73176f17c3403ddfb150ae217c3.tar.gz volse-hubzilla-328d72971d6cb73176f17c3403ddfb150ae217c3.tar.bz2 volse-hubzilla-328d72971d6cb73176f17c3403ddfb150ae217c3.zip |
Merge https://github.com/friendica/red into pending_merge
Diffstat (limited to 'include/statistics_fns.php')
-rw-r--r-- | include/statistics_fns.php | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/include/statistics_fns.php b/include/statistics_fns.php new file mode 100644 index 000000000..4f72e6615 --- /dev/null +++ b/include/statistics_fns.php @@ -0,0 +1,73 @@ +<?php /** @file */ + +function update_channels_total_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_stat = intval($r[0]['channels_total']); + set_config('system','channels_total_stat',$channels_total_stat); + } else { + set_config('system','channels_total_stat',null); + } +} + +function update_channels_active_halfyear_stat() { + $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_stat = count($x); + set_config('system','channels_active_halfyear_stat',$channels_active_halfyear_stat); + } else { + set_config('system','channels_active_halfyear_stat',null); + } + } else { + set_config('system','channels_active_halfyear_stat',null); + } +} + +function update_channels_active_monthly_stat() { + $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_stat = count($x); + set_config('system','channels_active_monthly_stat',$channels_active_monthly_stat); + } else { + set_config('system','channels_active_monthly_stat',null); + } + } else { + set_config('system','channels_active_monthly_stat',null); + } +} + +function update_local_posts_stat() { + $posts = q("SELECT COUNT(*) AS local_posts FROM `item` WHERE (item_flags & %d) ", + intval(ITEM_WALL) ); + if (is_array($posts)) { + $local_posts_stat = intval($posts[0]["local_posts"]); + set_config('system','local_posts_stat',$local_posts_stat); + } else { + set_config('system','local_posts_stat',null); + } +} + + |