]> git.mxchange.org Git - friendica.git/commitdiff
The account fields are rearrange to match Mastodon
authorMichael <heluecht@pirati.ca>
Tue, 1 Sep 2020 20:59:50 +0000 (20:59 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 1 Sep 2020 20:59:50 +0000 (20:59 +0000)
src/Object/Api/Mastodon/Account.php

index 99cee205ed3fc87905b9b3fe9a6af6434d7b76a1..7e726da97c78d1ef205ffc3fa9a0f12025c75bf7 100644 (file)
@@ -46,14 +46,14 @@ class Account extends BaseEntity
        protected $display_name;
        /** @var bool */
        protected $locked;
-       /** @var string (Datetime) */
+       /** @var bool|null */
+       protected $bot = null;
+       /** @var bool */
+       protected $discoverable;
+       /** @var bool */
+       protected $group;
+       /** @var string|null (Datetime) */
        protected $created_at;
-       /** @var int */
-       protected $followers_count;
-       /** @var int */
-       protected $following_count;
-       /** @var int */
-       protected $statuses_count;
        /** @var string */
        protected $note;
        /** @var string (URL)*/
@@ -66,20 +66,20 @@ class Account extends BaseEntity
        protected $header;
        /** @var string (URL) */
        protected $header_static;
+       /** @var int */
+       protected $followers_count;
+       /** @var int */
+       protected $following_count;
+       /** @var int */
+       protected $statuses_count;
+       /** @var string|null (Datetime) */
+       protected $last_status_at = null;
        /** @var Emoji[] */
        protected $emojis;
        /** @var Account|null */
        protected $moved = null;
        /** @var Field[]|null */
        protected $fields = null;
-       /** @var bool|null */
-       protected $bot = null;
-       /** @var bool */
-       protected $group;
-       /** @var bool */
-       protected $discoverable;
-       /** @var string|null (Datetime) */
-       protected $last_status_at = null;
 
        /**
         * Creates an account record from a public contact record. Expects all contact table fields to be set.
@@ -92,7 +92,7 @@ class Account extends BaseEntity
         */
        public function __construct(BaseURL $baseUrl, array $publicContact, Fields $fields, array $apcontact = [], array $userContact = [])
        {
-               $this->id              = $publicContact['id'];
+               $this->id              = (string)$publicContact['id'];
                $this->username        = $publicContact['nick'];
                $this->acct            =
                        strpos($publicContact['url'], $baseUrl->get() . '/') === 0 ?
@@ -100,10 +100,10 @@ class Account extends BaseEntity
                                $publicContact['addr'];
                $this->display_name    = $publicContact['name'];
                $this->locked          = !empty($apcontact['manually-approve']);
+               $this->bot             = ($publicContact['contact-type'] == Contact::TYPE_NEWS);
+               $this->discoverable    = !$publicContact['unsearchable'];
+               $this->group           = ($publicContact['contact-type'] == Contact::TYPE_COMMUNITY);
                $this->created_at      = DateTimeFormat::utc($publicContact['created'], DateTimeFormat::ATOM);
-               $this->followers_count = $apcontact['followers_count'] ?? 0;
-               $this->following_count = $apcontact['following_count'] ?? 0;
-               $this->statuses_count  = $apcontact['statuses_count'] ?? 0;
                $this->note            = BBCode::convert($publicContact['about'], false);
                $this->url             = $publicContact['url'];
                $this->avatar          = $userContact['avatar'] ?? $publicContact['avatar'];
@@ -111,18 +111,20 @@ class Account extends BaseEntity
                // No header picture in Friendica
                $this->header          = '';
                $this->header_static   = '';
-               // No custom emojis per account in Friendica
-               $this->emojis          = [];
-               // No metadata fields in Friendica
-               $this->fields          = $fields->getArrayCopy();
-               $this->bot             = ($publicContact['contact-type'] == Contact::TYPE_NEWS);
-               $this->group           = ($publicContact['contact-type'] == Contact::TYPE_COMMUNITY);
-               $this->discoverable    = !$publicContact['unsearchable'];
+               $this->followers_count = $apcontact['followers_count'] ?? 0;
+               $this->following_count = $apcontact['following_count'] ?? 0;
+               $this->statuses_count  = $apcontact['statuses_count'] ?? 0;
 
                $publicContactLastItem = $publicContact['last-item'] ?: DBA::NULL_DATETIME;
                $userContactLastItem = $userContact['last-item'] ?? DBA::NULL_DATETIME;
 
                $lastItem = $userContactLastItem > $publicContactLastItem ? $userContactLastItem : $publicContactLastItem;
-               $this->last_status_at  = $lastItem != DBA::NULL_DATETIME ? DateTimeFormat::utc($lastItem, DateTimeFormat::ATOM) : null;
+               $this->last_status_at  = $lastItem != DBA::NULL_DATETIME ? DateTimeFormat::utc($lastItem, 'Y-m-d') : null;
+
+               // No custom emojis per account in Friendica
+               $this->emojis          = [];
+               // No metadata fields in Friendica
+               $this->fields          = $fields->getArrayCopy();
+
        }
 }