X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FProtocol%2FDFRN.php;h=ff468fb2c17db4d2fb476f03fe245d97d3b7eacc;hb=67afa069abc97e3e00b78993a92881dc4afde9d7;hp=c4355503137923dc9c662f38e626b040b2be20c3;hpb=196ef0111cf3cdb7d2d50a2e14acd92d5da1d26c;p=friendica.git diff --git a/src/Protocol/DFRN.php b/src/Protocol/DFRN.php index c435550313..ff468fb2c1 100644 --- a/src/Protocol/DFRN.php +++ b/src/Protocol/DFRN.php @@ -81,7 +81,8 @@ class DFRN return []; } - $user['importer_uid'] = $user['uid']; + $user['importer_uid'] = $user['uid']; + $user['uprvkey'] = $user['prvkey']; } else { $user = ['importer_uid' => 0, 'uprvkey' => '', 'timezone' => 'UTC', 'nickname' => '', 'sprvkey' => '', 'spubkey' => '', @@ -1163,15 +1164,17 @@ class DFRN * @return int Deliver status. Negative values mean an error. * @todo Add array type-hint for $owner, $contact */ - public static function deliver($owner, $contact, $atom, $dissolve = false) + public static function deliver($owner, $contact, $atom, $dissolve = false, $legacy_transport = false) { $a = get_app(); // At first try the Diaspora transport layer - $ret = self::transmit($owner, $contact, $atom); - if ($ret >= 200) { - logger('Delivery via Diaspora transport layer was successful with status ' . $ret); - return $ret; + if (!$dissolve && !$legacy_transport) { + $ret = self::transmit($owner, $contact, $atom); + if ($ret >= 200) { + logger('Delivery via Diaspora transport layer was successful with status ' . $ret); + return $ret; + } } $idtosend = $orig_id = (($contact['dfrn-id']) ? $contact['dfrn-id'] : $contact['issued-id']); @@ -1217,7 +1220,7 @@ class DFRN $xml = $ret['body']; - $curl_stat = $a->get_curl_code(); + $curl_stat = Network::getCurl()->getCode(); if (empty($curl_stat)) { Contact::markForArchival($contact); return -3; // timed out @@ -1369,13 +1372,13 @@ class DFRN logger('dfrn_deliver: ' . "RECEIVED: " . $xml, LOGGER_DATA); - $curl_stat = $a->get_curl_code(); + $curl_stat = Network::getCurl()->getCode(); if (empty($curl_stat) || empty($xml)) { Contact::markForArchival($contact); return -9; // timed out } - if (($curl_stat == 503) && stristr($a->get_curl_headers(), 'retry-after')) { + if (($curl_stat == 503) && stristr(Network::getCurl()->getHeaders(), 'retry-after')) { Contact::markForArchival($contact); return -10; } @@ -1466,14 +1469,14 @@ class DFRN $xml = Network::post($dest_url, $envelope, ["Content-Type: ".$content_type]); - $curl_stat = $a->get_curl_code(); + $curl_stat = Network::getCurl()->getCode(); if (empty($curl_stat) || empty($xml)) { logger('Empty answer from ' . $contact['id'] . ' - ' . $dest_url); Contact::markForArchival($contact); return -9; // timed out } - if (($curl_stat == 503) && (stristr($a->get_curl_headers(), 'retry-after'))) { + if (($curl_stat == 503) && (stristr(Network::getCurl()->getHeaders(), 'retry-after'))) { Contact::markForArchival($contact); return -10; } @@ -2346,6 +2349,12 @@ class DFRN if (Item::exists($condition)) { return false; } + + // The owner of an activity must be the author + $item["owner-name"] = $item["author-name"]; + $item["owner-link"] = $item["author-link"]; + $item["owner-avatar"] = $item["author-avatar"]; + $item["owner-id"] = $item["author-id"]; } else { $is_like = false; } @@ -2487,7 +2496,7 @@ class DFRN /// @todo Do we really need this check for HTML elements? (It was copied from the old function) if ((strpos($item['body'], '<') !== false) && (strpos($item['body'], '>') !== false)) { - $base_url = get_app()->get_baseurl(); + $base_url = get_app()->getBaseURL(); $item['body'] = reltoabs($item['body'], $base_url); $item['body'] = html2bb_video($item['body']);