diaspora follow from friendika
This commit is contained in:
parent
7952961222
commit
0729e205c8
2 changed files with 34 additions and 6 deletions
|
@ -77,7 +77,7 @@ $decrypted_header = <<< EOT
|
|||
<iv>$b_inner_iv</iv>
|
||||
<aes_key>$b_inner_aes_key</aes_key>
|
||||
<author>
|
||||
<name>{$contact['name']}</name>
|
||||
<name>{$user['username']}</name>
|
||||
<uri>$handle</uri>
|
||||
</author>
|
||||
</decrypted_header>
|
||||
|
@ -170,7 +170,7 @@ function diaspora_decode($importer,$xml) {
|
|||
|
||||
if(! $base) {
|
||||
logger('mod-diaspora: unable to locate salmon data in xml ');
|
||||
dt_return(400);
|
||||
http_status_exit(400);
|
||||
}
|
||||
|
||||
|
||||
|
@ -519,3 +519,24 @@ function diaspora_retraction($importer,$contact,$xml) {
|
|||
|
||||
}
|
||||
|
||||
function diaspora_share($me,$contact) {
|
||||
$a = get_app();
|
||||
$myaddr = $me['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
|
||||
$theiraddr = $contact['addr'];
|
||||
|
||||
$tpl = get_markup_template('diaspora_share.tpl');
|
||||
$msg = replace_macros($tpl, array(
|
||||
'$sender' => myaddr,
|
||||
'$recipient' => $theiraddr
|
||||
));
|
||||
|
||||
$slap = diaspora_msg_build($msg,$me,$contact,$me['prvkey'],$contact['pubkey']);
|
||||
|
||||
post_url($contact['notify'],$slap, array(
|
||||
'Content-type: application/magic-envelope+xml',
|
||||
'Content-length: ' . strlen($slap)
|
||||
));
|
||||
$return_code = $a->get_curl_code();
|
||||
return $return_code;
|
||||
}
|
||||
|
||||
|
|
|
@ -71,6 +71,7 @@ function follow_post(&$a) {
|
|||
$writeable = 1;
|
||||
|
||||
}
|
||||
|
||||
// check if we already have a contact
|
||||
// the poll url is more reliable than the profile url, as we may have
|
||||
// indirect links or webfinger links
|
||||
|
@ -175,11 +176,17 @@ function follow_post(&$a) {
|
|||
intval(local_user())
|
||||
);
|
||||
|
||||
|
||||
if((count($r)) && (x($contact,'notify')) && (strlen($contact['notify']))) {
|
||||
if(count($r)) {
|
||||
if(($contact['network'] == NETWORK_OSTATUS) && (strlen($contact['notify']))) {
|
||||
require_once('include/salmon.php');
|
||||
slapper($r[0],$contact['notify'],$slap);
|
||||
}
|
||||
if($contact['network'] == NETWORK_DIASPORA) {
|
||||
require_once('include/diaspora.php');
|
||||
$ret = diaspora_share($a->user,$r[0]);
|
||||
logger('mod_follow: diaspora_share returns: ' . $ret);
|
||||
}
|
||||
}
|
||||
|
||||
goaway($_SESSION['return_url']);
|
||||
// NOTREACHED
|
||||
|
|
Loading…
Reference in a new issue