diff options
Diffstat (limited to 'Zotlabs/Module/Item.php')
-rw-r--r-- | Zotlabs/Module/Item.php | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Zotlabs/Module/Item.php b/Zotlabs/Module/Item.php index 5c802f557..b158ed4e0 100644 --- a/Zotlabs/Module/Item.php +++ b/Zotlabs/Module/Item.php @@ -938,6 +938,30 @@ class Item extends Controller { } } + if (preg_match_all('/(\:(\w|\+|\-)+\:)(?=|[\!\.\?]|$)/', $body, $match)) { + // emoji shortcodes + $emojis = get_emojis(); + foreach ($match[0] as $mtch) { + $shortname = trim($mtch, ':'); + + if (!isset($emojis[$shortname])) { + continue; + } + + $emoji = $emojis[$shortname]; + + $post_tags[] = [ + 'uid' => $profile_uid, + 'ttype' => TERM_EMOJI, + 'otype' => TERM_OBJ_POST, + 'term' => trim($mtch), + 'url' => z_root() . '/emoji/' . $shortname, + 'imgurl' => z_root() . '/' . $emoji['filepath'] + ]; + } + } + + // BBCODE end alert } @@ -958,6 +982,10 @@ class Item extends Controller { } } + + + + if ($orig_post) { // preserve original tags $t = q("select * from term where oid = %d and otype = %d and uid = %d and ttype in ( %d, %d, %d )", |