For emojis in posts, extend smilies and save a lot of duplication of effort

This commit is contained in:
redmatrix 2016-06-04 17:06:12 -07:00
parent a0d339f208
commit a6012af00d
4 changed files with 14 additions and 14 deletions

View File

@ -783,6 +783,7 @@ class App {
public static $content;
public static $data = array();
public static $error = false;
public static $emojitab = false;
public static $cmd;
public static $argv;
public static $argc;

View File

@ -66,19 +66,6 @@ function bb_unspacefy_and_trim($st) {
}
function bb_emoji($mtch) {
$s = strtolower($mtch[1]);
if(strpos($s,'x')) {
$e = substr($s,strpos($s,'x')+1);
if(file_exists('images/emoji/' . $e . '.png')) {
return '<img width="24" height="24" src="' . z_root() . '/images/emoji/' . $e . '.png" alt="emoji" />';
}
else {
return $mtch[0];
}
}
}
function bb_extract_images($body) {
$saved_image = array();
@ -1014,7 +1001,6 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
$Text = preg_replace_callback("/\[pre\](.*?)\[\/pre\]/ism", 'bb_unspacefy_and_trim', $Text);
}
$Text = preg_replace_callback('/\[\&amp\;([#a-z0-9]+)\;\]/', 'bb_emoji', $Text);
$Text = preg_replace('/\[\&amp\;([#a-z0-9]+)\;\]/', '&$1;', $Text);
// fix any escaped ampersands that may have been converted into links

View File

@ -1155,6 +1155,18 @@ function list_smilies() {
);
$x = get_config('feature','emoji');
if($x === false)
$x = 1;
if($x) {
if(! App::$emojitab)
App::$emojitab = json_decode(file_get_contents('library/emoji.json'),true);
foreach(App::$emojitab as $e) {
$texts[] = $e['shortname'];
$icons[] = '<img height="16" width="16" src="images/emoji/' . $e['unicode'] . '.png' . '" alt="' . $e['name'] . '" />';
}
}
$params = array('texts' => $texts, 'icons' => $icons);
call_hooks('smilie', $params);

1
library/emoji.json Normal file

File diff suppressed because one or more lines are too long