diff options
author | friendica <info@friendica.com> | 2013-12-02 23:55:57 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2013-12-02 23:55:57 -0800 |
commit | 9f2efb0291e18ed9c042e8c018b8481c69179f26 (patch) | |
tree | 0d6ace92ffa0105dae31fbe0de3797a1d1148cdd /include | |
parent | 061725b97a1086a89a5542005b6b6e58d38437ff (diff) | |
download | volse-hubzilla-9f2efb0291e18ed9c042e8c018b8481c69179f26.tar.gz volse-hubzilla-9f2efb0291e18ed9c042e8c018b8481c69179f26.tar.bz2 volse-hubzilla-9f2efb0291e18ed9c042e8c018b8481c69179f26.zip |
ensure that every imported channel has a primary hubloc
Diffstat (limited to 'include')
-rw-r--r-- | include/zot.php | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/zot.php b/include/zot.php index 9777f7ae4..124fe7fd6 100644 --- a/include/zot.php +++ b/include/zot.php @@ -691,6 +691,16 @@ function import_xchan($arr,$ud_flags = 1) { dbesc($xchan_hash) ); + // See if a primary is specified + + $has_primary = false; + foreach($arr['locations'] as $location) { + if($location['primary']) { + $has_primary = true; + break; + } + } + foreach($arr['locations'] as $location) { if(! rsa_verify($location['url'],base64url_decode($location['url_sig']),$arr['key'])) { logger('import_xchan: Unable to verify site signature for ' . $location['url']); @@ -698,6 +708,12 @@ function import_xchan($arr,$ud_flags = 1) { continue; } + // Ensure that they have one primary hub + + if(! $has_primary) + $location['primary'] = true; + + for($x = 0; $x < count($xisting); $x ++) { if(($xisting[$x]['hubloc_url'] === $location['url']) && ($xisting[$x]['hubloc_sitekey'] === $location['sitekey'])) { $xisting[$x]['updated'] = true; |