]> git.mxchange.org Git - friendica.git/blob - src/Factory/Api/Mastodon/Emoji.php
Merge pull request #8227 from annando/daemon-checks
[friendica.git] / src / Factory / Api / Mastodon / Emoji.php
1 <?php
2
3 namespace Friendica\Factory\Api\Mastodon;
4
5 use Friendica\App\BaseURL;
6 use Friendica\BaseFactory;
7 use Friendica\Collection\Api\Mastodon\Emojis;
8 use Friendica\Model\APContact;
9 use Friendica\Model\Contact;
10 use Friendica\Network\HTTPException;
11 use Psr\Log\LoggerInterface;
12
13 class Emoji extends BaseFactory
14 {
15         public function create(string $shortcode, string $url)
16         {
17                 return new \Friendica\Object\Api\Mastodon\Emoji($shortcode, $url);
18         }
19
20         /**
21          * @param array $smilies
22          * @return Emojis
23          */
24         public function createCollectionFromSmilies(array $smilies)
25         {
26                 $prototype = null;
27
28                 $emojis = [];
29
30                 foreach ($smilies['texts'] as $key => $shortcode) {
31                         if (preg_match('/src="(.+?)"/', $smilies['icons'][$key], $matches)) {
32                                 $url = $matches[1];
33
34                                 if ($prototype === null) {
35                                         $prototype = $this->create($shortcode, $url);
36                                         $emojis[] = $prototype;
37                                 } else {
38                                         $emojis[] = \Friendica\Object\Api\Mastodon\Emoji::createFromPrototype($prototype, $shortcode, $url);
39                                 }
40                         };
41                 }
42
43                 return new Emojis($emojis);
44         }
45 }