lots of little Diaspora issues
This commit is contained in:
parent
95def2a247
commit
8a62b824f9
@ -24,6 +24,9 @@ function deliver_run($argv, $argc) {
|
||||
$result = z_post_url($r[0]['outq_posturl'],$r[0]['outq_msg']);
|
||||
if($result['success'] && $result['return_code'] < 300) {
|
||||
logger('deliver: queue post success to ' . $r[0]['outq_posturl'], LOGGER_DEBUG);
|
||||
$y = q("update outq set outq_delivered = '%s' where outq_hash = '%s' limit 1",
|
||||
dbesc($argv[$x])
|
||||
);
|
||||
}
|
||||
else {
|
||||
$y = q("update outq set outq_updated = '%s' where outq_hash = '%s' limit 1",
|
||||
|
@ -18,7 +18,7 @@ function diaspora_dispatch_public($msg) {
|
||||
// find everybody following or allowing this author
|
||||
|
||||
|
||||
$r = q("SELECT * from channel where channel_id in ( SELECT abook_channel from abook WHERE abook_network = 'diaspora' and abook_xchan = '%s' )",
|
||||
$r = q("SELECT * from channel where channel_id in ( SELECT abook_channel from abook left join xchan on abook_xchan = xchan_hash WHERE xchan_network like '%%diaspora%%' and xchan_addr = '%s' )",
|
||||
dbesc($msg['author'])
|
||||
);
|
||||
|
||||
@ -339,7 +339,8 @@ function diaspora_pubmsg_build($msg,$channel,$contact,$prvkey,$pubkey) {
|
||||
|
||||
logger('diaspora_pubmsg_build: ' . $msg, LOGGER_DATA);
|
||||
|
||||
$handle = $channel['xchan_addr'];
|
||||
$handle = $channel['channel_address'] . '@' . get_app()->get_hostname();
|
||||
|
||||
|
||||
$b64url_data = base64url_encode($msg,false);
|
||||
|
||||
@ -757,6 +758,10 @@ function diaspora_post($importer,$xml,$msg) {
|
||||
$a = get_app();
|
||||
$guid = notags(unxmlify($xml->guid));
|
||||
$diaspora_handle = notags(unxmlify($xml->diaspora_handle));
|
||||
$app = notags(xmlify($xml->provider_display_name));
|
||||
|
||||
|
||||
|
||||
|
||||
if($diaspora_handle != $msg['author']) {
|
||||
logger('diaspora_post: Potential forgery. Message handle is not the same as envelope sender.');
|
||||
@ -767,6 +772,16 @@ function diaspora_post($importer,$xml,$msg) {
|
||||
if(! $contact)
|
||||
return;
|
||||
|
||||
|
||||
|
||||
if(! $app) {
|
||||
if(strstr($contact['xchan_network'],'friendica'))
|
||||
$app = 'Friendica';
|
||||
else
|
||||
$app = 'Diaspora';
|
||||
}
|
||||
|
||||
|
||||
if(! perm_is_allowed($importer['channel_id'],$contact['xchan_hash'],'send_stream')) {
|
||||
logger('diaspora_post: Ignoring this author.');
|
||||
return 202;
|
||||
@ -857,11 +872,11 @@ function diaspora_post($importer,$xml,$msg) {
|
||||
$datarray['plink'] = $plink;
|
||||
|
||||
$datarray['author_xchan'] = $contact['xchan_hash'];
|
||||
$datarray['owner_xchan'] = $importer['channel_hash'];
|
||||
$datarray['owner_xchan'] = $contact['xchan_hash'];
|
||||
|
||||
$datarray['body'] = $body;
|
||||
|
||||
$datarray['app'] = 'Diaspora';
|
||||
$datarray['app'] = $app;
|
||||
|
||||
$datarray['item_flags'] = ITEM_UNSEEN|ITEM_THREAD_TOP;
|
||||
|
||||
|
@ -46,6 +46,23 @@ function queue_run($argv, $argc){
|
||||
foreach($r as $rr) {
|
||||
if(in_array($rr['outq_posturl'],$deadguys))
|
||||
continue;
|
||||
|
||||
if($rr['outq_driver'] === 'post') {
|
||||
$result = z_post_url($rr['outq_posturl'],$rr['outq_msg']);
|
||||
if($result['success'] && $result['return_code'] < 300) {
|
||||
logger('deliver: queue post success to ' . $rr['outq_posturl'], LOGGER_DEBUG);
|
||||
$y = q("update outq set outq_delivered = '%s' where outq_hash = '%s' limit 1",
|
||||
dbesc($rr['ouq_hash'])
|
||||
);
|
||||
}
|
||||
else {
|
||||
$y = q("update outq set outq_updated = '%s' where outq_hash = '%s' limit 1",
|
||||
dbesc(datetime_convert()),
|
||||
dbesc($rr['outq_hash'])
|
||||
);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
$result = zot_zot($rr['outq_posturl'],$rr['outq_notify']);
|
||||
if($result['success']) {
|
||||
zot_process_response($rr['outq_posturl'],$result, $rr);
|
||||
|
@ -1595,12 +1595,13 @@ function process_delivery($sender,$arr,$deliveries,$relay,$public = false) {
|
||||
$arr['aid'] = $channel['channel_account_id'];
|
||||
$arr['uid'] = $channel['channel_id'];
|
||||
$item_result = item_store($arr);
|
||||
$item_id = $item_result['item_id'];
|
||||
$parr = array('item_id' => $item_id,'item' => $arr,'sender' => $sender,'channel' => $channel);
|
||||
call_hooks('activity_received',$parr);
|
||||
|
||||
add_source_route($item_id,$sender['hash']);
|
||||
|
||||
$item_id = 0;
|
||||
if($item_result['success']) {
|
||||
$item_id = $item_result['item_id'];
|
||||
$parr = array('item_id' => $item_id,'item' => $arr,'sender' => $sender,'channel' => $channel);
|
||||
call_hooks('activity_received',$parr);
|
||||
add_source_route($item_id,$sender['hash']);
|
||||
}
|
||||
$result[] = array($d['hash'],(($item_id) ? 'posted' : 'storage failed:' . $item_result['message']),$channel['channel_name'] . ' <' . $channel['channel_address'] . '@' . get_app()->get_hostname() . '>',$arr['mid']);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user