diff options
Diffstat (limited to 'Zotlabs/Daemon/Onedirsync.php')
-rw-r--r-- | Zotlabs/Daemon/Onedirsync.php | 48 |
1 files changed, 16 insertions, 32 deletions
diff --git a/Zotlabs/Daemon/Onedirsync.php b/Zotlabs/Daemon/Onedirsync.php index ea995be9e..b711b0c05 100644 --- a/Zotlabs/Daemon/Onedirsync.php +++ b/Zotlabs/Daemon/Onedirsync.php @@ -15,61 +15,45 @@ class Onedirsync { $update_id = intval($argv[1]); if (!$update_id) { - logger('onedirsync: no update'); + logger('onedirsync: no update id'); return; } - $r = q("select * from updates where ud_id = %d limit 1", + $r = q("select * from updates where ud_id = %d", intval($update_id) ); - if (!$r) - return; - - if (($r[0]['ud_flags'] & UPDATE_FLAGS_UPDATED) || (!$r[0]['ud_addr'])) - return; - - // Have we probed this channel more recently than the other directory server - // (where we received this update from) ? - // If we have, we don't need to do anything except mark any older entries updated - - $x = q("select * from updates where ud_addr = '%s' and ud_date > '%s' and ( ud_flags & %d )>0 order by ud_date desc limit 1", - dbesc($r[0]['ud_addr']), - dbesc($r[0]['ud_date']), - intval(UPDATE_FLAGS_UPDATED) - ); - if ($x) { - q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 and ud_date != '%s'", - intval(UPDATE_FLAGS_UPDATED), - dbesc($r[0]['ud_addr']), - intval(UPDATE_FLAGS_UPDATED), - dbesc($x[0]['ud_date']) - ); + if (!$r) { + logger('onedirsync: update id not found'); return; } // ignore doing an update if this ud_addr refers to a known dead hubloc - $h = q("select * from hubloc where hubloc_addr = '%s'", + $h = q("select * from hubloc where hubloc_id_url = '%s' order by hubloc_id desc", dbesc($r[0]['ud_addr']), ); $h = Libzot::zot_record_preferred($h); if (($h) && (($h['hubloc_status'] & HUBLOC_OFFLINE) || $h['hubloc_deleted'] || $h['hubloc_error'])) { - q("update updates set ud_flags = ( ud_flags | %d ) where ud_addr = '%s' and ( ud_flags & %d ) = 0 ", - intval(UPDATE_FLAGS_DELETED), - dbesc($r[0]['ud_addr']), - intval(UPDATE_FLAGS_UPDATED) - ); - return; + + // 2023-04-12: Try to update anyway since the info is not always correct + // This might change after all directory servers run the new code. + + // q("update updates set ud_flags = 9 where ud_hash = '%s' and ud_flags != 9", + // dbesc($r[0]['ud_hash']) + //); + + // return; } // we might have to pull this out some day, but for now update_directory_entry() // runs zot_finger() and is kind of zot specific - if ($h && $h['hubloc_network'] !== 'zot6') + if ($h && $h['hubloc_network'] !== 'zot6') { return; + } Libzotdir::update_directory_entry($r[0]); |