]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Api/Mastodon/Search.php
Merge pull request #13176 from MrPetovan/bug/warnings
[friendica.git] / src / Module / Api / Mastodon / Search.php
index a991052c7fc5041b5fad91c2f64bb3a500781fde..956e3d73b82a22562a2149cca1218c79689ed03f 100644 (file)
@@ -21,6 +21,7 @@
 
 namespace Friendica\Module\Api\Mastodon;
 
+use Friendica\Core\Logger;
 use Friendica\Core\Protocol;
 use Friendica\Core\System;
 use Friendica\Database\DBA;
@@ -76,7 +77,7 @@ class Search extends BaseApi
                        }
                }
 
-               if ((empty($request['type']) || ($request['type'] == 'statuses')) && (strpos($request['q'], '@') == false)) {
+               if (empty($request['type']) || ($request['type'] == 'statuses')) {
                        $result['statuses'] = self::searchStatuses($uid, $request['q'], $request['account_id'], $request['max_id'], $request['min_id'], $limit, $request['offset']);
 
                        if (!is_array($result['statuses'])) {
@@ -107,15 +108,14 @@ class Search extends BaseApi
         */
        private static function searchAccounts(int $uid, string $q, bool $resolve, int $limit, int $offset, bool $following)
        {
-               if (
-                       ($offset == 0) && (strrpos($q, '@') > 0 || Network::isValidHttpUrl($q))
+               if (($offset == 0) && (strrpos($q, '@') > 0 || Network::isValidHttpUrl($q))
                        && $id = Contact::getIdForURL($q, 0, $resolve ? null : false)
                ) {
                        return DI::mstdnAccount()->createFromContactId($id, $uid);
                }
 
                $accounts = [];
-               foreach (Contact::searchByName($q, '', $following ? $uid : 0, $limit, $offset) as $contact) {
+               foreach (Contact::searchByName($q, '', $following ? $uid : 0, false, $limit, $offset) as $contact) {
                        $accounts[] = DI::mstdnAccount()->createFromContactId($contact['id'], $uid);
                }
 
@@ -181,7 +181,11 @@ class Search extends BaseApi
                $statuses = [];
                while ($item = Post::fetch($items)) {
                        self::setBoundaries($item['uri-id']);
-                       $statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
+                       try {
+                               $statuses[] = DI::mstdnStatus()->createFromUriId($item['uri-id'], $uid, $display_quotes);
+                       } catch (\Exception $exception) {
+                               Logger::info('Post not fetchable', ['uri-id' => $item['uri-id'], 'uid' => $uid, 'exception' => $exception]);
+                       }
                }
                DBA::close($items);