From 911a854255f0b2a7348c33d8103e46dfd1cb6ca7 Mon Sep 17 00:00:00 2001
From: Michael <heluecht@pirati.ca>
Date: Wed, 11 Dec 2019 00:05:50 +0000
Subject: [PATCH 1/2] APContact: Added follower count, following count and
 count of posts

---
 database.sql                  |  7 +++++--
 src/Model/APContact.php       | 29 +++++++++++++++++++++++++++++
 static/dbstructure.config.php |  5 ++++-
 3 files changed, 38 insertions(+), 3 deletions(-)

diff --git a/database.sql b/database.sql
index 8630bfba8b..13e7e34cff 100644
--- a/database.sql
+++ b/database.sql
@@ -1,6 +1,6 @@
 -- ------------------------------------------
--- Friendica 2019.12-dev (Dalmatian Bellflower)
--- DB_UPDATE_VERSION 1324
+-- Friendica 2019.12-rc (Dalmatian Bellflower)
+-- DB_UPDATE_VERSION 1325
 -- ------------------------------------------
 
 
@@ -66,6 +66,9 @@ CREATE TABLE IF NOT EXISTS `apcontact` (
 	`pubkey` text COMMENT '',
 	`baseurl` varchar(255) COMMENT 'baseurl of the ap contact',
 	`generator` varchar(255) COMMENT 'Name of the contact\'s system',
+	`following_count` int unsigned DEFAULT 0 COMMENT 'Number of following contacts',
+	`followers_count` int unsigned DEFAULT 0 COMMENT 'Number of followers',
+	`statuses_count` int unsigned DEFAULT 0 COMMENT 'Number of posts',
 	`updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
 	 PRIMARY KEY(`url`),
 	 INDEX `addr` (`addr`(32)),
diff --git a/src/Model/APContact.php b/src/Model/APContact.php
index e7191d32e8..bae420c55d 100644
--- a/src/Model/APContact.php
+++ b/src/Model/APContact.php
@@ -203,6 +203,35 @@ class APContact extends BaseObject
 			$apcontact['generator'] = JsonLD::fetchElement($compacted['as:generator'], 'as:name', '@value');
 		}
 
+		if (!empty($apcontact['following'])) {
+			$data = ActivityPub::fetchContent($apcontact['following']);
+			if (!empty($data)) {
+				if (!empty($data['totalItems'])) {
+					$apcontact['following_count'] = $data['totalItems'];
+				}
+			}
+		}
+
+		if (!empty($apcontact['followers'])) {
+			$data = ActivityPub::fetchContent($apcontact['followers']);
+			if (!empty($data)) {
+				if (!empty($data['totalItems'])) {
+					$apcontact['followers_count'] = $data['totalItems'];
+				}
+			}
+		}
+
+		if (!empty($apcontact['outbox'])) {
+			$data = ActivityPub::fetchContent($apcontact['outbox']);
+			if (!empty($data)) {
+				if (!empty($data['totalItems'])) {
+					$apcontact['statuses_count'] = $data['totalItems'];
+				}
+			}
+		}
+/*
+		$apcontact['inbox'] = JsonLD::fetchElement($compacted, 'ldp:inbox', '@id');
+*/
 		// To-Do
 
 		// Unhandled
diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php
index 05c065d9fb..5b02ab1df3 100755
--- a/static/dbstructure.config.php
+++ b/static/dbstructure.config.php
@@ -34,7 +34,7 @@
 use Friendica\Database\DBA;
 
 if (!defined('DB_UPDATE_VERSION')) {
-	define('DB_UPDATE_VERSION', 1324);
+	define('DB_UPDATE_VERSION', 1325);
 }
 
 return [
@@ -102,6 +102,9 @@ return [
 			"pubkey" => ["type" => "text", "comment" => ""],
 			"baseurl" => ["type" => "varchar(255)", "comment" => "baseurl of the ap contact"],
 			"generator" => ["type" => "varchar(255)", "comment" => "Name of the contact's system"],
+			"following_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of following contacts"],
+			"followers_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of followers"],
+			"statuses_count" => ["type" => "int unsigned", "default" => 0, "comment" => "Number of posts"],
 			"updated" => ["type" => "datetime", "not null" => "1", "default" => DBA::NULL_DATETIME, "comment" => ""]
 		],
 		"indexes" => [

From 1baa4d48afdc90a551afe381ee2798b9a827e920 Mon Sep 17 00:00:00 2001
From: Michael <heluecht@pirati.ca>
Date: Wed, 11 Dec 2019 00:10:25 +0000
Subject: [PATCH 2/2] Removed outcommented code

---
 src/Model/APContact.php | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/Model/APContact.php b/src/Model/APContact.php
index bae420c55d..346c4ec2f7 100644
--- a/src/Model/APContact.php
+++ b/src/Model/APContact.php
@@ -229,9 +229,7 @@ class APContact extends BaseObject
 				}
 			}
 		}
-/*
-		$apcontact['inbox'] = JsonLD::fetchElement($compacted, 'ldp:inbox', '@id');
-*/
+
 		// To-Do
 
 		// Unhandled