build diaspora public (batch) message
This commit is contained in:
parent
5b3f645939
commit
48ee3fa3b9
2 changed files with 47 additions and 0 deletions
1
boot.php
1
boot.php
|
@ -164,6 +164,7 @@ define ( 'ACTIVITY_OBJ_PHOTO', NAMESPACE_ACTIVITY_SCHEMA . 'photo' );
|
|||
define ( 'ACTIVITY_OBJ_P_PHOTO', NAMESPACE_ACTIVITY_SCHEMA . 'profile-photo' );
|
||||
define ( 'ACTIVITY_OBJ_ALBUM', NAMESPACE_ACTIVITY_SCHEMA . 'photo-album' );
|
||||
define ( 'ACTIVITY_OBJ_EVENT', NAMESPACE_ACTIVITY_SCHEMA . 'event' );
|
||||
define ( 'ACTIVITY_OBJ_TAGTERM', NAMESPACE_DFRN . '/tagterm' );
|
||||
|
||||
/**
|
||||
* item weight for query ordering
|
||||
|
|
|
@ -103,6 +103,52 @@ function get_diaspora_key($uri) {
|
|||
}
|
||||
|
||||
|
||||
function diaspora_pubmsg_build($msg,$user,$contact,$prvkey,$pubkey) {
|
||||
$a = get_app();
|
||||
|
||||
logger('diaspora_pubmsg_build: ' . $msg, LOGGER_DATA);
|
||||
|
||||
|
||||
$handle = $user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
|
||||
|
||||
$b64_data = base64_encode($msg);
|
||||
$b64url_data = base64url_encode($b64_data);
|
||||
|
||||
$data = str_replace(array("\n","\r"," ","\t"),array('','','',''),$b64url_data);
|
||||
|
||||
$type = 'application/xml';
|
||||
$encoding = 'base64url';
|
||||
$alg = 'RSA-SHA256';
|
||||
|
||||
$signable_data = $data . '.' . base64url_encode($type) . '.'
|
||||
. base64url_encode($encoding) . '.' . base64url_encode($alg) ;
|
||||
|
||||
$signature = rsa_sign($signable_data,$prvkey);
|
||||
$sig = base64url_encode($signature);
|
||||
|
||||
$magic_env = <<< EOT
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<diaspora xmlns="https://joindiaspora.org/protocol" xmlns:me="http://salmon-protocol.org/ns/magic-env" >
|
||||
<header>
|
||||
<author_id>$handle</author_id>
|
||||
</header>
|
||||
<me:env>
|
||||
<me:encoding>base64url</me:encoding>
|
||||
<me:alg>RSA-SHA256</me:alg>
|
||||
<me:data type="application/xml">$data</me:data>
|
||||
<me:sig>$sig</me:sig>
|
||||
</me:env>
|
||||
</diaspora>
|
||||
EOT;
|
||||
|
||||
logger('diaspora_pubmsg_build: magic_env: ' . $magic_env, LOGGER_DATA);
|
||||
return $magic_env;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function diaspora_msg_build($msg,$user,$contact,$prvkey,$pubkey) {
|
||||
$a = get_app();
|
||||
|
||||
|
|
Loading…
Reference in a new issue