Show detailled statistics per platform

This commit is contained in:
Michael 2022-02-07 06:11:37 +00:00
parent 58b4ecd6ae
commit bdba75ec47
3 changed files with 57 additions and 7 deletions

View file

@ -74,8 +74,10 @@ class Federation extends BaseAdmin
$users = 0;
$month = 0;
$halfyear = 0;
$posts = 0;
$gservers = DBA::p("SELECT COUNT(*) AS `total`, SUM(`registered-users`) AS `users`,
SUM(IFNULL(`local-posts`, 0) + IFNULL(`local-comments`, 0)) AS `posts`,
SUM(IFNULL(`active-month-users`, `active-week-users`)) AS `month`,
SUM(IFNULL(`active-halfyear-users`, `active-week-users`)) AS `halfyear`, `platform`,
ANY_VALUE(`network`) AS `network`, MAX(`version`) AS `version`
@ -85,6 +87,7 @@ class Federation extends BaseAdmin
$users += $gserver['users'];
$month += $gserver['month'];
$halfyear += $gserver['halfyear'];
$posts += $gserver['posts'];
$versionCounts = [];
$versions = DBA::p("SELECT COUNT(*) AS `total`, `version` FROM `gserver`
@ -139,6 +142,7 @@ class Federation extends BaseAdmin
$gserver['users'] += $counts[$platform][0]['users'] ?? 0;
$gserver['month'] += $counts[$platform][0]['month'] ?? 0;
$gserver['halfyear'] += $counts[$platform][0]['halfyear'] ?? 0;
$gserver['posts'] += $counts[$platform][0]['posts'] ?? 0;
}
if ($platform == 'friendica') {
@ -159,7 +163,17 @@ class Federation extends BaseAdmin
ksort($versionCounts);
}
$gserver['platform'] = $systems[$platform]['name'];
$gserver['platform'] = $systems[$platform]['name'];
$gserver['monthlbl'] = DI::l10n()->t('%d active users last month', $gserver['month']);
$gserver['halfyearlbl'] = DI::l10n()->t('%d active users last six month', $gserver['halfyear']);
$gserver['userslbl'] = DI::l10n()->t('%d registered users', $gserver['users']);
$gserver['postslbl'] = DI::l10n()->t('%d local posts', $gserver['posts']);
if (($gserver['users'] > 0) && ($gserver['posts'] > 0)) {
$gserver['postsuserlbl'] = DI::l10n()->t('%d posts per user', $gserver['posts'] / $gserver['users']);
} else {
$gserver['postsuserlbl'] = '';
}
$counts[$platform] = [$gserver, $versionCounts, str_replace([' ', '%', '.'], '', $platform), $systems[$platform]['color']];
}

View file

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: 2022.05-dev\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-02-07 05:22+0000\n"
"POT-Creation-Date: 2022-02-07 06:11+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -4699,7 +4699,7 @@ msgstr ""
#: src/Module/Admin/Blocklist/Contact.php:94
#: src/Module/Admin/Blocklist/Server/Add.php:89
#: src/Module/Admin/Blocklist/Server/Index.php:78
#: src/Module/Admin/Federation.php:174 src/Module/Admin/Item/Delete.php:64
#: src/Module/Admin/Federation.php:188 src/Module/Admin/Item/Delete.php:64
#: src/Module/Admin/Logs/Settings.php:79 src/Module/Admin/Logs/View.php:83
#: src/Module/Admin/Queue.php:72 src/Module/Admin/Site.php:498
#: src/Module/Admin/Storage.php:138 src/Module/Admin/Summary.php:232
@ -5113,22 +5113,47 @@ msgstr ""
msgid "Other"
msgstr ""
#: src/Module/Admin/Federation.php:131 src/Module/Admin/Federation.php:363
#: src/Module/Admin/Federation.php:134 src/Module/Admin/Federation.php:377
msgid "unknown"
msgstr ""
#: src/Module/Admin/Federation.php:167
#, php-format
msgid "%d active users last month"
msgstr ""
#: src/Module/Admin/Federation.php:168
#, php-format
msgid "%d active users last six month"
msgstr ""
#: src/Module/Admin/Federation.php:169
#, php-format
msgid "%d registered users"
msgstr ""
#: src/Module/Admin/Federation.php:170
#, php-format
msgid "%d local posts"
msgstr ""
#: src/Module/Admin/Federation.php:173
#, php-format
msgid "%d posts per user"
msgstr ""
#: src/Module/Admin/Federation.php:183
msgid ""
"This page offers you some numbers to the known part of the federated social "
"network your Friendica node is part of. These numbers are not complete but "
"only reflect the part of the network your node is aware of."
msgstr ""
#: src/Module/Admin/Federation.php:175 src/Module/BaseAdmin.php:87
#: src/Module/Admin/Federation.php:189 src/Module/BaseAdmin.php:87
msgid "Federation Statistics"
msgstr ""
#: src/Module/Admin/Federation.php:179
#: src/Module/Admin/Federation.php:193
#, php-format
msgid ""
"Currently this node is aware of %d nodes (%d active users last month, %d "

View file

@ -10,7 +10,7 @@
<ul>
{{foreach $counts as $c}}
{{if $c[0]['total'] > 0}}
<li>{{$c[0]['platform']}} ({{$c[0]['total']}} &bull; {{$c[0]['month']}} &bull; {{$c[0]['halfyear']}} &bull; {{$c[0]['users']}})</li>
<li>{{$c[0]['platform']}} ({{$c[0]['total']}}/{{$c[0]['users']}})</li>
{{/if}}
{{/foreach}}
</ul>
@ -60,6 +60,17 @@
<th><strong>{{$c[0]['total']}}</strong></td>
<td>{{$c[0]['network']}}</td>
</tr>
<tr>
<td colspan="3" class="federation-summary">
<ul>
{{if $c[0]['month']}}<li>{{$c[0]['monthlbl']}}</li>{{/if}}
{{if $c[0]['halfyear']}}<li>{{$c[0]['halfyearlbl']}}</li>{{/if}}
{{if $c[0]['users']}}<li>{{$c[0]['userslbl']}}</li>{{/if}}
{{if $c[0]['posts']}}<li>{{$c[0]['postslbl']}}</li>{{/if}}
{{if $c[0]['postsuserlbl']}}<li>{{$c[0]['postsuserlbl']}}</li>{{/if}}
</ul>
</td>
</tr>
<tr>
<td colspan="3" class="federation-data">
<canvas id="{{$c[2]}}Chart" class="federation-network-graph" width="240" height="240"></canvas>