friendica-addons/unicode_smilies/unicode_smilies.php

260 lines
8.7 KiB
PHP

<?php
/*
* Name: Unicode Smilies
* Description: Smilies based on the unicode emojis - On Linux use https://github.com/eosrei/emojione-color-font to see them in color
* Version: 1.0
* Author: Michael Vogel <http://pirati.ca/profile/heluecht>
*/
require_once 'include/Smilies.php';
function unicode_smilies_install() {
register_hook('smilie', 'addon/unicode_smilies/unicode_smilies.php', 'unicode_smilies_smilies');
}
function unicode_smilies_uninstall() {
unregister_hook('smilie', 'addon/unicode_smilies/unicode_smilies.php', 'unicode_smilies_smilies');
}
function unicode_smilies_smilies(&$a,&$b) {
Smilies::add($b, ':-)', '&#x1F600;');
Smilies::add($b, ':)', '&#x1F600;');
Smilies::add($b, ':-(', '&#x1F641;');
Smilies::add($b, ':(', '&#x1F641;');
Smilies::add($b, ':-[', '&#x1F633;');
Smilies::add($b, ':-D', '&#x1F601;');
Smilies::add($b, ':D', '&#x1F601;');
Smilies::add($b, ';-)', '&#x1F609;');
// Smilies::add($b, ';)', '&#x1F609;'); // Deactivated since this leads to disturbed html entities
Smilies::add($b, ':-P', '&#x1F61B;');
Smilies::add($b, ':-p', '&#x1F61B;');
Smilies::add($b, ':-O', '&#x1F62E;');
Smilies::add($b, ':-X', '&#x1F910;');
Smilies::add($b, ':-x', '&#x1F910;');
Smilies::add($b, '8-)', '&#x1F60E;');
Smilies::add($b, ':-/', '&#x1F615;');
Smilies::add($b, ':-"', '&#x1F48F;');
Smilies::add($b, ':-&quot;', '&#x1F48F;');
Smilies::add($b, ':-!', '&#x1F912;');
Smilies::add($b, '&lt;3', '&#x2764;');
Smilies::add($b, '&lt;/3', '&#x1F494;');
Smilies::add($b, '&lt;\\3', '&#x1F494;');
Smilies::add($b, '8-|', '&#x1F632;');
Smilies::add($b, '8-O', '&#x1F632;');
Smilies::add($b, '\\o/', '&#x1F44D;');
Smilies::add($b, ":'(", '&#x1F622;');
Smilies::add($b, ':coffee', '&#x2615;');
Smilies::add($b, ':beer', '&#x1F37A;');
Smilies::add($b, ':homebrew', '&#x1F37A;');
Smilies::add($b, ':like', '&#x1F44D;');
Smilies::add($b, ':dislike', '&#x1F44E;');
// Smilies::add($b, 'o.O', '&#x;');
// Smilies::add($b, 'O.o', '&#x;');
// Smilies::add($b, 'o_O', '&#x;');
// Smilies::add($b, 'O_o', '&#x;');
// Smilies::add($b, ':facepalm', '&#x1F926;'); // Bad client support
// Animal smileys.
// Smilies::add($b, ':bunnyflowers', '&#x;');
Smilies::add($b, ':chick', '&#x1F424;');
Smilies::add($b, ':bumblebee', '&#x1F41D;');
Smilies::add($b, ':ladybird', '&#x1F41E;');
Smilies::add($b, ':bigspider', '&#x1F577;');
Smilies::add($b, ':cat', '&#x1F408;');
Smilies::add($b, ':bunny', '&#x1F430;');
Smilies::add($b, ':cow', '&#x1F42E;');
Smilies::add($b, ':crab', '&#x1F980;');
Smilies::add($b, ':dolphin', '&#x1F42C;');
// Smilies::add($b, ':dragonfly', '&#x;');
Smilies::add($b, ':frog', '&#x1F438;');
Smilies::add($b, ':hamster', '&#x1F439;');
Smilies::add($b, ':monkey', '&#x1F412;');
Smilies::add($b, ':horse', '&#x1F434;');
// Smilies::add($b, ':parrot', '&#x;');
Smilies::add($b, ':tux', '&#x1F427;');
Smilies::add($b, ':snail', '&#x1F40C;');
Smilies::add($b, ':sheep', '&#x1F411;');
Smilies::add($b, ':dog', '&#x1F436;');
Smilies::add($b, ':elephant', '&#x1F418;');
Smilies::add($b, ':fish', '&#x1F41F;');
// Smilies::add($b, ':giraffe', '&#x1F992;'); // Bad client support
Smilies::add($b, ':pig', '&#x1F416;');
// Baby Smileys
Smilies::add($b, ':baby', '&#x1F476;');
// Smilies::add($b, ':babycot', '&#x;');
// Smilies::add($b, ':pregnant', '&#x1F930;'); // Bad client support
// Smilies::add($b, ':stork', '&#x;');
// Confused Smileys
Smilies::add($b, ':confused', '&#x1F615;');
Smilies::add($b, ':shrug', '&#x1F937;');
// Smilies::add($b, ':stupid', '&#x;');
// Smilies::add($b, ':dazed', '&#x;');
// Cool Smileys
// Smilies::add($b, ':affro', '&#x;');
// Devil/Angel Smileys
Smilies::add($b, ':angel', '&#x1F47C;');
Smilies::add($b, ':cherub', '&#x1F47C;');
// Smilies::add($b, ':devilangel', '&#x;');
// Smilies::add($b, ':catdevil', '&#x;');
// Smilies::add($b, ':devillish', '&#x;');
// Smilies::add($b, ':daseesaw', '&#x;');
// Smilies::add($b, ':turnevil', '&#x;');
// Smilies::add($b, ':saint', '&#x;');
// Smilies::add($b, ':graveside', '&#x;');
// Unpleasent smileys.
Smilies::add($b, ':toilet', '&#x1F6BD;');
// Smilies::add($b, ':fartinbed', '&#x;');
// Smilies::add($b, ':fartblush', '&#x;');
// Sad smileys
Smilies::add($b, ':crying', '&#x1F622;');
// Smilies::add($b, ':prisoner', '&#x;');
// Smilies::add($b, ':sigh', '&#x;');
// Smoking - only one smiley in here, maybe it needs moving elsewhere?
Smilies::add($b, ':smoking', '&#x1F6AC;');
// Sport smileys
Smilies::add($b, ':basketball', '&#x1F3C0;');
Smilies::add($b, '~bowling', '&#x1F3B3;');
Smilies::add($b, ':cycling', '&#x1F6B4;');
Smilies::add($b, ':darts', '&#x1F3AF;');
Smilies::add($b, ':fencing', '&#x1F93A;');
Smilies::add($b, ':juggling', '&#x1F939;');
// Smilies::add($b, ':skipping', '&#x;');
// Smilies::add($b, ':archery', '&#x;');
Smilies::add($b, ':surfing', '&#x1F3C4;');
Smilies::add($b, ':snooker', '&#x1F3B1;');
Smilies::add($b, ':horseriding', '&#x1F3C7;');
// Love smileys
// Smilies::add($b, ':iloveyou', '&#x;');
// Smilies::add($b, ':inlove', '&#x;');
// Smilies::add($b, '~love', '&#x;');
// Smilies::add($b, ':lovebear', '&#x;');
// Smilies::add($b, ':lovebed', '&#x;');
Smilies::add($b, ':loveheart', '&#x1F496;');
// Tired/Sleep smileys
// Smilies::add($b, ':countsheep', '&#x;');
// Smilies::add($b, ':hammock', '&#x;');
// Smilies::add($b, ':pillow', '&#x;');
// Smilies::add($b, ':yawn', '&#x;');
// Fight/Flame/Violent smileys
// Smilies::add($b, ':2guns', '&#x;');
// Smilies::add($b, ':alienfight', '&#x;');
// Smilies::add($b, ':army', '&#x;');
// Smilies::add($b, ':arrowhead', '&#x;');
// Smilies::add($b, ':bfg', '&#x;');
// Smilies::add($b, ':bowman', '&#x;');
// Smilies::add($b, ':chainsaw', '&#x;');
// Smilies::add($b, ':crossbow', '&#x;');
// Smilies::add($b, ':crusader', '&#x;');
// Smilies::add($b, ':dead', '&#x;');
// Smilies::add($b, ':hammersplat', '&#x;');
// Smilies::add($b, ':lasergun', '&#x;');
// Smilies::add($b, ':machinegun', '&#x;');
// Smilies::add($b, ':acid', '&#x;');
// Fantasy smileys - monsters and dragons fantasy. The other type of fantasy belongs in adult smileys
Smilies::add($b, ':alienmonster', '&#x1F47E;');
// Smilies::add($b, ':barbarian', '&#x;');
// Smilies::add($b, ':dinosaur', '&#x;');
Smilies::add($b, ':dragon', '&#x1F409;');
Smilies::add($b, ':draco', '&#x1F409;');
Smilies::add($b, ':ghost', '&#x1F47B;');
// Smilies::add($b, ':mummy', '&#x;');
// Food smileys
Smilies::add($b, ':apple', '&#x1F34E;');
// Smilies::add($b, ':broccoli', '&#x;');
Smilies::add($b, ':cake', '&#x1F370;');
// Smilies::add($b, ':carrot', '&#x1F955;'); // Bad client support
Smilies::add($b, ':popcorn', '&#x1F37F;');
Smilies::add($b, ':tomato', '&#x1F345;');
Smilies::add($b, ':banana', '&#x1F34C;');
Smilies::add($b, ':cooking', '&#x1F373;');
Smilies::add($b, ':fryegg', '&#x1F373;');
Smilies::add($b, ':birthdaycake', '&#x1F382;');
// Happy smileys
// Smilies::add($b, ':cloud9', '&#x;');
Smilies::add($b, ':tearsofjoy', '&#x1F602;');
// Respect smileys
Smilies::add($b, ':bow', '&#x1F647;');
// Smilies::add($b, ':bravo', '&#x;');
// Smilies::add($b, ':hailking', '&#x;');
// Smilies::add($b, ':number1', '&#x;');
// Laugh smileys
// Smilies::add($b, ':hahaha', '&#x;');
// Smilies::add($b, ':loltv', '&#x;');
// Smilies::add($b, ':rofl', '&#x1F923;'); // Bad client support
// Music smileys
// Smilies::add($b, ':drums', '&#x1F941;'); // Bad client support
Smilies::add($b, ':guitar', '&#x1F3B8;');
Smilies::add($b, ':trumpet', '&#x1F3BA;');
// Smileys that used to be in core
// Smilies::add($b, ':headbang', '&#x;');
// Smilies::add($b, ':beard', '&#x1F9D4;'); // Bad client support
// Smilies::add($b, ':whitebeard', '&#x;');
// Smilies::add($b, ':shaka', '&#x;');
// Smilies::add($b, ':\\.../', '&#x;');
// Smilies::add($b, ':\\ooo/', '&#x;');
// Smilies::add($b, ':headdesk', '&#x;');
// These two are still in core, so oldcore isn't strictly right, but we don't want too many directories
// Smilies::add($b, ':-d', '&#x;');
Smilies::add($b, ':-o', '&#x1F62E;');
// Regex killers - stick these at the bottom so they appear at the end of the English and
// at the start of $OtherLanguage.
// Drinks
Smilies::add($b, ':tea', '&#x2615;');
// Smilies::add($b, ':drool', '&#x1F924;'); // Bad client support
Smilies::add($b, ':cool', '&#x1F192;');
// Smilies::add($b, ':vomit', '&#x1F92E;'); // Bad client support
Smilies::add($b, ':golf', '&#x1F3CC;');
Smilies::add($b, ':football', '&#x1F3C8;');
Smilies::add($b, ':tennis', '&#x1F3BE;');
// Smilies::add($b, ':alpha', '&#x;');
// Smilies::add($b, ':marine', '&#x;');
Smilies::add($b, ':sabre', '&#x1F5E1;');
// Smilies::add($b, ':tank', '&#x;');
// Smilies::add($b, ':viking', '&#x;');
// Smilies::add($b, ':gangs', '&#x;');
// Smilies::add($b, ':dj', '&#x;');
// Smilies::add($b, ':elvis', '&#x;');
Smilies::add($b, ':violin', '&#x1F3BB;');
}