aboutsummaryrefslogtreecommitdiffstats
path: root/mod/siteinfo.php
diff options
context:
space:
mode:
authorThomas Willingham <beardyunixer@beardyunixer.com>2014-09-29 19:12:12 +0100
committerThomas Willingham <beardyunixer@beardyunixer.com>2014-09-29 19:12:12 +0100
commit7c3b428e670ec3508f821a95568ba1248ce33616 (patch)
tree7210ebb4355561ea72f155b666bdaf3b367088cd /mod/siteinfo.php
parent90378e8ef8647807a348541a65a908da6656ce1b (diff)
parent43d2a8ceae87d9c39f543e9f4dd07566db325e62 (diff)
downloadvolse-hubzilla-7c3b428e670ec3508f821a95568ba1248ce33616.tar.gz
volse-hubzilla-7c3b428e670ec3508f821a95568ba1248ce33616.tar.bz2
volse-hubzilla-7c3b428e670ec3508f821a95568ba1248ce33616.zip
Merge branch 'master' of https://github.com/friendica/red
Diffstat (limited to 'mod/siteinfo.php')
-rw-r--r--mod/siteinfo.php52
1 files changed, 50 insertions, 2 deletions
diff --git a/mod/siteinfo.php b/mod/siteinfo.php
index 01355a51d..4568906f3 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 = 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,
@@ -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);
}
}