diff options
-rw-r--r-- | include/externals.php | 19 | ||||
-rwxr-xr-x | include/items.php | 12 | ||||
-rw-r--r-- | include/zot.php | 2 | ||||
-rw-r--r-- | mod/post.php | 2 | ||||
-rw-r--r-- | version.inc | 2 |
5 files changed, 25 insertions, 12 deletions
diff --git a/include/externals.php b/include/externals.php index e7e9504a0..96644d68d 100644 --- a/include/externals.php +++ b/include/externals.php @@ -64,6 +64,25 @@ function externals_run($argv, $argc){ $results = process_delivery(array('hash' => 'undefined'), get_item_elements($message), array(array('hash' => $sys['xchan_hash'])), false, true); $total ++; + $z = q("select id from item where mid = '%s' and uid = %d limit 1", + dbesc($message['message_id']), + intval($sys['channel_id']) + ); + if($z) { + $flag_bits = ITEM_WALL|ITEM_ORIGIN|ITEM_UPLINK; + // preserve the source + + $r = q("update item set source_xchan = owner_xchan where id = %d limit 1", + intval($z[0]['id']) + ); + + $r = q("update item set item_flags = ( item_flags | %d ), owner_xchan = '%s' + where id = %d limit 1", + intval($flag_bits), + dbesc($sys['xchan_hash']), + intval($z[0]['id']) + ); + } } logger('externals: import_public_posts: ' . $total . ' messages imported', LOGGER_DEBUG); } diff --git a/include/items.php b/include/items.php index af0d4d297..a7d3a21ce 100755 --- a/include/items.php +++ b/include/items.php @@ -842,14 +842,6 @@ function encode_item($item) { $item['body'] = crypto_unencapsulate(json_decode_plus($item['body']),$key); } - if($item['item_restrict'] & ITEM_DELETED) { - $x['message_id'] = $item['mid']; - $x['created'] = $item['created']; - $x['flags'] = array('deleted'); - $x['owner'] = encode_item_xchan($item['owner']); - $x['author'] = encode_item_xchan($item['author']); - return $x; - } $x['message_id'] = $item['mid']; $x['message_top'] = $item['parent_mid']; @@ -1034,9 +1026,11 @@ function encode_item_flags($item) { // most of item_flags and item_restrict are local settings which don't apply when transmitted. // We may need those for the case of syncing other hub locations which you are attached to. -// ITEM_DELETED is handled in encode_item directly so we don't need to handle it here. $ret = array(); + + if($item['item_restrict'] & ITEM_DELETED) + $ret[] = 'deleted'; if($item['item_flags'] & ITEM_THREAD_TOP) $ret[] = 'thread_parent'; if($item['item_flags'] & ITEM_NSFW) diff --git a/include/zot.php b/include/zot.php index 19512c1ec..f9d527b33 100644 --- a/include/zot.php +++ b/include/zot.php @@ -1412,7 +1412,7 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) { } if((! perm_is_allowed($channel['channel_id'],$sender['hash'],$perm)) && (! $tag_delivery) && (! $public)) { - logger("permission denied for delivery {$channel['channel_id']}"); + logger("permission denied for delivery to channel {$channel['channel_id']} {$channel['channel_address']}"); $result[] = array($d['hash'],'permission denied',$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>'); continue; } diff --git a/mod/post.php b/mod/post.php index 95c984b40..883b11a69 100644 --- a/mod/post.php +++ b/mod/post.php @@ -539,7 +539,7 @@ function post_post(&$a) { $sitekey = $hubsite['hubloc_sitekey']; - logger('mod_zot: Checking sitekey: ' . $sitekey); + logger('mod_zot: Checking sitekey: ' . $sitekey, LOGGER_DATA); if(rsa_verify($data['callback'],base64url_decode($data['callback_sig']),$sitekey)) { $forgery = false; diff --git a/version.inc b/version.inc index 6ef4f0add..a92680152 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2014-04-09.642 +2014-04-10.643 |