From e2e160b8e8d01eb0d2c537318f1d738aef9df9c8 Mon Sep 17 00:00:00 2001 From: Mario Date: Wed, 14 Oct 2020 07:33:30 +0000 Subject: In find_best_identity() only look for zot and zot6 network types. Otherwise we could end up rewriting activitypub contacts to their diaspora equivalent which would be counterproductive here. Dismiss deleted hublocs. Same applies for find_best_zot_identity(). Also add logging. --- Zotlabs/Lib/Activity.php | 3 ++- include/zot.php | 16 ++++------------ 2 files changed, 6 insertions(+), 13 deletions(-) diff --git a/Zotlabs/Lib/Activity.php b/Zotlabs/Lib/Activity.php index 6d12f7ea1..08e5ffaca 100644 --- a/Zotlabs/Lib/Activity.php +++ b/Zotlabs/Lib/Activity.php @@ -3194,11 +3194,12 @@ class Activity { static function find_best_identity($xchan) { if(filter_var($xchan, FILTER_VALIDATE_URL)) { - $r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_id_url = '%s'", + $r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_id_url = '%s' and hubloc_network in ('zot6', 'zot') and hubloc_deleted = 0", dbesc($xchan) ); if ($r) { $r = Libzot::zot_record_preferred($r); + logger('find_best_identity: ' . $xchan . ' > ' . $r['hubloc_hash']); return $r['hubloc_hash']; } } diff --git a/include/zot.php b/include/zot.php index 38d6288cf..1a0ebdacb 100644 --- a/include/zot.php +++ b/include/zot.php @@ -10,6 +10,7 @@ use Zotlabs\Lib\DReport; use Zotlabs\Lib\Libzot; +use Zotlabs\Lib\Activity; require_once('include/crypto.php'); require_once('include/items.php'); @@ -5370,27 +5371,18 @@ function zot_record_preferred($arr, $check = 'hubloc_network') { function find_best_zot_identity($xchan) { - if (filter_var($xchan, FILTER_VALIDATE_URL)) { - $r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_id_url = '%s'", - dbesc($xchan) - ); - if ($r) { - $r = Libzot::zot_record_preferred($r); - return $r['hubloc_hash']; - } - } - - $r = q("select hubloc_addr from hubloc where hubloc_hash = '%s'", + $r = q("select hubloc_addr from hubloc where hubloc_hash = '%s' and hubloc_network in ('zot6', 'zot') and hubloc_deleted = 0", dbesc($xchan) ); if ($r) { - $r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_addr = '%s'", + $r = q("select hubloc_hash, hubloc_network from hubloc where hubloc_addr = '%s' and hubloc_network in ('zot6', 'zot') and hubloc_deleted = 0", dbesc($r[0]['hubloc_addr']) ); if ($r) { $r = Libzot::zot_record_preferred($r); + logger('find_best_zot_identity: ' . $xchan . ' > ' . $r['hubloc_hash']); return $r['hubloc_hash']; } } -- cgit v1.2.3