*
* @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(
)
);
+ // 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;
}
*
* @param array $activity Activity array
* @param array $item
- *
+ *
* @return int event id
* @throws \Exception
*/
}
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']);
self::switchContact($cid);
- if (DBA::exists('contact', ['id' => $cid, 'rel' => Contact::SHARING])) {
+ $contact = Contact::getById($cid, ['rel']);
+ if ($contact['rel'] == Contact::SHARING) {
Contact::remove($cid);
Logger::info('Rejected contact request - contact removed', ['contact' => $cid, 'user' => $uid]);
+ } elseif ($contact['rel'] == Contact::FRIEND) {
+ Contact::update(['rel' => Contact::FOLLOWER], ['id' => $cid]);
} else {
Logger::info('Rejected contact request', ['contact' => $cid, 'user' => $uid]);
}