diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php index 98c155293..508a325ca 100644 --- a/src/Content/Text/BBCode.php +++ b/src/Content/Text/BBCode.php @@ -1724,7 +1724,15 @@ class BBCode // Replace non graphical smilies for external posts if (!$nosmile && !$for_plaintext) { - $text = Smilies::replace($text); + $oldtext = $text; + $text = Smilies::replace($text); + if (DI::config()->get('system', 'big_emojis') && ($simple_html != self::DIASPORA) && ($oldtext != $text)) { + $conv = html_entity_decode(str_replace([' ', "\n", "\r"], '', $text)); + // Emojis are always 4 byte Unicode characters + if (strlen($conv) / mb_strlen($conv) == 4) { + $text = '' . $text . ''; + } + } } if (!$for_plaintext) { diff --git a/static/defaults.config.php b/static/defaults.config.php index 4ef006496..a1d50bb84 100644 --- a/static/defaults.config.php +++ b/static/defaults.config.php @@ -103,6 +103,10 @@ return [ // chose "Remember me" when logging in is considered logged out. 'auth_cookie_lifetime' => 7, + // big_emojis (Boolean) + // Display "Emoji Only" posts in big. + 'big_emojis' => false, + // block_local_dir (Boolean) // Deny public access to the local user directory. 'block_local_dir' => false,