*/ use Friendica\Core\Hook; use Friendica\Core\Logger; use Friendica\DI; function smileybutton_install() { //Register hooks Hook::register('jot_tool', 'addon/smileybutton/smileybutton.php', 'show_button'); Logger::log("installed smileybutton"); } function smileybutton_uninstall() { //Delet registered hooks Hook::unregister('jot_tool', 'addon/smileybutton/smileybutton.php', 'show_button'); Logger::log("removed smileybutton"); } function show_button(Friendica\App $a, &$b) { // Disable if theme is quattro // TODO add style for quattro if ($a->getCurrentTheme() == 'quattro') return; // Disable for mobile because most mobiles have a smiley key for ther own if (DI::mode()->isMobile() || DI::mode()->isMobile()) return; /** * * I have copied this from /include/text.php, removed doubles * and escaped them. * */ $texts = [ '<3', '</3', ':-)', ';-)', ':-(', ':-P', ':-X', ':-D', ':-O', '\\\\o/', 'O_o', ":\'(", ":-!", ":-/", ":-[", "8-)", ':beer', ':coffee', ':facepalm', ':like', ':dislike', '~friendica', 'red#' ]; $icons = [ '<3', '</3', ':-)', ';-)', ':-(', ':-P', ':-X', ':-D', ':-O', '\\o/', 'O_o', ':\'(', ':-!', ':-/', ':-[', '8-)', ':beer', ':coffee', ':facepalm', ':like', ':dislike', '~friendica', 'red' ]; // Call hooks to get aditional smileies from other addons $params = ['texts' => $texts, 'icons' => $icons, 'string' => ""]; //changed Hook::callAll('smilie', $params); //Generate html for smiley list $s = "\n\t"; for($x = 0; $x < count($params['texts']); $x ++) { $icon = $params['icons'][$x]; $icon = str_replace('/>', 'onclick="smileybutton_addsmiley(\'' . $params['texts'][$x] . '\')"/>', $icon); $icon = str_replace('class="smiley"', 'class="smiley_preview"', $icon); $s .= ""; if (($x+1) % (sqrt(count($params['texts']))+1) == 0) { $s .= "\n\t"; } } $s .= "\t
" . $icon . "
"; //Add css to header $css_file = 'addon/smileybutton/view/' . $a->getCurrentTheme() . '.css'; if (! file_exists($css_file)) $css_file = 'addon/smileybutton/view/default.css'; $css_url = DI::baseUrl()->get().'/'.$css_file; DI::page()['htmlhead'] .= ''."\r\n"; //Get the correct image for the theme $image = 'addon/smileybutton/view/' . $a->getCurrentTheme() . '.png'; if (! file_exists($image)) $image = 'addon/smileybutton/view/default.png'; $image_url = DI::baseUrl()->get().'/'.$image; //Add the hmtl and script to the page $b = <<< EOT
smiley
EOT; }