diff options
author | nobody <nobody@zotlabs.com> | 2021-08-25 19:15:46 -0700 |
---|---|---|
committer | nobody <nobody@zotlabs.com> | 2021-08-25 19:15:46 -0700 |
commit | 05152ac8c88711a74e61f75feae2c0a43dd40cc4 (patch) | |
tree | 80a4768b2aa0cb92cc784fe89c280736302e4155 | |
parent | aa2106f9495bee4dcf0701fbd9fec8de6fa44984 (diff) | |
download | volse-hubzilla-05152ac8c88711a74e61f75feae2c0a43dd40cc4.tar.gz volse-hubzilla-05152ac8c88711a74e61f75feae2c0a43dd40cc4.tar.bz2 volse-hubzilla-05152ac8c88711a74e61f75feae2c0a43dd40cc4.zip |
issue 1599 - import_author_zot failing if primary is both dead and unknown
-rw-r--r-- | Zotlabs/Lib/Libzot.php | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Zotlabs/Lib/Libzot.php b/Zotlabs/Lib/Libzot.php index e0e13eb60..f7d8c417a 100644 --- a/Zotlabs/Lib/Libzot.php +++ b/Zotlabs/Lib/Libzot.php @@ -2584,21 +2584,26 @@ class Libzot { $desturl = $x['url']; + $found_primary = false; + $r1 = q("select hubloc_url, hubloc_updated, site_dead from hubloc left join site on hubloc_url = site_url where hubloc_guid = '%s' and hubloc_guid_sig = '%s' and hubloc_primary = 1 limit 1", dbesc($x['id']), dbesc($x['id_sig']) ); + if ($r1) { + $found_primary = true; + } $r2 = q("select xchan_hash from xchan where xchan_guid = '%s' and xchan_guid_sig = '%s' limit 1", dbesc($x['id']), dbesc($x['id_sig']) ); - $site_dead = false; + $primary_dead = false; if ($r1 && intval($r1[0]['site_dead'])) { - $site_dead = true; + $primary_dead = true; } // We have valid and somewhat fresh information. Always true if it is our own site. @@ -2616,13 +2621,14 @@ class Libzot { // cached entry and the identity is valid. It's just unreachable until they bring back their // server from the grave or create another clone elsewhere. - if ($site_dead) { - logger('dead site - ignoring', LOGGER_DEBUG, LOG_INFO); + if ($primary_dead || ! $found_primary) { + logger('dead or unknown primary site - ignoring', LOGGER_DEBUG, LOG_INFO); $r = q("select hubloc_id_url from hubloc left join site on hubloc_url = site_url where hubloc_hash = '%s' and site_dead = 0", dbesc($hash) ); + if ($r) { logger('found another site that is not dead: ' . $r[0]['hubloc_url'], LOGGER_DEBUG, LOG_INFO); $desturl = $r[0]['hubloc_url']; |