public function showBody() { \Emojione\Emojione::$ascii = true; \Emojione\Emojione::$imagePathPNG = '/components/emojione/assets/png/'; \Emojione\Emojione::$cacheBustParam = ''; $data = \Emojione\Emojione::toImage(nl2br(htmlspecialchars($this->body))); return embedYoutubeForComment($data); }
/** * @param string $message * @param array $_course * @param int $group_id * @param int $session_id * @param bool $preview */ function saveMessage($message, $userId, $_course, $session_id, $group_id, $preview = true) { $userInfo = api_get_user_info($userId); $fullName = $userInfo['complete_name']; $isMaster = (bool) api_is_course_admin(); $document_path = api_get_path(SYS_COURSE_PATH) . $_course['path'] . '/document'; if (!empty($group_id)) { $group_info = GroupManager::get_group_properties($group_id); $basepath_chat = $group_info['directory'] . '/chat_files'; } else { $basepath_chat = '/chat_files'; } $chat_path = $document_path . $basepath_chat . '/'; if (!is_dir($chat_path)) { if (is_file($chat_path)) { @unlink($chat_path); } } $date_now = date('Y-m-d'); $message = trim($message); $timeNow = date('d/m/y H:i:s'); if (!empty($group_id)) { $basename_chat = 'messages-' . $date_now . '_gid-' . $group_id; } elseif (!empty($session_id)) { $basename_chat = 'messages-' . $date_now . '_sid-' . $session_id; } else { $basename_chat = 'messages-' . $date_now; } if (!api_is_anonymous()) { if (!empty($message)) { Emojione\Emojione::$imagePathPNG = api_get_path(WEB_LIBRARY_PATH) . 'javascript/emojione/png/'; Emojione\Emojione::$ascii = true; // Parsing emojis $message = Emojione\Emojione::toImage($message); // Parsing text to understand markdown (code highlight) $message = MarkdownExtra::defaultTransform($message); // Security XSS $message = Security::remove_XSS($message); if ($preview == true) { return $message; } if (!file_exists($chat_path . $basename_chat . '.log.html')) { $doc_id = add_document($_course, $basepath_chat . '/' . $basename_chat . '.log.html', 'file', 0, $basename_chat . '.log.html'); api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'DocumentAdded', $userId, $group_id, null, null, null, $session_id); api_item_property_update($_course, TOOL_DOCUMENT, $doc_id, 'invisible', $userId, $group_id, null, null, null, $session_id); item_property_update_on_folder($_course, $basepath_chat, $userId); } else { $doc_id = DocumentManager::get_document_id($_course, $basepath_chat . '/' . $basename_chat . '.log.html'); } $fp = fopen($chat_path . $basename_chat . '.log.html', 'a'); $userPhoto = Usermanager::getUserPicture($userId, USER_IMAGE_SIZE_MEDIUM); $filePhoto = '<img class="chat-image" src="' . $userPhoto . '"/>'; if ($isMaster) { fputs($fp, '<div class="message-teacher"><div class="content-message"><div class="chat-message-block-name">' . $fullName . '</div><div class="chat-message-block-content">' . $message . '</div><div class="message-date">' . $timeNow . '</div></div><div class="icon-message"></div>' . $filePhoto . '</div>' . "\n"); } else { fputs($fp, '<div class="message-student">' . $filePhoto . '<div class="icon-message"></div><div class="content-message"><div class="chat-message-block-name">' . $fullName . '</div><div class="chat-message-block-content">' . $message . '</div><div class="message-date">' . $timeNow . '</div></div></div>' . "\n"); } fclose($fp); $chat_size = filesize($chat_path . $basename_chat . '.log.html'); update_existing_document($_course, $doc_id, $chat_size); item_property_update_on_folder($_course, $basepath_chat, $userId); } } }
private function replaceEmoji($input) { $strReplace = '___REPLACE___'; $arrEmoticons = array(":-)", ":)", ";-)", ";)", ":-(", ":("); $arrEmojione = array(":smiley:", ":smiley:", ":wink:", ":wink:", ":disappointed:", ":disappointed:"); $input = str_replace($arrEmoticons, $arrEmojione, $input); \Emojione\Emojione::$cacheBustParam = ''; \Emojione\Emojione::$imagePathPNG = $strReplace; $content = \Emojione\Emojione::shortnameToImage($input); $content = preg_replace_callback('/' . $strReplace . '(.*)' . '\\.png/Si', 'static::emoticonCallback', $content); return $content; }
<?php # include the PHP library (if not autoloaded) require './../lib/php/autoload.php'; ################################################ # Optional: # default is PNG but you may also use SVG Emojione\Emojione::$imageType = 'svg'; # default is ignore ASCII smileys like :) but you can easily turn them on Emojione\Emojione::$ascii = true; # if you want to host the images somewhere else # you can easily change the default paths Emojione\Emojione::$imagePathPNG = './../assets/png/'; Emojione\Emojione::$imagePathSVG = './../assets/svg/'; ################################################ ?> <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>::shortnameToImage($str) - PHP - Emoji One Labs</title> <!-- Emoji One CSS: --> <link rel="stylesheet" href="./../assets/css/emojione.min.css" type="text/css" media="all" /> <!-- jQuery: --> <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <!-- Demos Stylesheet: --> <link rel="stylesheet" href="styles/demos.css"/>