diff options
author | friendica <info@friendica.com> | 2014-02-20 01:35:08 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-02-20 01:35:08 -0800 |
commit | 6eb971656ef1710596084fdaa0ae3085df2c2101 (patch) | |
tree | a7dd91a9fd745af0106386a97dbc97e0d595af3e /include | |
parent | c219451702b2e20c100c8b2a32f4dd1f42e82768 (diff) | |
download | volse-hubzilla-6eb971656ef1710596084fdaa0ae3085df2c2101.tar.gz volse-hubzilla-6eb971656ef1710596084fdaa0ae3085df2c2101.tar.bz2 volse-hubzilla-6eb971656ef1710596084fdaa0ae3085df2c2101.zip |
believe i found the issue which was causing hundreds/thousands of identical hublocs to be created
Diffstat (limited to 'include')
-rw-r--r-- | include/zot.php | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/include/zot.php b/include/zot.php index c9d426cc2..a7094b2ad 100644 --- a/include/zot.php +++ b/include/zot.php @@ -748,6 +748,16 @@ function import_xchan($arr,$ud_flags = 1) { } } + if(! $location['sitekey']) { + logger('import_xchan: empty hubloc sitekey. ' . print_r($location,true)); + continue; + } + + // Catch some malformed entries from the past which still exist + + if(strpos($location['address'],'/') !== false) + $location['address'] = substr($location['address'],0,strpos($location['address'],'/')); + // match as many fields as possible in case anything at all changed. $r = q("select * from hubloc where hubloc_hash = '%s' and hubloc_guid = '%s' and hubloc_guid_sig = '%s' and hubloc_url = '%s' and hubloc_url_sig = '%s' and hubloc_host = '%s' and hubloc_addr = '%s' and hubloc_callback = '%s' and hubloc_sitekey = '%s' ", @@ -804,14 +814,6 @@ function import_xchan($arr,$ud_flags = 1) { continue; } - if(! $location['sitekey']) { - logger('import_xchan: empty hubloc sitekey. ' . print_r($location,true)); - continue; - } - - if(strpos($location['address'],'/') !== false) - $location['address'] = substr($location['address'],0,strpos($location['address'],'/')); - // new hub claiming to be primary. Make it so. if(intval($location['primary'])) { @@ -840,9 +842,11 @@ function import_xchan($arr,$ud_flags = 1) { ); $what .= 'newhub '; $changed = true; + } // get rid of any hubs we have for this channel which weren't reported. + if($xisting) { foreach($xisting as $x) { if(! array_key_exists('updated',$x)) { @@ -855,7 +859,6 @@ function import_xchan($arr,$ud_flags = 1) { } } } - } // Are we a directory server of some kind? |