Preparation for relay posts with DFRN

This commit is contained in:
Michael 2018-04-27 05:11:52 +00:00
parent 4904be0d6f
commit 9f5a6c05fb
2 changed files with 23 additions and 18 deletions

View file

@ -1405,6 +1405,7 @@ class DFRN
{ {
$a = get_app(); $a = get_app();
if (!$public_batch) {
if (empty($contact['addr'])) { if (empty($contact['addr'])) {
logger('Empty contact handle for ' . $contact['id'] . ' - ' . $contact['url'] . ' - trying to update it.'); logger('Empty contact handle for ' . $contact['id'] . ' - ' . $contact['url'] . ' - trying to update it.');
if (Contact::updateFromProbe($contact['id'])) { if (Contact::updateFromProbe($contact['id'])) {
@ -1425,6 +1426,7 @@ class DFRN
Contact::markForArchival($contact); Contact::markForArchival($contact);
return -22; return -22;
} }
}
$envelope = Diaspora::buildMessage($atom, $owner, $contact, $owner['uprvkey'], $fcontact['pubkey'], $public_batch); $envelope = Diaspora::buildMessage($atom, $owner, $contact, $owner['uprvkey'], $fcontact['pubkey'], $public_batch);

View file

@ -269,7 +269,10 @@ class Delivery extends BaseObject {
// We don't have a relationship with contacts on a public post. // We don't have a relationship with contacts on a public post.
// Se we transmit with the new method and via Diaspora as a fallback // Se we transmit with the new method and via Diaspora as a fallback
if ($items[0]['uid'] == 0) { if ($items[0]['uid'] == 0) {
$deliver_status = DFRN::transmit($owner, $contact, $atom); // Transmit in public if it's a relay post
$public_dfrn = ($contact['contact-type'] == ACCOUNT_TYPE_RELAY);
$deliver_status = DFRN::transmit($owner, $contact, $atom, $public_dfrn);
if (($deliver_status < 200) || ($deliver_status > 299)) { if (($deliver_status < 200) || ($deliver_status > 299)) {
// Transmit via Diaspora if not possible via Friendica // Transmit via Diaspora if not possible via Friendica
self::deliverDiaspora($cmd, $contact, $owner, $items, $target_item, $public_message, $top_level, $followup); self::deliverDiaspora($cmd, $contact, $owner, $items, $target_item, $public_message, $top_level, $followup);