aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2014-08-06 21:16:24 -0700
committerfriendica <info@friendica.com>2014-08-06 21:16:24 -0700
commit2cff122d6ffcd47e42593d22c1c8d19f45ee91ef (patch)
treea1607f94448ba93586a84c347dd52f226b58eba5
parent86bccf35a24019830fc54ac781f985d9add6eddf (diff)
downloadvolse-hubzilla-2cff122d6ffcd47e42593d22c1c8d19f45ee91ef.tar.gz
volse-hubzilla-2cff122d6ffcd47e42593d22c1c8d19f45ee91ef.tar.bz2
volse-hubzilla-2cff122d6ffcd47e42593d22c1c8d19f45ee91ef.zip
public scope delivery issues
-rwxr-xr-xinclude/items.php7
-rw-r--r--include/zot.php14
-rw-r--r--mod/item.php4
3 files changed, 18 insertions, 7 deletions
diff --git a/include/items.php b/include/items.php
index aa3679e25..08c814e10 100755
--- a/include/items.php
+++ b/include/items.php
@@ -903,8 +903,7 @@ function encode_item($item) {
if($y = encode_item_flags($item))
$x['flags'] = $y;
- if($scope != 'public')
- $x['public_scope'] = $scope;
+ $x['public_scope'] = $scope;
if($item['item_flags'] & ITEM_NOCOMMENT)
$x['comment_scope'] = 'none';
@@ -2453,6 +2452,8 @@ function tag_deliver($uid,$item_id) {
$private = (($u[0]['channel_allow_cid'] || $u[0]['channel_allow_gid'] || $u[0]['channel_deny_cid'] || $u[0]['channel_deny_gid']) ? 1 : 0);
+//FIXME - add check for public_policy
+
$flag_bits = ITEM_WALL|ITEM_ORIGIN;
// maintain the original source, which will be the original item owner and was stored in source_xchan
@@ -2593,6 +2594,8 @@ function tag_deliver($uid,$item_id) {
$private = (($u[0]['channel_allow_cid'] || $u[0]['channel_allow_gid'] || $u[0]['channel_deny_cid'] || $u[0]['channel_deny_gid']) ? 1 : 0);
+// FIXME set public_policy and recheck private
+
$flag_bits = ITEM_WALL|ITEM_ORIGIN|ITEM_UPLINK;
// preserve the source
diff --git a/include/zot.php b/include/zot.php
index 971f91a3c..1e38b8b49 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -1200,6 +1200,12 @@ function zot_import($arr, $sender_url) {
continue;
}
+ // It's a specifically targetted post. If we were sent a public_scope hint (likely),
+ // get rid of it so that it doesn't get stored and cause trouble.
+
+ if(array_key_exists('message',$i) && array_key_exists('public_scope',$i['message']))
+ unset($i['message']['public_scope']);
+
$deliveries = $r;
// We found somebody on this site that's in the recipient list.
@@ -1207,9 +1213,11 @@ function zot_import($arr, $sender_url) {
}
else {
if(($i['message']) && (array_key_exists('flags',$i['message'])) && (in_array('private',$i['message']['flags']))) {
- // This should not happen but until we can stop it...
- logger('private message was delivered with no recipients.');
- continue;
+ if(array_key_exists('public_scope',$i['message']) && $i['message']['public_scope'] === 'public') {
+ // This should not happen but until we can stop it...
+ logger('private message was delivered with no recipients.');
+ continue;
+ }
}
logger('public post');
diff --git a/mod/item.php b/mod/item.php
index 01c486e5c..50bc53d9f 100644
--- a/mod/item.php
+++ b/mod/item.php
@@ -275,14 +275,14 @@ function item_post(&$a) {
$str_contact_allow = $orig_post['allow_cid'];
$str_group_deny = $orig_post['deny_gid'];
$str_contact_deny = $orig_post['deny_cid'];
- $public_scope = $orig_post['public_scope'];
+ $public_policy = $orig_post['public_policy'];
}
if((strlen($str_group_allow))
|| strlen($str_contact_allow)
|| strlen($str_group_deny)
|| strlen($str_contact_deny)
- || strlen($public_scope)) {
+ || strlen($public_policy)) {
$private = 1;
}