diff options
author | Fabio Comuni <fabrix.xm@gmail.com> | 2011-08-30 11:00:23 +0200 |
---|---|---|
committer | Fabio Comuni <fabrix.xm@gmail.com> | 2011-08-30 11:00:23 +0200 |
commit | d0926240a87327a7e38b822802ac192336f68791 (patch) | |
tree | 49c5d2eec9954efbe313e7130e1ce970a56c60e9 /mod/item.php | |
parent | 97806544bcd7ee3831ffc515062afe0812828b76 (diff) | |
parent | 0f1bc6e9571e367b37246e43ce08921bf317fa7c (diff) | |
download | volse-hubzilla-d0926240a87327a7e38b822802ac192336f68791.tar.gz volse-hubzilla-d0926240a87327a7e38b822802ac192336f68791.tar.bz2 volse-hubzilla-d0926240a87327a7e38b822802ac192336f68791.zip |
Merge remote-tracking branch 'friendika/master' into newui
Diffstat (limited to 'mod/item.php')
-rw-r--r-- | mod/item.php | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/mod/item.php b/mod/item.php index ef0b232d5..dd42014eb 100644 --- a/mod/item.php +++ b/mod/item.php @@ -15,6 +15,8 @@ * */ +require_once('include/crypto.php'); + function item_post(&$a) { if((! local_user()) && (! remote_user())) @@ -674,6 +676,27 @@ function item_post(&$a) { pop_lang(); } + + // We won't be able to sign Diaspora comments for authenticated visitors - we don't have their private key + + if($self) { + require_once('include/bb2diaspora.php'); + $signed_body = html_entity_decode(bb2diaspora($datarray['body'])); + $myaddr = $a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3); + if($datarray['verb'] === ACTIVITY_LIKE) + $signed_text = $datarray['guid'] . ';' . 'Post' . ';' . $parent_item['guid'] . ';' . 'true' . ';' . $myaddr; + else + $signed_text = $datarray['guid'] . ';' . $parent_item['guid'] . ';' . $signed_body . ';' . $myaddr; + + $authorsig = base64_encode(rsa_sign($signed_text,$a->user['prvkey'],'sha')); + + q("insert into sign (`iid`,`signed_text`,`signature`,`signer`) values (%d,'%s','%s','%s') ", + intval($post_id), + dbesc($signed_text), + dbesc(base64_encode($authorsig)), + dbesc($myaddr) + ); + } } else { $parent = $post_id; @@ -799,6 +822,12 @@ function item_post(&$a) { } } + + + + + + logger('post_complete'); // figure out how to return, depending on from whence we came |