aboutsummaryrefslogtreecommitdiffstats
path: root/include/zot.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/zot.php')
-rw-r--r--include/zot.php36
1 files changed, 28 insertions, 8 deletions
diff --git a/include/zot.php b/include/zot.php
index 318948ccc..88568f09f 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -248,18 +248,38 @@ function zot_refresh($them,$channel = null) {
$their_perms = $their_perms | intval($global_perms[$k][1]);
}
}
-
- $r = q("update abook set abook_their_perms = %d
- where abook_xchan = '%s' and abook_channel = %d
- and not (abook_flags & %d) limit 1",
- intval($their_perms),
+dbg(1);
+ $r = q("select * from abook where abook_xchan = '%s' and abook_channel = %d and not (abook_flags & %d) limit 1",
dbesc($x['hash']),
intval($channel['channel_id']),
intval(ABOOK_FLAG_SELF)
);
-
- if(! $r)
- logger('abook update failed');
+ if($r) {
+ $y = q("update abook set abook_their_perms = %d
+ where abook_xchan = '%s' and abook_channel = %d
+ and not (abook_flags & %d) limit 1",
+ intval($their_perms),
+ dbesc($x['hash']),
+ intval($channel['channel_id']),
+ intval(ABOOK_FLAG_SELF)
+ );
+ if(! $y)
+ logger('abook update failed');
+ }
+ else {
+ $y = q("insert into abook ( abook_account, abook_channel, abook_xchan, abook_their_perms, abook_created, abook_updated, abook_flags ) values ( %d, %d, '%s', %d, '%s', '%s', %d )",
+ intval($channel['channel_account_id']),
+ intval($channel['channel_id']),
+ dbesc($x['hash']),
+ intval($their_perms),
+ dbesc(datetime_convert()),
+ dbesc(datetime_convert()),
+ intval(ABOOK_FLAG_BLOCKED|ABOOK_FLAG_IGNORED|ABOOK_FLAG_PENDING)
+ );
+ if($y)
+ logger("New introduction received for {$channel['channel_name']}");
+ }
+dbg(0);
}
return true;