]> git.mxchange.org Git - friendica.git/blobdiff - src/Core/Search.php
Contact details are now available when searching for a single contact
[friendica.git] / src / Core / Search.php
index 48231f08247a94c1206e8c8f62a774dbc8253f53..90298971a6881c21af5d2515523d8ed16d81f91b 100644 (file)
@@ -44,15 +44,19 @@ class Search extends BaseObject
                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);
                        if (empty($user_data)) {
                                return $emptyResultList;
                        }
 
-                       if (!(in_array($user_data["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::OSTATUS, Protocol::DIASPORA]))) {
+                       if (!in_array($user_data["network"], Protocol::FEDERATED)) {
                                return $emptyResultList;
                        }
 
+                       // Ensure that we do have a contact entry
+                       Contact::getIdForURL(defaults($user_data, 'url', ''));
+
                        $contactDetails = Contact::getDetailsByURL(defaults($user_data, 'url', ''), local_user());
                        $itemUrl        = defaults($contactDetails, 'addr', defaults($user_data, 'url', ''));
 
@@ -63,7 +67,7 @@ class Search extends BaseObject
                                defaults($user_data, 'url', ''),
                                defaults($user_data, 'photo', ''),
                                defaults($user_data, 'network', ''),
-                               defaults($contactDetails, 'cid', 0),
+                               defaults($contactDetails, 'id', 0),
                                0,
                                defaults($user_data, 'tags', '')
                        );
@@ -107,8 +111,7 @@ class Search extends BaseObject
                        $searchUrl .= '&page=' . $page;
                }
 
-               $red        = 0;
-               $resultJson = Network::fetchUrl($searchUrl, false, $red, 0, 'application/json');
+               $resultJson = Network::fetchUrl($searchUrl, false, 0, 'application/json');
 
                $results = json_decode($resultJson, true);