From 675343f575f7f53f85462e8604ea7e81e05ad51f Mon Sep 17 00:00:00 2001 From: zotlabs Date: Tue, 30 Oct 2018 17:18:15 -0700 Subject: issue syncing the channel_primary setting which shows up as a wrong count on the admin summary page --- include/hubloc.php | 33 ++++++++++++++++----------------- include/import.php | 3 +-- 2 files changed, 17 insertions(+), 19 deletions(-) (limited to 'include') diff --git a/include/hubloc.php b/include/hubloc.php index d1170a62c..2efafc29b 100644 --- a/include/hubloc.php +++ b/include/hubloc.php @@ -186,31 +186,30 @@ function hubloc_change_primary($hubloc) { logger('no hubloc'); return false; } - if(! (intval($hubloc['hubloc_primary']))) { - logger('not primary: ' . $hubloc['hubloc_url']); - return false; - } - logger('setting primary: ' . $hubloc['hubloc_url']); + logger('setting primary: ' . $hubloc['hubloc_url'] . ((intval($hubloc['hubloc_primary'])) ' true' : 'false')); - // See if there's a local channel + // See if this is a local hubloc and if so update the primary for the corresponding channel record. - $r = q("select channel_id, channel_primary from channel where channel_hash = '%s' limit 1", - dbesc($hubloc['hubloc_hash']) - ); - if($r) { - if(! $r[0]['channel_primary']) { - q("update channel set channel_primary = 1 where channel_id = %d", - intval($r[0]['channel_id']) - ); - } - else { - q("update channel set channel_primary = 0 where channel_id = %d", + if($hubloc['hubloc_url'] === z_root()) { + $r = q("select channel_id from channel where channel_hash = '%s' limit 1", + dbesc($hubloc['hubloc_hash']) + ); + if($r) { + q("update channel set channel_primary = %d where channel_id = %d", + intval($hubloc['hubloc_primary']), intval($r[0]['channel_id']) ); } } + // we only need to proceed further if this particular hubloc is now primary + + if(! (intval($hubloc['hubloc_primary']))) { + logger('not primary: ' . $hubloc['hubloc_url']); + return false; + } + // do we even have an xchan for this hubloc and if so is it already set as primary? $r = q("select * from xchan where xchan_hash = '%s' limit 1", diff --git a/include/import.php b/include/import.php index 714161c57..6476aa688 100644 --- a/include/import.php +++ b/include/import.php @@ -93,8 +93,7 @@ function import_channel($channel, $account_id, $seize, $newname = '') { 'channel_w_comment', 'channel_w_mail', 'channel_w_like', 'channel_w_tagwall', 'channel_w_chat', 'channel_w_storage', 'channel_w_pages', 'channel_a_republish', 'channel_a_delegate', 'perm_limits', 'channel_password', 'channel_salt', - 'channel_moved', 'channel_primary', 'channel_removed', 'channel_deleted', - 'channel_system' + 'channel_moved', 'channel_removed', 'channel_deleted', 'channel_system' ]; $clean = array(); -- cgit v1.2.3