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_P_PHOTO', NAMESPACE_ACTIVITY_SCHEMA . 'profile-photo' );
|
||||||
define ( 'ACTIVITY_OBJ_ALBUM', NAMESPACE_ACTIVITY_SCHEMA . 'photo-album' );
|
define ( 'ACTIVITY_OBJ_ALBUM', NAMESPACE_ACTIVITY_SCHEMA . 'photo-album' );
|
||||||
define ( 'ACTIVITY_OBJ_EVENT', NAMESPACE_ACTIVITY_SCHEMA . 'event' );
|
define ( 'ACTIVITY_OBJ_EVENT', NAMESPACE_ACTIVITY_SCHEMA . 'event' );
|
||||||
|
define ( 'ACTIVITY_OBJ_TAGTERM', NAMESPACE_DFRN . '/tagterm' );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* item weight for query ordering
|
* 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) {
|
function diaspora_msg_build($msg,$user,$contact,$prvkey,$pubkey) {
|
||||||
$a = get_app();
|
$a = get_app();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue