]> git.mxchange.org Git - friendica.git/commitdiff
Rename Api\Mastodon\Account::createFromContact to just create
authorHypolite Petovan <hypolite@mrpetovan.com>
Wed, 25 Dec 2019 10:41:35 +0000 (05:41 -0500)
committerHypolite Petovan <hypolite@mrpetovan.com>
Mon, 30 Dec 2019 11:12:50 +0000 (06:12 -0500)
- Retrieve public contact in Api\Mastodon\FollowRequests instead of user contact

src/Api/Mastodon/Account.php
src/Api/Mastodon/Instance.php
src/Module/Api/Mastodon/FollowRequests.php
src/Module/Api/Mastodon/Instance.php

index 2a2212482b8810ef5cc48d36628c262d111c26c3..ca6efcb573d7d1786c6d6b43cc152952ea9aadd6 100644 (file)
@@ -61,7 +61,7 @@ class Account
         * @return Account
         * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
-       public static function createFromContact(array $publicContact, array $apcontact = [])
+       public static function create(array $publicContact, array $apcontact = [])
        {
                $account = new Account();
                $account->id              = $publicContact['id'];
index 73541ee237c8c6ac6c7a5c31d8bc310bf0e6013c..6d1dfb73379b3031a7ebe1e400e47bf728cc1e6f 100644 (file)
@@ -3,8 +3,6 @@
 namespace Friendica\Api\Mastodon;
 
 use Friendica\App;
-use Friendica\Api\Mastodon\Account;
-use Friendica\Api\Mastodon\Stats;
 use Friendica\Core\Config;
 use Friendica\Database\DBA;
 use Friendica\DI;
@@ -58,15 +56,17 @@ class Instance
        {
                $register_policy = intval(Config::get('config', 'register_policy'));
 
+               $baseUrl = DI::baseUrl();
+
                $instance = new Instance();
-               $instance->uri = DI::baseUrl()->get();
+               $instance->uri = $baseUrl->get();
                $instance->title = Config::get('config', 'sitename');
                $instance->description = Config::get('config', 'info');
                $instance->email = Config::get('config', 'admin_email');
                $instance->version = FRIENDICA_VERSION;
                $instance->urls = []; // Not supported
                $instance->stats = Stats::get();
-               $instance->thumbnail = DI::baseUrl()->get() . (Config::get('system', 'shortcut_icon') ?? 'images/friendica-32.png');
+               $instance->thumbnail = $baseUrl->get() . (Config::get('system', 'shortcut_icon') ?? 'images/friendica-32.png');
                $instance->languages = [Config::get('system', 'language')];
                $instance->max_toot_chars = (int)Config::get('config', 'api_import_size', Config::get('config', 'max_import_size'));
                $instance->registrations = ($register_policy != Register::CLOSED);
@@ -79,7 +79,7 @@ class Instance
                        if (!empty($administrator)) {
                                $adminContact = DBA::selectFirst('contact', [], ['nick' => $administrator['nickname'], 'self' => true]);
                                $apcontact = APContact::getByURL($adminContact['url'], false);
-                               $instance->contact_account = Account::createFromContact($adminContact, $apcontact);
+                               $instance->contact_account = Account::create($adminContact, $apcontact);
                        }
                }
 
index 6cafb44a667a9b422788ce23f821849fdc8cc1dc..304f78767f3202514c7a77e7f4b56436d1031200 100644 (file)
@@ -87,9 +87,14 @@ class FollowRequests extends Api
 
                $return = [];
                foreach ($intros as $intro) {
-                       $contact = Contact::getById($intro['contact-id']);
-                       $apcontact = APContact::getByURL($contact['url'], false);
-                       $account = Mastodon\Account::createFromContact($contact, $apcontact);
+                       $cdata = Contact::getPublicAndUserContacID($intro['contact-id'], $intro['uid']);
+                       if (empty($cdata['public'])) {
+                               continue;
+                       }
+
+                       $publicContact = Contact::getById($cdata['public']);
+                       $apcontact = APContact::getByURL($publicContact['url'], false);
+                       $account = Mastodon\Account::create($publicContact, $apcontact);
 
                        // Not ideal, the same "account" can have multiple ids depending on the context
                        $account->id = $intro['id'];
index 559fa68cc407d8d66d3d7e662f10dda4099c9c09..96d4db3302d3db0a93c1b34de7ad63d4f18a767f 100644 (file)
@@ -13,7 +13,7 @@ class Instance extends Api
 {
        /**
         * @param array $parameters
-        * @throws HTTPException\InternalServerErrorException
+        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
         */
        public static function rawContent(array $parameters = [])
        {