X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FContact.php;h=f96c556d241784ce4e86279b7c6517efa0f2c4cc;hb=574f7784113b3d4a7463cd0f0d84b8c74e7bbc26;hp=b922265e24d7490fec71f6b0667316dd68943ba0;hpb=2ef4972782d755afb2122f8f84b036b6f786d040;p=friendica.git diff --git a/src/Model/Contact.php b/src/Model/Contact.php index b922265e24..f96c556d24 100644 --- a/src/Model/Contact.php +++ b/src/Model/Contact.php @@ -34,7 +34,6 @@ use Friendica\Core\Worker; use Friendica\Database\Database; use Friendica\Database\DBA; use Friendica\DI; -use Friendica\Model\Notify\Type; use Friendica\Network\HTTPException; use Friendica\Network\Probe; use Friendica\Protocol\Activity; @@ -906,7 +905,7 @@ class Contact if (empty($contact['uid']) || ($contact['uid'] != $uid)) { if ($uid == 0) { - $profile_link = self::magicLink($contact['url']); + $profile_link = self::magicLinkByContact($contact); $menu = ['profile' => [DI::l10n()->t('View Profile'), $profile_link, true]]; return $menu; @@ -1296,9 +1295,9 @@ class Contact } if (empty($contact["network"]) || in_array($contact["network"], Protocol::FEDERATED)) { - $sql = "(`item`.`uid` = 0 OR (`item`.`uid` = ? AND NOT `item`.`global`))"; + $sql = "(`uid` = 0 OR (`uid` = ? AND NOT `global`))"; } else { - $sql = "`item`.`uid` = ?"; + $sql = "`uid` = ?"; } $contact_field = ((($contact["contact-type"] == self::TYPE_COMMUNITY) || ($contact['network'] == Protocol::MAIL)) ? 'owner-id' : 'author-id'); @@ -1340,18 +1339,11 @@ class Contact } if ($thread_mode) { - $r = Item::selectForUser(local_user(), ['uri', 'gravity', 'parent-uri', 'thr-parent-id', 'author-id'], $condition, $params); - $items = []; - while ($item = DBA::fetch($r)) { - $items[] = $item; - } - DBA::close($r); + $items = Post::toArray(Post::selectForUser(local_user(), ['uri-id', 'gravity', 'parent-uri-id', 'thr-parent-id', 'author-id'], $condition, $params)); $o .= conversation($a, $items, 'contacts', $update, false, 'commented', local_user()); } else { - $r = Item::selectForUser(local_user(), [], $condition, $params); - - $items = Item::inArray($r); + $items = Post::toArray(Post::selectForUser(local_user(), Item::DISPLAY_FIELDLIST, $condition, $params)); $o .= conversation($a, $items, 'contact-posts', $update); } @@ -2506,12 +2498,12 @@ class Contact Group::addMember(User::getDefaultGroup($importer['uid'], $contact_record["network"]), $contact_record['id']); - if (($user['notify-flags'] & Type::INTRO) && + if (($user['notify-flags'] & Notification\Type::INTRO) && in_array($user['page-flags'], [User::PAGE_FLAGS_NORMAL])) { notification([ - 'type' => Type::INTRO, - 'otype' => Notify\ObjectType::INTRO, + 'type' => Notification\Type::INTRO, + 'otype' => Notification\ObjectType::INTRO, 'verb' => ($sharing ? Activity::FRIEND : Activity::FOLLOW), 'uid' => $user['uid'], 'cid' => $contact_record['id'], @@ -2692,14 +2684,10 @@ class Contact return 'contact/' . $contact['id'] . '/conversations'; } - if ($contact['network'] != Protocol::DFRN) { + if (!empty($contact['network']) && $contact['network'] != Protocol::DFRN) { return $destination; } - if (!empty($contact['uid'])) { - return self::magicLink($contact['url'], $url); - } - if (empty($contact['id'])) { return $destination; } @@ -2827,22 +2815,22 @@ class Contact } /** - * Returns a random, global contact of the current node + * Returns a random, global contact array of the current node * - * @return string The profile URL + * @return array The profile array * @throws Exception */ - public static function getRandomUrl() + public static function getRandomContact() { - $r = DBA::selectFirst('contact', ['url'], [ + $contact = DBA::selectFirst('contact', ['id', 'network', 'url', 'uid'], [ "`uid` = ? AND `network` = ? AND NOT `failed` AND `last-item` > ?", 0, Protocol::DFRN, DateTimeFormat::utc('now - 1 month'), ], ['order' => ['RAND()']]); - if (DBA::isResult($r)) { - return $r['url']; + if (DBA::isResult($contact)) { + return $contact; } - return ''; + return []; } }