]> git.mxchange.org Git - friendica.git/commitdiff
Replaced more calls of "Probe::uri" with "Contact::getByURL"
authorMichael <heluecht@pirati.ca>
Thu, 16 Jul 2020 19:22:38 +0000 (19:22 +0000)
committerMichael <heluecht@pirati.ca>
Thu, 16 Jul 2020 19:22:38 +0000 (19:22 +0000)
src/Core/Search.php
src/Protocol/OStatus.php
src/Worker/SearchDirectory.php

index 60137e66f7a972291362a7c4a224310a67cb2bfe..ea979610e6c20d33984bafc320f887598401f87e 100644 (file)
@@ -26,10 +26,8 @@ use Friendica\DI;
 use Friendica\Model\Contact;
 use Friendica\Model\GContact;
 use Friendica\Network\HTTPException;
-use Friendica\Network\Probe;
 use Friendica\Object\Search\ContactResult;
 use Friendica\Object\Search\ResultList;
-use Friendica\Protocol\PortableContact;
 use Friendica\Util\Network;
 use Friendica\Util\Strings;
 
@@ -64,8 +62,7 @@ class Search
                if ((filter_var($user, FILTER_VALIDATE_EMAIL) && Network::isEmailDomainValid($user)) ||
                    (substr(Strings::normaliseLink($user), 0, 7) == "http://")) {
 
-                       /// @todo Possibly use "getIdForURL" instead?
-                       $user_data = Probe::uri($user);
+                       $user_data = Contact::getByURL($user);
                        if (empty($user_data)) {
                                return $emptyResultList;
                        }
@@ -74,9 +71,6 @@ class Search
                                return $emptyResultList;
                        }
 
-                       // Ensure that we do have a contact entry
-                       Contact::getIdForURL($user_data['url'] ?? '');
-
                        $contactDetails = Contact::getByURLForUser($user_data['url'] ?? '', local_user());
 
                        $result = new ContactResult(
@@ -87,7 +81,7 @@ class Search
                                $user_data['photo'] ?? '',
                                $user_data['network'] ?? '',
                                $contactDetails['id'] ?? 0,
-                               0,
+                               $user_data['id'] ?? 0,
                                $user_data['tags'] ?? ''
                        );
 
index 1ab8f9b80011c6025fb18a8a4c9adf34c65e14ba..0b95a3a19de1aed71d05d4787d731875b58f165d 100644 (file)
@@ -1617,59 +1617,6 @@ class OStatus
                return $source;
        }
 
-       /**
-        * Fetches contact data from the contact or the gcontact table
-        *
-        * @param string $url   URL of the contact
-        * @param array  $owner Contact data of the poster
-        *
-        * @return array Contact array
-        * @throws \Friendica\Network\HTTPException\InternalServerErrorException
-        * @throws \ImagickException
-        */
-       private static function contactEntry($url, array $owner)
-       {
-               $r = q(
-                       "SELECT * FROM `contact` WHERE `nurl` = '%s' AND `uid` IN (0, %d) ORDER BY `uid` DESC LIMIT 1",
-                       DBA::escape(Strings::normaliseLink($url)),
-                       intval($owner["uid"])
-               );
-               if (DBA::isResult($r)) {
-                       $contact = $r[0];
-                       $contact["uid"] = -1;
-               }
-
-               if (!DBA::isResult($r)) {
-                       $gcontact = DBA::selectFirst('gcontact', [], ['nurl' => Strings::normaliseLink($url)]);
-                       if (DBA::isResult($r)) {
-                               $contact = $gcontact;
-                               $contact["uid"] = -1;
-                               $contact["success_update"] = $contact["updated"];
-                       }
-               }
-
-               if (!DBA::isResult($r)) {
-                       $contact = $owner;
-               }
-
-               if (!isset($contact["poll"])) {
-                       $data = Probe::uri($url);
-                       $contact["poll"] = $data["poll"];
-
-                       if (!$contact["alias"]) {
-                               $contact["alias"] = $data["alias"];
-                       }
-               }
-
-               if (!isset($contact["alias"])) {
-                       $contact["alias"] = $contact["url"];
-               }
-
-               $contact['account-type'] = $owner['account-type'];
-
-               return $contact;
-       }
-
        /**
         * Adds an entry element with reshared content
         *
@@ -1699,7 +1646,7 @@ class OStatus
                        return false;
                }
 
-               $contact = self::contactEntry($repeated_item['author-link'], $owner);
+               $contact = Contact::getByURL($repeated_item['author-link']) ?: $owner;
 
                $title = $owner["nick"]." repeated a notice by ".$contact["nick"];
 
@@ -1841,7 +1788,7 @@ class OStatus
                $item["created"] = $item["edited"] = date("c");
                $item["private"] = Item::PRIVATE;
 
-               $contact = Probe::uri($item['follow']);
+               $contact = Contact::getByURL($item['follow']);
                $item['follow'] = $contact['url'];
 
                if ($contact['alias']) {
@@ -1948,7 +1895,7 @@ class OStatus
                        $entry = $doc->createElement("entry");
 
                        if ($owner['account-type'] == User::ACCOUNT_TYPE_COMMUNITY) {
-                               $contact = self::contactEntry($item['author-link'], $owner);
+                               $contact = Contact::getByURL($item['author-link']) ?: $owner;
                                $author = self::addAuthor($doc, $contact, false);
                                $entry->appendChild($author);
                        }
index c099a5e28a3dad0f0b1b1e6057a5f86d9521ec6f..2ffe6120ec56e950b24278ca776079ae3b2e1dc7 100644 (file)
@@ -27,9 +27,9 @@ use Friendica\Core\Protocol;
 use Friendica\Core\Search;
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Model\Contact;
 use Friendica\Model\GContact;
 use Friendica\Model\GServer;
-use Friendica\Network\Probe;
 use Friendica\Util\Network;
 use Friendica\Util\Strings;
 
@@ -81,7 +81,7 @@ class SearchDirectory
                                        Logger::info('Friendica server seems to be okay.', ['server' => $server_url]);
                                }
 
-                               $data = Probe::uri($jj->url);
+                               $data = Contact::getByURL($jj->url);
                                if ($data['network'] == Protocol::DFRN) {
                                        Logger::info('Add profile to local directory', ['profile' => $jj->url]);