From 6503be80350338c7b8715593e98355c3db4beeae Mon Sep 17 00:00:00 2001 From: Philipp Holzer <admin@philipp.info> Date: Mon, 22 Apr 2019 10:38:34 +0200 Subject: [PATCH] Moving mod/statistics_json to src/Module/Statistics_json --- mod/statistics_json.php | 63 ---------------------------------- src/Module/Statistics_json.php | 60 ++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+), 63 deletions(-) delete mode 100644 mod/statistics_json.php create mode 100644 src/Module/Statistics_json.php diff --git a/mod/statistics_json.php b/mod/statistics_json.php deleted file mode 100644 index a8d3c8a5f..000000000 --- a/mod/statistics_json.php +++ /dev/null @@ -1,63 +0,0 @@ -<?php - -/** - * @file mod/statistics_json.php - */ - -use Friendica\App; -use Friendica\Core\Addon; -use Friendica\Core\Config; -use Friendica\Core\Logger; -use Friendica\Core\System; - -function statistics_json_init(App $a) { - - if (!Config::get("system", "nodeinfo")) { - System::httpExit(404); - } - - $registration_open = - intval(Config::get('config', 'register_policy')) !== \Friendica\Module\Register::CLOSED - && ! Config::get('config', 'invitation_only'); - - $statistics = [ - "name" => Config::get('config', 'sitename'), - "network" => FRIENDICA_PLATFORM, - "version" => FRIENDICA_VERSION . "-" . DB_UPDATE_VERSION, - "registrations_open" => $registration_open, - "total_users" => Config::get('nodeinfo', 'total_users'), - "active_users_halfyear" => Config::get('nodeinfo', 'active_users_halfyear'), - "active_users_monthly" => Config::get('nodeinfo', 'active_users_monthly'), - "local_posts" => Config::get('nodeinfo', 'local_posts') - ]; - - $statistics["services"] = []; - $statistics["services"]["appnet"] = Addon::isEnabled("appnet"); - $statistics["services"]["blogger"] = Addon::isEnabled("blogger"); - $statistics["services"]["buffer"] = Addon::isEnabled("buffer"); - $statistics["services"]["dreamwidth"] = Addon::isEnabled("dwpost"); - $statistics["services"]["gnusocial"] = Addon::isEnabled("statusnet"); - $statistics["services"]["libertree"] = Addon::isEnabled("libertree"); - $statistics["services"]["livejournal"] = Addon::isEnabled("ljpost"); - $statistics["services"]["pumpio"] = Addon::isEnabled("pumpio"); - $statistics["services"]["twitter"] = Addon::isEnabled("twitter"); - $statistics["services"]["tumblr"] = Addon::isEnabled("tumblr"); - $statistics["services"]["wordpress"] = Addon::isEnabled("wppost"); - - $statistics["appnet"] = $statistics["services"]["appnet"]; - $statistics["blogger"] = $statistics["services"]["blogger"]; - $statistics["buffer"] = $statistics["services"]["buffer"]; - $statistics["dreamwidth"] = $statistics["services"]["dreamwidth"]; - $statistics["gnusocial"] = $statistics["services"]["gnusocial"]; - $statistics["libertree"] = $statistics["services"]["libertree"]; - $statistics["livejournal"] = $statistics["services"]["livejournal"]; - $statistics["pumpio"] = $statistics["services"]["pumpio"]; - $statistics["twitter"] = $statistics["services"]["twitter"]; - $statistics["tumblr"] = $statistics["services"]["tumblr"]; - $statistics["wordpress"] = $statistics["services"]["wordpress"]; - - header("Content-Type: application/json"); - echo json_encode($statistics, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); - Logger::log("statistics_init: printed " . print_r($statistics, true), Logger::DATA); - exit(); -} diff --git a/src/Module/Statistics_json.php b/src/Module/Statistics_json.php new file mode 100644 index 000000000..aca204b92 --- /dev/null +++ b/src/Module/Statistics_json.php @@ -0,0 +1,60 @@ +<?php + +namespace Friendica\Module; + +use Friendica\BaseModule; +use Friendica\Core\Addon; +use Friendica\Core\System; + +class Statistics_json extends BaseModule +{ + public static function init() + { + $config = self::getApp()->getConfig(); + + if (!$config->get("system", "nodeinfo")) { + System::httpExit(404); + } + } + + public static function rawContent() + { + $config = self::getApp()->getConfig(); + $logger = self::getApp()->getLogger(); + + $registration_open = + intval($config->get('config', 'register_policy')) !== Register::CLOSED + && !$config->get('config', 'invitation_only'); + + /// @todo mark the "service" addons and load them dynamically here + $services = [ + 'appnet' => Addon::isEnabled('appnet'), + 'buffer' => Addon::isEnabled('buffer'), + 'dreamwidth' => Addon::isEnabled('dreamwidth'), + 'gnusocial' => Addon::isEnabled('gnusocial'), + 'libertree' => Addon::isEnabled('libertree'), + 'livejournal' => Addon::isEnabled('livejournal'), + 'pumpio' => Addon::isEnabled('pumpio'), + 'twitter' => Addon::isEnabled('twitter'), + 'tumblr' => Addon::isEnabled('tumblr'), + 'wordpress' => Addon::isEnabled('wordpress'), + ]; + + $statistics = array_merge([ + 'name' => $config->get('config', 'sitename'), + 'network' => FRIENDICA_PLATFORM, + 'version' => FRIENDICA_VERSION . '-' . DB_UPDATE_VERSION, + 'registrations_open' => $registration_open, + 'total_users' => $config->get('nodeinfo', 'total_users'), + 'active_users_halfyear' => $config->get('nodeinfo', 'active_users_halfyear'), + 'active_users_monthly' => $config->get('nodeinfo', 'active_users_monthly'), + 'local_posts' => $config->get('nodeinfo', 'local_posts'), + 'services' => $services, + ], $services); + + header("Content-Type: application/json"); + echo json_encode($statistics, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES); + $logger->debug("statistics.", ['statistics' => $statistics]); + exit(); + } +}