Merge pull request #7929 from annando/apcontact-data
APContact: Added follower count, following count and count of posts
This commit is contained in:
commit
d994c91f38
3 changed files with 36 additions and 3 deletions
|
@ -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)),
|
||||
|
|
|
@ -203,6 +203,33 @@ 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'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// To-Do
|
||||
|
||||
// Unhandled
|
||||
|
|
|
@ -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" => [
|
||||
|
|
Loading…
Reference in a new issue