diff options
author | friendica <info@friendica.com> | 2013-11-27 02:51:16 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2013-11-27 02:51:16 -0800 |
commit | 64b467ea98fd4cf3cb6215be9ff8e5a9d13ba1a8 (patch) | |
tree | 5e97bc2b588b6f411c2529aa70af3b451a0003a2 | |
parent | e3f5c4458bc637ca304b807d2125f332965e4126 (diff) | |
download | volse-hubzilla-64b467ea98fd4cf3cb6215be9ff8e5a9d13ba1a8.tar.gz volse-hubzilla-64b467ea98fd4cf3cb6215be9ff8e5a9d13ba1a8.tar.bz2 volse-hubzilla-64b467ea98fd4cf3cb6215be9ff8e5a9d13ba1a8.zip |
reduce the likelihood that a given channel will have 30-40 valid hublocs with the same hubloc_url.
-rw-r--r-- | include/zot.php | 31 | ||||
-rw-r--r-- | mod/zfinger.php | 2 |
2 files changed, 10 insertions, 23 deletions
diff --git a/include/zot.php b/include/zot.php index 65f3b606f..0e92b0bff 100644 --- a/include/zot.php +++ b/include/zot.php @@ -18,33 +18,20 @@ function zot_new_uid($channel_nick) { /** - * - * Given an array of zot hashes, return all distinct hubs - * If primary is true, return only primary hubs - * Result is ordered by url to assist in batching. - * Return only the first primary hub as there should only be one. + * @function zot_get_hublocs($hash) + * Given a zot hash, return all distinct hubs + * @param string $hash - xchan_hash + * @retuns array * */ -function zot_get_hubloc($arr,$primary = false) { - - $tmp = ''; - - if(is_array($arr)) { - foreach($arr as $e) { - if(strlen($tmp)) - $tmp .= ','; - $tmp .= "'" . dbesc($e) . "'" ; - } - } - - if(! strlen($tmp)) - return array(); +function zot_get_hublocs($hash) { - $sql_extra = (($primary) ? " and hubloc_flags & " . intval(HUBLOC_FLAGS_PRIMARY) : "" ); - $limit = (($primary) ? " limit 1 " : ""); - return q("select * from hubloc where hubloc_hash in ( $tmp ) $sql_extra order by hubloc_url $limit"); + $ret = q("select * from hubloc where hubloc_hash = '%s' group by hubloc_url ", + dbesc($hash) + ); + return $ret; } /* diff --git a/mod/zfinger.php b/mod/zfinger.php index 59cef5549..2eb6adc75 100644 --- a/mod/zfinger.php +++ b/mod/zfinger.php @@ -164,7 +164,7 @@ function zfinger_init(&$a) { $ret['locations'] = array(); - $x = zot_get_hubloc(array($e['channel_hash'])); + $x = zot_get_hublocs($e['channel_hash']); if($x && count($x)) { foreach($x as $hub) { if(! ($hub['hubloc_flags'] & HUBLOC_FLAGS_UNVERIFIED)) { |