]> git.mxchange.org Git - friendica.git/blob - src/Api/Mastodon/Stats.php
Added entities
[friendica.git] / src / Api / Mastodon / Stats.php
1 <?php
2
3 namespace Friendica\Api\Mastodon;
4
5 use Friendica\Core\Config;
6 use Friendica\Core\Protocol;
7 use Friendica\Database\DBA;
8
9 /**
10  * Class Stats
11  *
12  * @see https://docs.joinmastodon.org/api/entities/#stats
13  */
14 class Stats
15 {
16         /** @var int */
17         var $user_count;
18         /** @var int */
19         var $status_count;
20         /** @var int */
21         var $domain_count;
22
23         /**
24          * Creates a stats record
25          *
26          * @return Stats
27          * @throws \Friendica\Network\HTTPException\InternalServerErrorException
28          */
29         public static function get() {
30                 $stats = new Stats();
31                 if (!empty(Config::get('system', 'nodeinfo'))) {
32                         $stats->user_count = intval(Config::get('nodeinfo', 'total_users'));
33                         $stats->status_count = Config::get('nodeinfo', 'local_posts') + Config::get('nodeinfo', 'local_comments');
34                         $stats->domain_count = DBA::count('gserver', ["`network` in (?, ?) AND `last_contact` >= `last_failure`", Protocol::DFRN, Protocol::ACTIVITYPUB]);
35                 }
36                 return $stats;
37         }
38 }