aboutsummaryrefslogtreecommitdiffstats
path: root/include/zot.php
diff options
context:
space:
mode:
authorhabeascodice <habeascodice@federated.social>2014-10-29 03:39:07 -0700
committerhabeascodice <habeascodice@federated.social>2014-10-29 03:39:07 -0700
commitbc02b933727da7a000d43d2d7d495f066616dc81 (patch)
treee590b70757edb94655872f5b992f143cead61eb3 /include/zot.php
parentfc12123329133cea39f27615a7c24c57e5b4a35d (diff)
parent7d9f785758ee6e4c19838e532f9930e227e95fc6 (diff)
downloadvolse-hubzilla-bc02b933727da7a000d43d2d7d495f066616dc81.tar.gz
volse-hubzilla-bc02b933727da7a000d43d2d7d495f066616dc81.tar.bz2
volse-hubzilla-bc02b933727da7a000d43d2d7d495f066616dc81.zip
Merge remote branch 'upstream/master'
Diffstat (limited to 'include/zot.php')
-rw-r--r--include/zot.php8
1 files changed, 7 insertions, 1 deletions
diff --git a/include/zot.php b/include/zot.php
index 869bca668..e96eae10d 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -1476,11 +1476,13 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) {
continue;
}
- $r = q("select id, edited from item where mid = '%s' and uid = %d limit 1",
+ $r = q("select id, edited, item_flags, mid, parent_mid from item where mid = '%s' and uid = %d limit 1",
dbesc($arr['mid']),
intval($channel['channel_id'])
);
if($r) {
+ // We already have this post.
+ // Maybe it has been edited?
$item_id = $r[0]['id'];
if($arr['edited'] > $r[0]['edited']) {
$arr['id'] = $r[0]['id'];
@@ -1492,6 +1494,10 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) {
}
else {
$result[] = array($d['hash'],'update ignored',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
+ // We need this line to ensure wall-to-wall comments are relayed (by falling through to the relay bit),
+ // and at the same time not relay any other relayable posts more than once, because to do so is very wasteful.
+ if(! ($r[0]['item_flags'] & ITEM_ORIGIN))
+ continue;
}
}
else {