X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FProtocol%2FOStatus.php;h=6318f0940a1c4f0724fe5f36da63c22f05d2b3bc;hb=37a76e70efe66d3181747947b0355ce934cf27d6;hp=a8f4e2429843750c9d0bd57f07caf8c5dd927ea6;hpb=8a3995a740a109b2bcac9b88fee6ecc55dd97c85;p=friendica.git diff --git a/src/Protocol/OStatus.php b/src/Protocol/OStatus.php index a8f4e24298..6318f0940a 100644 --- a/src/Protocol/OStatus.php +++ b/src/Protocol/OStatus.php @@ -1,6 +1,6 @@ get($conversation, ['accept_content' => 'application/atom+xml, text/html']); - if (!$curlResult->isSuccess()) { + if (!$curlResult->isSuccess() || empty($curlResult->getBody())) { return; } @@ -928,7 +922,7 @@ class OStatus $stored = false; $curlResult = DI::httpRequest()->get($related, ['accept_content' => 'application/atom+xml, text/html']); - if (!$curlResult->isSuccess()) { + if (!$curlResult->isSuccess() || empty($curlResult->getBody())) { return; } @@ -1098,7 +1092,9 @@ class OStatus if (($item["object-type"] == Activity\ObjectType::QUESTION) || ($item["object-type"] == Activity\ObjectType::EVENT) ) { - $item["body"] .= "\n" . PageInfo::getFooterFromUrl($attribute['href']); + Post\Media::insert(['uri-id' => $item['uri-id'], 'type' => Post\Media::UNKNOWN, + 'url' => $attribute['href'], 'mimetype' => $attribute['type'] ?? null, + 'size' => $attribute['length'] ?? null, 'description' => $attribute['title'] ?? null]); } break; case "ostatus:conversation": @@ -1125,7 +1121,9 @@ class OStatus } $link_data['related'] = $attribute['href']; } else { - $item["body"] .= "\n" . PageInfo::getFooterFromUrl($attribute['href']); + Post\Media::insert(['uri-id' => $item['uri-id'], 'type' => Post\Media::UNKNOWN, + 'url' => $attribute['href'], 'mimetype' => $attribute['type'] ?? null, + 'size' => $attribute['length'] ?? null, 'description' => $attribute['title'] ?? null]); } break; case "self": @@ -1197,7 +1195,7 @@ class OStatus * @return string The cleaned body * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function formatPicturePost($body) + public static function formatPicturePost($body, $uriid) { $siteinfo = BBCode::getAttachedData($body); @@ -1209,7 +1207,7 @@ class OStatus } // Is it a remote picture? Then make a smaller preview here - $preview = ProxyUtils::proxifyUrl($preview, false, ProxyUtils::SIZE_SMALL); + $preview = Post\Link::getByLink($uriid, $preview, ProxyUtils::SIZE_SMALL); // Is it a local picture? Then make it smaller here $preview = str_replace(["-0.jpg", "-0.png"], ["-2.jpg", "-2.png"], $preview); @@ -1274,7 +1272,7 @@ class OStatus XML::addElement($doc, $root, "id", DI::baseUrl() . "/profile/" . $owner["nick"]); XML::addElement($doc, $root, "title", $title); XML::addElement($doc, $root, "subtitle", sprintf("Updates from %s on %s", $owner["name"], DI::config()->get('config', 'sitename'))); - XML::addElement($doc, $root, "logo", $owner["photo"]); + XML::addElement($doc, $root, "logo", Contact::getAvatarUrlForId($owner['id'], ProxyUtils::SIZE_SMALL, $owner['updated'])); XML::addElement($doc, $root, "updated", DateTimeFormat::utcNow(DateTimeFormat::ATOM)); $author = self::addAuthor($doc, $owner, true); @@ -1429,18 +1427,18 @@ class OStatus $attributes = [ "rel" => "avatar", "type" => "image/jpeg", // To-Do? - "media:width" => 300, - "media:height" => 300, - "href" => $owner["photo"]]; + "media:width" => ProxyUtils::PIXEL_SMALL, + "media:height" => ProxyUtils::PIXEL_SMALL, + "href" => Contact::getAvatarUrlForId($owner['id'], ProxyUtils::SIZE_SMALL, $owner['updated'])]; XML::addElement($doc, $author, "link", "", $attributes); if (isset($owner["thumb"])) { $attributes = [ "rel" => "avatar", "type" => "image/jpeg", // To-Do? - "media:width" => 80, - "media:height" => 80, - "href" => $owner["thumb"]]; + "media:width" => ProxyUtils::PIXEL_THUMB, + "media:height" => ProxyUtils::PIXEL_THUMB, + "href" => Contact::getAvatarUrlForId($owner['id'], ProxyUtils::SIZE_THUMB, $owner['updated'])]; XML::addElement($doc, $author, "link", "", $attributes); } @@ -1805,7 +1803,7 @@ class OStatus if (!$toplevel) { if (!empty($item['title'])) { - $title = BBCode::convert($item['title'], false, BBCode::OSTATUS); + $title = BBCode::convert($item['title'], false, BBCode::OSTATUS, false, $item['uri-id']); } else { $title = sprintf("New note by %s", $owner["nick"]); } @@ -1887,13 +1885,14 @@ class OStatus XML::addElement($doc, $entry, "id", $item["uri"]); XML::addElement($doc, $entry, "title", html_entity_decode($title, ENT_QUOTES, 'UTF-8')); - $body = self::formatPicturePost($item['body']); + $body = Post\Media::addAttachmentsToBody($item['uri-id'], $item['body']); + $body = self::formatPicturePost($body, $item['uri-id']); if (!empty($item['title'])) { $body = "[b]".$item['title']."[/b]\n\n".$body; } - $body = BBCode::convert($body, false, BBCode::OSTATUS); + $body = BBCode::convert($body, false, BBCode::OSTATUS, false, $item['uri-id']); XML::addElement($doc, $entry, "content", $body, ["type" => "html"]);