X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FProtocol%2FDiaspora.php;h=a2a4f36031583d731143b8f2600e1f03a1bc73e3;hb=26ea6f69d726a0a9ff87e5db2f42126ec56708f3;hp=65b84f3cd40a14136b40069a29601e962e130a14;hpb=0c52866693add20fc4476e26a5c7ae14f5d5272a;p=friendica.git diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php index 65b84f3cd4..a2a4f36031 100644 --- a/src/Protocol/Diaspora.php +++ b/src/Protocol/Diaspora.php @@ -7,9 +7,11 @@ * This implementation here interprets the old and the new protocol and sends the new one. * In the future we will remove most stuff from "validPosting" and interpret only the new protocol. */ + namespace Friendica\Protocol; use Friendica\Content\Text\BBCode; +use Friendica\Content\Text\Markdown; use Friendica\Core\Cache; use Friendica\Core\Config; use Friendica\Core\L10n; @@ -826,7 +828,12 @@ class Diaspora // if Diaspora connectivity is enabled on their server if ($r && ($r["network"] === NETWORK_DIASPORA)) { self::addFContact($r, $update); - $person = $r; + + // Fetch the updated or added contact + $person = dba::selectFirst('fcontact', [], ['network' => NETWORK_DIASPORA, 'addr' => $handle]); + if (!DBM::is_result($person)) { + $person = $r; + } } } @@ -903,23 +910,23 @@ class Diaspora } /** - * @brief get a handle (user@domain.tld) from a given contact id or gcontact id + * @brief get a handle (user@domain.tld) from a given contact id * * @param int $contact_id The id in the contact table - * @param int $gcontact_id The id in the gcontact table + * @param int $pcontact_id The id in the contact table (Used for the public contact) * * @return string the handle */ - public static function handleFromContact($contact_id, $gcontact_id = 0) + private static function handleFromContact($contact_id, $pcontact_id = 0) { $handle = false; - logger("contact id is ".$contact_id." - gcontact id is ".$gcontact_id, LOGGER_DEBUG); + logger("contact id is ".$contact_id." - pcontact id is ".$pcontact_id, LOGGER_DEBUG); - if ($gcontact_id != 0) { + if ($pcontact_id != 0) { $r = q( - "SELECT `addr` FROM `gcontact` WHERE `id` = %d AND `addr` != ''", - intval($gcontact_id) + "SELECT `addr` FROM `contact` WHERE `id` = %d AND `addr` != ''", + intval($pcontact_id) ); if (DBM::is_result($r)) { @@ -1724,7 +1731,7 @@ class Diaspora $datarray["plink"] = self::plink($author, $guid, $parent_item['guid']); - $body = diaspora2bb($text); + $body = Markdown::toBBCode($text); $datarray["body"] = self::replacePeopleGuid($body, $person["url"]); @@ -1791,7 +1798,7 @@ class Diaspora return false; } - $body = diaspora2bb($msg_text); + $body = Markdown::toBBCode($msg_text); $message_uri = $msg_author.":".$msg_guid; $person = self::personByHandle($msg_author); @@ -2125,7 +2132,7 @@ class Diaspora return false; } - $body = diaspora2bb($text); + $body = Markdown::toBBCode($text); $body = self::replacePeopleGuid($body, $person["url"]); @@ -2277,8 +2284,8 @@ class Diaspora $image_url = unxmlify($data->image_url); $birthday = unxmlify($data->birthday); $gender = unxmlify($data->gender); - $about = diaspora2bb(unxmlify($data->bio)); - $location = diaspora2bb(unxmlify($data->location)); + $about = Markdown::toBBCode(unxmlify($data->bio)); + $location = Markdown::toBBCode(unxmlify($data->location)); $searchable = (unxmlify($data->searchable) == "true"); $nsfw = (unxmlify($data->nsfw) == "true"); $tags = unxmlify($data->tag_string); @@ -2655,7 +2662,7 @@ class Diaspora if (self::isReshare($r[0]["body"], true)) { $r = []; } elseif (self::isReshare($r[0]["body"], false) || strstr($r[0]["body"], "[share")) { - $r[0]["body"] = diaspora2bb(bb2diaspora($r[0]["body"])); + $r[0]["body"] = Markdown::toBBCode(BBCode::toMarkdown($r[0]["body"])); $r[0]["body"] = self::replacePeopleGuid($r[0]["body"], $r[0]["author-link"]); @@ -2690,7 +2697,7 @@ class Diaspora if (DBM::is_result($r)) { // If it is a reshared post from another network then reformat to avoid display problems with two share elements if (self::isReshare($r[0]["body"], false)) { - $r[0]["body"] = diaspora2bb(bb2diaspora($r[0]["body"])); + $r[0]["body"] = Markdown::toBBCode(BBCode::toMarkdown($r[0]["body"])); $r[0]["body"] = self::replacePeopleGuid($r[0]["body"], $r[0]["author-link"]); } @@ -2934,7 +2941,7 @@ class Diaspora } } - $body = diaspora2bb($text); + $body = Markdown::toBBCode($text); $datarray = []; @@ -3585,14 +3592,14 @@ class Diaspora $eventdata['end'] = DateTimeFormat::convert($event['finish'], "UTC", $eventdata['timezone'], $mask); } if ($event['summary']) { - $eventdata['summary'] = html_entity_decode(bb2diaspora($event['summary'])); + $eventdata['summary'] = html_entity_decode(BBCode::toMarkdown($event['summary'])); } if ($event['desc']) { - $eventdata['description'] = html_entity_decode(bb2diaspora($event['desc'])); + $eventdata['description'] = html_entity_decode(BBCode::toMarkdown($event['desc'])); } if ($event['location']) { $location = []; - $location["address"] = html_entity_decode(bb2diaspora($event['location'])); + $location["address"] = html_entity_decode(BBCode::toMarkdown($event['location'])); $location["lat"] = 0; $location["lng"] = 0; $eventdata['location'] = $location; @@ -3642,7 +3649,7 @@ class Diaspora $body = $item["body"]; // convert to markdown - $body = html_entity_decode(bb2diaspora($body)); + $body = html_entity_decode(BBCode::toMarkdown($body)); // Adding the title if (strlen($title)) { @@ -3827,7 +3834,7 @@ class Diaspora $parent = $p[0]; - $text = html_entity_decode(bb2diaspora($item["body"])); + $text = html_entity_decode(BBCode::toMarkdown($item["body"])); $created = DateTimeFormat::utc($item["created"], DateTimeFormat::ATOM); $comment = ["author" => self::myHandle($owner), @@ -4009,7 +4016,7 @@ class Diaspora */ public static function sendRetraction($item, $owner, $contact, $public_batch = false, $relay = false) { - $itemaddr = self::handleFromContact($item["contact-id"], $item["gcontact-id"]); + $itemaddr = self::handleFromContact($item["contact-id"], $item["author-id"]); $msg_type = "retraction"; @@ -4063,7 +4070,7 @@ class Diaspora "participants" => $cnv["recips"] ]; - $body = bb2diaspora($item["body"]); + $body = BBCode::toMarkdown($item["body"]); $created = DateTimeFormat::utc($item["created"], DateTimeFormat::ATOM); $msg = [