aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Module
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2018-05-01 16:15:59 -0700
committerMario Vavti <mario@mariovavti.com>2018-05-02 09:30:23 +0200
commitb28279241b6a20af9024afef221dcf410fb43e06 (patch)
tree26f881924636d057a660531a60ffb72083125a2b /Zotlabs/Module
parent5c5ae2969e5465ff559b63532122611c315d88d9 (diff)
downloadvolse-hubzilla-b28279241b6a20af9024afef221dcf410fb43e06.tar.gz
volse-hubzilla-b28279241b6a20af9024afef221dcf410fb43e06.tar.bz2
volse-hubzilla-b28279241b6a20af9024afef221dcf410fb43e06.zip
hubzilla issue #1149, don't duplicate addressbook entries on repeated channel imports
Diffstat (limited to 'Zotlabs/Module')
-rw-r--r--Zotlabs/Module/Import.php24
1 files changed, 20 insertions, 4 deletions
diff --git a/Zotlabs/Module/Import.php b/Zotlabs/Module/Import.php
index 81c405f00..58f0c60d5 100644
--- a/Zotlabs/Module/Import.php
+++ b/Zotlabs/Module/Import.php
@@ -363,11 +363,27 @@ class Import extends \Zotlabs\Web\Controller {
continue;
}
- abook_store_lowlevel($abook);
+ $r = q("select abook_id from abook where abook_xchan = '%s' and abook_channel = %d limit 1",
+ dbesc($abook['abook_xchan']),
+ intval($channel['channel_id'])
+ );
+ if($r) {
+ foreach($abook as $k => $v) {
+ $r = q("UPDATE abook SET " . TQUOT . "%s" . TQUOT . " = '%s' WHERE abook_xchan = '%s' AND abook_channel = %d",
+ dbesc($k),
+ dbesc($v),
+ dbesc($abook['abook_xchan']),
+ intval($channel['channel_id'])
+ );
+ }
+ }
+ else {
+ abook_store_lowlevel($abook);
- $friends ++;
- if(intval($abook['abook_feed']))
- $feeds ++;
+ $friends ++;
+ if(intval($abook['abook_feed']))
+ $feeds ++;
+ }
translate_abook_perms_inbound($channel,$abook_copy);