X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FProtocol%2FActivityPub%2FProcessor.php;h=04d05def8e93444cb0615cb549c9805f65e45f51;hb=ddb2d6f5b3f5d9eb0b716ddbd4309c0b527fdb8c;hp=ec2810277b4816dcf5e88333faea06141d66daa5;hpb=606b0257ffee320419266ecf7a58e3bc1e8a7e62;p=friendica.git diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index ec2810277b..04d05def8e 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -26,6 +26,7 @@ use Friendica\Content\Text\HTML; use Friendica\Content\Text\Markdown; use Friendica\Core\Logger; use Friendica\Core\Protocol; +use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; use Friendica\Model\APContact; @@ -90,17 +91,21 @@ class Processor * * @return string with replaced emojis */ - private static function replaceEmojis($body, array $emojis) + private static function replaceEmojis(int $uri_id, $body, array $emojis) { $body = strtr($body, array_combine( array_column($emojis, 'name'), array_map(function ($emoji) { - return '[class=emoji mastodon][img=' . $emoji['href'] . ']' . $emoji['name'] . '[/img][/class]'; + return '[emoji=' . $emoji['href'] . ']' . $emoji['name'] . '[/emoji]'; }, $emojis) ) ); + // We store the emoji here to be able to avoid storing it in the media + foreach ($emojis as $emoji) { + Post\Link::getByLink($uri_id, $emoji['href']); + } return $body; } @@ -283,8 +288,12 @@ class Processor $item['uri'] = $activity['id']; - $item['created'] = DateTimeFormat::utc($activity['published']); - $item['edited'] = DateTimeFormat::utc($activity['updated']); + if (empty($activity['published']) || empty($activity['updated'])) { + DI::logger()->notice('published or updated keys are empty for activity', ['activity' => $activity, 'callstack' => System::callstack(10)]); + } + + $item['created'] = DateTimeFormat::utc($activity['published'] ?? 'now'); + $item['edited'] = DateTimeFormat::utc($activity['updated'] ?? 'now'); $guid = $activity['sc:identifier'] ?: self::getGUIDByURL($item['uri']); $item['guid'] = $activity['diaspora:guid'] ?: $guid; @@ -392,7 +401,7 @@ class Processor * * @param array $activity Activity array * @param array $item - * + * * @return int event id * @throws \Exception */ @@ -404,7 +413,6 @@ class Processor $event['finish'] = $activity['end-time']; $event['nofinish'] = empty($event['finish']); $event['location'] = $activity['location']; - $event['adjust'] = $activity['adjust'] ?? true; $event['cid'] = $item['contact-id']; $event['uid'] = $item['uid']; $event['uri'] = $item['uri']; @@ -456,7 +464,7 @@ class Processor } if (!empty($activity['emojis'])) { - $content = self::replaceEmojis($content, $activity['emojis']); + $content = self::replaceEmojis($item['uri-id'], $content, $activity['emojis']); } $content = self::addMentionLinks($content, $activity['tags']);