. * */ namespace Friendica\Factory\Api\Mastodon; use Friendica\BaseFactory; use Friendica\Collection\Api\Mastodon\Emojis; class Emoji extends BaseFactory { public function create(string $shortcode, string $url): \Friendica\Object\Api\Mastodon\Emoji { return new \Friendica\Object\Api\Mastodon\Emoji($shortcode, $url); } /** * @param array $smilies * @return Emojis */ public function createCollectionFromSmilies(array $smilies): Emojis { $prototype = null; $emojis = []; foreach ($smilies['texts'] as $key => $shortcode) { if (preg_match('/src="(.+?)"/', $smilies['icons'][$key], $matches)) { $url = $matches[1]; if ($prototype === null) { $prototype = $this->create($shortcode, $url); $emojis[] = $prototype; } else { $emojis[] = \Friendica\Object\Api\Mastodon\Emoji::createFromPrototype($prototype, $shortcode, $url); } }; } return new Emojis($emojis); } }