improved wall-to-wall detection for comments so we can handle Diaspora signing and wall-to-wall attribution correctly.

Do it at the point of submission. This also fixes a potential bug in yesterday's wall-to-wall permission setting,
if it was a local comment to a remote post.
This commit is contained in:
friendica
2014-10-22 20:39:49 -07:00
parent 902b5c52e5
commit 58c692e389
2 changed files with 27 additions and 8 deletions

View File

@@ -2517,7 +2517,7 @@ function item_store_update($arr,$allow_exec = false) {
return $ret;
}
function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id) {
function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id, $walltowall = false) {
// We won't be able to sign Diaspora comments for authenticated visitors
// - we don't have their private key
@@ -2527,7 +2527,16 @@ function store_diaspora_comment_sig($datarray, $channel, $parent_item, $post_id)
require_once('include/bb2diaspora.php');
$signed_body = bb2diaspora_itembody($datarray);
logger('mod_item: storing diaspora comment signature',LOGGER_DEBUG);
if($walltowall) {
logger('wall to wall comment',LOGGER_DEBUG);
// post will come across with the owner's identity. Throw a preamble onto the post to indicate the true author.
$signed_body = "\n\n"
. '[img]' . $datarray['author']['xchan_photo_m'] . '[/img]'
. '[url=' . $datarray['author']['xchan_url'] . ']' . $datarray['author']['xchan_name'] . '[/url]' . "\n\n"
. $signed_body;
}
logger('storing diaspora comment signature',LOGGER_DEBUG);
$diaspora_handle = $channel['channel_address'] . '@' . get_app()->get_hostname();