Files
wyczarujprezent.pl/modules/ets_reviews/classes/EtsRVComment.php
2024-10-28 22:14:22 +01:00

385 lines
60 KiB
PHP

<?php
/**
* Copyright ETS Software Technology Co., Ltd
*
* NOTICE OF LICENSE
*
* This file is not open source! Each license that you purchased is only available for 1 website only.
* If you want to use this file on more websites (or projects), you need to purchase additional licenses.
* You are not allowed to redistribute, resell, lease, license, sub-license or offer our resources to any third party.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future.
*
* @author ETS Software Technology Co., Ltd
* @copyright ETS Software Technology Co., Ltd
* @license Valid for 1 website (or project) for each purchase of license
*/
if (!defined('_PS_VERSION_')) {
exit;
}
class EtsRVComment extends EtsRVModel
{
public $id;
public $id_ets_rv_product_comment;
public $id_customer;
public $content;
public $employee = 0;
public $validate = 0;
public $question = 0;
public $answer = 0;
public $useful_answer = 0;
public $deleted = 0;
public $date_add;
public $upd_date;
public $origin_content;
/**
* @see ObjectModel::$definition
*/
public static $definition = array(
'table' => 'ets_rv_comment',
'primary' => 'id_ets_rv_comment',
'multilang' => true,
'fields' => array(
'id_ets_rv_product_comment' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
'id_customer' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId', 'required' => true),
'employee' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
'validate' => array('type' => self::TYPE_INT, 'validate' => 'isUnsignedInt'),
'question' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
'answer' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
'useful_answer' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
'deleted' => array('type' => self::TYPE_BOOL, 'validate' => 'isBool'),
'date_add' => array('type' => self::TYPE_DATE),
'upd_date' => array('type' => self::TYPE_DATE),
//Lang fields.
'content' => array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml'),//, 'size' => 65535
),
);
public static function getIcons()
{
return array(
':D' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="11.5" cy="12.5" rx="2.5" ry="5.5"/><ellipse fill="#664500" cx="24.5" cy="12.5" rx="2.5" ry="5.5"/><path fill="#664500" d="M18 22c-3.623 0-6.027-.422-9-1-.679-.131-2 0-2 2 0 4 4.595 9 11 9 6.404 0 11-5 11-9 0-2-1.321-2.132-2-2-2.973.578-5.377 1-9 1z"/><path fill="#FFF" d="M9 23s3 1 9 1 9-1 9-1-2 4-9 4-9-4-9-4z"/></svg>',
':d' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="11.5" cy="12.5" rx="2.5" ry="5.5"/><ellipse fill="#664500" cx="24.5" cy="12.5" rx="2.5" ry="5.5"/><path fill="#664500" d="M18 22c-3.623 0-6.027-.422-9-1-.679-.131-2 0-2 2 0 4 4.595 9 11 9 6.404 0 11-5 11-9 0-2-1.321-2.132-2-2-2.973.578-5.377 1-9 1z"/><path fill="#FFF" d="M9 23s3 1 9 1 9-1 9-1-2 4-9 4-9-4-9-4z"/></svg>',
':)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M28.457 17.797c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.145.591.175.142.426.147.61.014.012-.009 1.262-.902 3.702-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.177-.142.238-.386.145-.594zm-12 0c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.144.591.176.142.427.147.61.014.013-.009 1.262-.902 3.703-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.178-.142.237-.386.145-.594zM18 22c-3.623 0-6.027-.422-9-1-.679-.131-2 0-2 2 0 4 4.595 9 11 9 6.404 0 11-5 11-9 0-2-1.321-2.132-2-2-2.973.578-5.377 1-9 1z"/><path fill="#FFF" d="M9 23s3 1 9 1 9-1 9-1-2 4-9 4-9-4-9-4z"/></svg>',
'(xd)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M18 22c-3.623 0-6.027-.422-9-1-.679-.131-2 0-2 2 0 4 4.595 9 11 9 6.404 0 11-5 11-9 0-2-1.321-2.132-2-2-2.973.578-5.377 1-9 1z"/><path fill="#FFF" d="M9 23s3 1 9 1 9-1 9-1-2 4-9 4-9-4-9-4z"/><path fill="#664500" d="M6.001 20c-.304 0-.604-.138-.801-.4-.332-.441-.242-1.068.2-1.399.143-.107 2.951-2.183 6.856-2.933C9.781 14.027 7.034 14 6.999 14c-.552-.002-.999-.45-.998-1.002 0-.551.447-.998.999-.998.221 0 5.452.038 8.707 3.293.286.286.372.716.217 1.09-.155.374-.52.617-.924.617-4.613 0-8.363 2.772-8.4 2.8-.18.135-.391.2-.599.2zm23.998-.001c-.208 0-.418-.064-.598-.198C29.363 19.772 25.59 17 21 17c-.404 0-.77-.243-.924-.617-.155-.374-.069-.804.217-1.09C23.549 12.038 28.779 12 29 12c.552 0 .998.447.999.998.001.552-.446 1-.997 1.002-.036 0-2.783.027-5.258 1.268 3.905.75 6.713 2.825 6.855 2.933.441.331.531.956.201 1.398-.196.261-.496.4-.801.4z"/></svg>',
'(sweat_smile)' => '<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M28.457 17.797c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.145.591.175.142.426.147.61.014.012-.009 1.262-.902 3.702-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.177-.142.238-.386.145-.594zm-12 0c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.144.591.176.142.427.147.61.014.013-.009 1.262-.902 3.703-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.178-.142.237-.386.145-.594zM18 22c-3.623 0-6.027-.422-9-1-.679-.131-2 0-2 2 0 4 4.595 9 11 9 6.404 0 11-5 11-9 0-2-1.321-2.132-2-2-2.973.578-5.377 1-9 1z"/><path fill="#FFF" d="M9 23s3 1 9 1 9-1 9-1-2 4-9 4-9-4-9-4z"/><path fill="#5DADEC" d="M35 11c0 2.762-2.238 5-5 5s-5-2.238-5-5 4-10 5-10 5 7.238 5 10z"/></svg>',
'(cwl)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCB4C" d="M30.728 5.272c7.029 7.029 7.029 18.427 0 25.456s-18.426 7.029-25.456 0c-7.029-7.029-7.029-18.427 0-25.456s18.426-7.029 25.456 0"/><path fill="#65471B" d="M19.279 19.28c-3.494 3.494-6.219 5.404-9.645 7.714-.781.529-1.928 1.929.001 3.859 3.857 3.857 13.111 4.247 19.287-1.929 6.177-6.177 5.788-15.43 1.929-19.288-1.929-1.93-3.33-.782-3.858 0-2.308 3.423-4.219 6.149-7.714 9.644z"/><path fill="#FFF" d="M11.564 28.923s3.858-1.929 9.644-7.716c5.787-5.786 7.715-9.643 7.715-9.643s1.928 5.787-4.822 12.537c-6.75 6.751-12.537 4.822-12.537 4.822z"/><path fill="#65471B" d="M8.265 25.234c-.215.215-.525.33-.849.283-.547-.078-.927-.584-.848-1.131.025-.176.543-3.63 2.774-6.922-2.627.873-4.589 2.796-4.614 2.821-.391.389-1.024.388-1.414-.003-.39-.39-.39-1.022 0-1.412.156-.156 3.882-3.828 8.485-3.828.405 0 .769.243.924.617.155.374.069.804-.217 1.09-3.262 3.262-3.953 7.874-3.96 7.919-.031.224-.134.419-.281.566zm16.968-16.97c-.147.147-.341.25-.563.282-.047.007-4.676.715-7.921 3.96-.286.286-.716.372-1.09.217-.374-.155-.617-.519-.617-.924 0-4.604 3.672-8.329 3.828-8.485.39-.39 1.022-.39 1.412 0 .391.389.392 1.023.003 1.413-.026.026-1.949 1.987-2.822 4.614 3.292-2.231 6.745-2.749 6.921-2.774.546-.078 1.052.3 1.131.847.049.324-.066.635-.282.85z"/><path fill="#64AADD" d="M30.101 12.055c2.741.334 5.234-1.618 5.567-4.36.334-2.741-1.617-5.234-4.359-5.568-2.741-.333-10.409 2.763-10.53 3.756-.121.992 6.581 5.837 9.322 6.172zM12.157 29.999c.334 2.741-1.618 5.234-4.36 5.567-2.741.334-5.234-1.617-5.568-4.359-.334-2.742 2.763-10.41 3.756-10.531.992-.12 5.837 6.582 6.172 9.323z"/></svg>',
':upside_down_face:' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M0 18C0 8.059 8.059 0 18 0s18 8.059 18 18-8.059 18-18 18S0 27.941 0 18"/><path fill="#664500" d="M8.665 12.871c.178.161.444.171.635.029.039-.029 3.922-2.9 8.7-2.9 4.766 0 8.662 2.871 8.7 2.9.191.142.457.13.635-.029.177-.16.217-.424.094-.628C27.3 12.029 24.212 7 18 7s-9.301 5.028-9.429 5.243c-.123.205-.084.468.094.628z"/><ellipse fill="#664500" cx="11.5" cy="21.5" rx="2.5" ry="3.5"/><ellipse fill="#664500" cx="24.5" cy="21.5" rx="2.5" ry="3.5"/></svg>',
';)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="11.5" cy="16.5" rx="2.5" ry="3.5"/><path fill="#664500" d="M28.457 17.797c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.145.591.175.142.426.147.61.014.012-.009 1.262-.902 3.702-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.177-.142.238-.386.145-.594zM5.999 12.458c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4 3.262-4.35 7.616-4.4 7.8-4.4.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.156.002-3.569.086-6.205 3.6-.195.262-.496.4-.8.4zm23.002 2.125c-.305 0-.604-.138-.801-.4-2.592-3.457-6.961-2.627-7.004-2.62-.547.108-1.068-.243-1.177-.784-.108-.542.243-1.068.784-1.177.231-.047 5.657-1.072 8.996 3.38.332.442.242 1.069-.2 1.4-.179.137-.389.201-.598.201zm-5.747 8.994c-.188-.11-.432-.087-.597.06-.01.008-1.013.863-4.657.863-3.641 0-4.646-.854-4.646-.854-.159-.16-.404-.19-.6-.082-.195.111-.293.339-.238.557.01.044 1.144 4.379 5.484 4.379s5.474-4.335 5.485-4.379c.053-.213-.044-.431-.231-.544z"/></svg>',
':$' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><circle fill="#FF7892" cx="7" cy="18" r="5"/><circle fill="#FF7892" cx="29" cy="18" r="5"/><path fill="#664500" d="M27.335 21.629c-.178-.161-.444-.171-.635-.029-.039.029-3.922 2.9-8.7 2.9-4.766 0-8.662-2.871-8.7-2.9-.191-.142-.457-.13-.635.029-.177.16-.217.424-.094.628C8.7 22.472 11.788 27.5 18 27.5s9.301-5.028 9.429-5.243c.123-.205.084-.468-.094-.628zM7.999 15c-.15 0-.303-.034-.446-.106-.494-.247-.694-.848-.447-1.342C7.158 13.448 8.424 11 12 11c3.577 0 4.842 2.449 4.894 2.553.247.494.047 1.095-.447 1.342-.492.245-1.085.049-1.336-.436C15.068 14.379 14.281 13 12 13c-2.317 0-3.099 1.433-3.106 1.447-.175.351-.528.553-.895.553zm20.002 0c-.367 0-.72-.202-.896-.553C27.08 14.401 26.299 13 24 13s-3.08 1.401-3.112 1.46c-.26.481-.859.67-1.345.42-.485-.252-.682-.839-.438-1.328C19.157 13.449 20.423 11 24 11s4.843 2.449 4.895 2.553c.247.494.047 1.095-.447 1.342-.144.071-.297.105-.447.105z"/></svg>',
'(innocent)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#FFCC4D" cx="18" cy="18" r="18"/><path fill="#664500" d="M27.335 22.629c-.178-.161-.444-.171-.635-.029-.039.029-3.922 2.9-8.7 2.9-4.766 0-8.662-2.871-8.7-2.9-.191-.142-.457-.13-.635.029-.177.16-.217.424-.094.628C8.7 23.472 11.788 28.5 18 28.5s9.301-5.028 9.429-5.243c.123-.205.084-.468-.094-.628zM26 19c-.419 0-.809-.265-.948-.684C24.849 17.717 24.033 16 23 16c-1.062 0-1.889 1.827-2.052 2.316-.175.523-.736.808-1.265.632-.523-.174-.807-.74-.632-1.265C19.177 17.307 20.355 14 23 14s3.823 3.307 3.948 3.684c.175.524-.108 1.091-.632 1.265-.105.034-.212.051-.316.051zm-10 0c-.419 0-.809-.265-.949-.684C14.848 17.717 14.034 16 13 16c-1.062 0-1.888 1.827-2.051 2.316-.175.523-.738.808-1.265.632-.524-.174-.807-.74-.632-1.265C9.177 17.307 10.355 14 13 14s3.823 3.307 3.949 3.684c.175.524-.108 1.091-.632 1.265-.106.034-.213.051-.317.051z"/><path fill="#FFAC33" d="M33.175 8.316s-9.042.161-15.175.161c-3.905 0-15.206-.118-15.206-.118l-.521.876c3.043 1.856 9.064 2.917 15.727 2.917 6.596 0 12.576-1.04 15.652-2.86l.078-.047s-.374-.664-.555-.929z"/><path fill="#5DADEC" d="M23.777.345c-1.212-.094-2.473-.159-3.773-.19C19.343.139 18.676.129 18 .129c-.672 0-1.336.01-1.993.025-1.302.031-2.564.096-3.777.19C5.34.88.169 2.451.169 5.287c0 3.588 8.264 5.771 17.831 5.771s17.831-2.183 17.831-5.771c0-2.835-5.168-4.405-12.054-4.942zM18 7.383c-6.861 0-12.91-.833-12.91-2.736 0-.536.494-1.023 1.339-1.449 1.153-.581 2.978-1.044 5.189-1.349 1.911-.262 4.098-.41 6.382-.41 2.291 0 4.485.148 6.4.413 2.242.31 4.086.783 5.232 1.377.807.418 1.278.894 1.278 1.418 0 1.903-6.049 2.736-12.91 2.736z"/><path fill="#3B94D9" d="M24.4 1.853c2.242.31 4.086.783 5.232 1.377l.062.017c-2.285-1.674-4.57-2.56-5.917-2.902-1.212-.094-2.473-.159-3.773-.19l.018.007L24.4 1.853zM6.429 3.199c1.153-.581 2.978-1.044 5.189-1.349L15.984.162l.023-.008c-1.302.031-2.564.096-3.777.19-1.347.342-3.633 1.227-5.919 2.902l.118-.047z"/><path fill="#FFCC4D" d="M28.472 3.375c-.66-.443-1.346-.91-2.001-1.26C23.947.765 21.063 0 18 0c-2.929 0-5.695.7-8.14 1.941-1.089.553-1.881.999-2.17 1.434h20.782z"/></svg>',
'(inlove)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#FFCC4D" cx="18" cy="18" r="18"/><path fill="#664500" d="M16 16.958c-.419 0-.809-.265-.949-.684-.203-.599-1.018-2.316-2.051-2.316-1.062 0-1.888 1.827-2.051 2.316-.175.523-.738.808-1.265.632-.524-.174-.807-.741-.632-1.265.125-.377 1.304-3.684 3.949-3.684s3.823 3.307 3.949 3.684c.175.524-.108 1.091-.632 1.265-.106.036-.213.052-.318.052zm10 0c-.419 0-.809-.265-.948-.684-.203-.599-1.019-2.316-2.052-2.316-1.062 0-1.889 1.827-2.052 2.316-.175.523-.736.808-1.265.632-.523-.174-.807-.741-.632-1.265.125-.377 1.304-3.684 3.948-3.684s3.823 3.307 3.948 3.684c.175.524-.108 1.091-.632 1.265-.104.036-.21.052-.315.052zm1.335 3.733c-.178-.161-.444-.171-.635-.029-.039.029-3.922 2.9-8.7 2.9-4.766 0-8.662-2.871-8.7-2.9-.191-.142-.457-.13-.635.029-.177.16-.217.424-.094.628.129.215 3.217 5.243 9.429 5.243s9.301-5.028 9.429-5.243c.123-.205.084-.467-.094-.628z"/><path fill="#FFAC33" d="M21.229 3.947c0 .24.03.472.082.696.425 2.643 3.364 5.431 5.47 6.197 1.665-.605 3.846-2.476 4.898-4.539C29.59 3.861 26.86 1.987 23.75.939c-1.432.257-2.521 1.502-2.521 3.008zm-7.486 25.131c.057-.242.09-.494.09-.754 0-1.833-1.486-3.319-3.319-3.319-1.113 0-2.094.549-2.697 1.389-.602-.839-1.584-1.389-2.697-1.389-1.241 0-2.311.689-2.88 1.698 1.824 3.295 4.65 5.957 8.068 7.574 1.637-1.351 3.131-3.307 3.435-5.199zm20.558-3.436c-.282-.95-1.152-1.647-2.194-1.647-.771 0-1.451.38-1.868.962-.417-.582-1.097-.962-1.868-.962-1.27 0-2.299 1.029-2.299 2.299 0 .18.023.354.062.522.307 1.905 2.348 3.896 3.909 4.561 1.776-1.6 3.231-3.547 4.258-5.735z"/><path fill="#DD2E44" d="M33.625 3.269c0-1.692-1.372-3.063-3.063-3.063-1.027 0-1.933.507-2.489 1.282C27.517.713 26.611.206 25.584.206c-1.692 0-3.063 1.371-3.063 3.063 0 .24.03.472.082.696.426 2.643 3.364 5.431 5.47 6.197 2.106-.766 5.044-3.554 5.469-6.196.053-.225.083-.457.083-.697zM12.208 28.408c0-1.833-1.486-3.319-3.319-3.319-1.113 0-2.094.549-2.697 1.389-.602-.84-1.584-1.389-2.697-1.389-1.833 0-3.319 1.486-3.319 3.319 0 .26.033.511.089.754.461 2.863 3.644 5.884 5.926 6.714 2.282-.829 5.465-3.85 5.926-6.713.058-.244.091-.496.091-.755zm23.74-2.281c0-1.27-1.029-2.299-2.299-2.299-.771 0-1.451.38-1.868.962-.417-.582-1.097-.962-1.868-.962-1.27 0-2.299 1.029-2.299 2.299 0 .18.023.354.062.522.319 1.983 2.524 4.076 4.105 4.65 1.58-.574 3.786-2.667 4.104-4.65.04-.168.063-.342.063-.522z"/></svg>',
'(heart_eyes)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><path fill="#664500" d="M18 21.849c-2.966 0-4.935-.346-7.369-.819-.557-.106-1.638 0-1.638 1.638 0 3.275 3.763 7.369 9.007 7.369s9.007-4.094 9.007-7.369c0-1.638-1.082-1.745-1.638-1.638-2.434.473-4.402.819-7.369.819"/><path fill="#DD2E44" d="M16.65 3.281C15.791.85 13.126-.426 10.694.431c-1.476.52-2.521 1.711-2.928 3.104-1.191-.829-2.751-1.1-4.225-.58C1.111 3.813-.167 6.48.692 8.911c.122.344.284.663.472.958 1.951 3.582 7.588 6.1 11.001 6.131 2.637-2.167 5.446-7.665 4.718-11.677-.038-.348-.113-.698-.233-1.042zm2.7 0C20.209.85 22.875-.426 25.306.431c1.476.52 2.521 1.711 2.929 3.104 1.191-.829 2.751-1.1 4.225-.58 2.43.858 3.707 3.525 2.85 5.956-.123.344-.284.663-.473.958-1.951 3.582-7.588 6.1-11.002 6.131-2.637-2.167-5.445-7.665-4.717-11.677.037-.348.112-.698.232-1.042z"/></svg>',
'(star_struck)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><path fill="#664500" d="M18 21c-3.623 0-6.027-.422-9-1-.679-.131-2 0-2 2 0 4 4.595 9 11 9 6.404 0 11-5 11-9 0-2-1.321-2.132-2-2-2.973.578-5.377 1-9 1z"/><path fill="#FFF" d="M9 22s3 1 9 1 9-1 9-1-2 4-9 4-9-4-9-4z"/><path fill="#E95F28" d="M15.682 4.413l-4.542.801L8.8.961C8.542.492 8.012.241 7.488.333c-.527.093-.937.511-1.019 1.039l-.745 4.797-4.542.801c-.535.094-.948.525-1.021 1.064s.211 1.063.703 1.297l4.07 1.932-.748 4.812c-.083.536.189 1.064.673 1.309.179.09.371.133.562.133.327 0 .65-.128.891-.372l3.512-3.561 4.518 2.145c.49.232 1.074.123 1.446-.272.372-.395.446-.984.185-1.459L13.625 9.73l3.165-3.208c.382-.387.469-.977.217-1.459-.254-.482-.793-.743-1.325-.65zm4.636 0l4.542.801L27.2.961c.258-.469.788-.72 1.312-.628.526.093.936.511 1.018 1.039l.745 4.797 4.542.801c.536.094.949.524 1.021 1.063s-.211 1.063-.703 1.297l-4.07 1.932.748 4.812c.083.536-.189 1.064-.673 1.309-.179.09-.371.133-.562.133-.327 0-.65-.128-.891-.372l-3.512-3.561-4.518 2.145c-.49.232-1.074.123-1.446-.272-.372-.395-.446-.984-.185-1.459l2.348-4.267-3.165-3.208c-.382-.387-.469-.977-.217-1.459.255-.482.794-.743 1.326-.65z"/></svg>',
'(kissing_heart)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#FFCC4D" cx="18" cy="18" r="18"/><ellipse fill="#664500" cx="11.5" cy="15.5" rx="2.5" ry="3.5"/><path fill="#664500" d="M28.457 17.797c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.145.591.175.142.426.147.61.014.012-.009 1.262-.902 3.702-.902 2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.177-.142.238-.386.145-.594zM5.999 11c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4C8.462 5.05 12.816 5 13 5c.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.155.002-3.568.086-6.204 3.6-.196.262-.497.4-.801.4zm23.002 3c-.305 0-.604-.138-.801-.4-2.592-3.456-6.961-2.628-7.004-2.62-.547.11-1.068-.244-1.177-.784-.108-.541.243-1.068.784-1.177.231-.047 5.657-1.072 8.996 3.38.332.442.242 1.069-.2 1.4-.179.136-.389.201-.598.201zm-8.922 13.042c1.335-.412 2.629-1.156 2.629-2.5 0-2.619-4.912-2.968-5.472-2.999-.274-.026-.509.193-.527.468-.017.274.19.511.464.53.035.002 3.535.299 3.535 2.001s-3.5 1.999-3.535 2.001c-.014.001-.024.009-.037.011-.052.006-.101.018-.146.04l-.019.011c-.047.026-.088.057-.125.098-.014.015-.024.031-.036.048-.023.032-.044.063-.059.102-.012.029-.018.061-.024.092-.004.023-.016.044-.018.067 0 .011.004.021.004.031s-.005.021-.004.031c.001.024.013.045.018.068.006.031.011.061.023.09.013.03.031.057.049.084.017.024.032.05.052.071.023.023.05.041.078.061.024.017.046.034.074.047.032.015.066.021.101.027.024.006.044.018.069.02.035.002 3.535.299 3.535 2.001s-3.5 1.999-3.535 2.001c-.274.02-.481.257-.464.53.017.265.237.469.499.469l.028-.001c.56-.031 5.472-.38 5.472-2.999 0-1.345-1.294-2.089-2.629-2.501z"/><path fill="#FFAC33" d="M34.202 25.803c-.236-.79-.779-1.486-1.578-1.875-.922-.449-1.956-.391-2.793.06-.16-.936-.75-1.789-1.67-2.237-1.517-.74-3.348-.11-4.087 1.406-.105.215-.18.437-.23.659-.775 2.556.64 6.341 2.192 7.948 1.23.13 2.953-.198 4.513-.873 1.5-1.46 2.733-3.183 3.653-5.088z"/><path fill="#DD2E44" d="M35.654 27.222c.739-1.516.11-3.347-1.405-4.086-.922-.449-1.956-.391-2.793.06-.16-.936-.75-1.789-1.67-2.237-1.517-.74-3.348-.109-4.087 1.406-.105.215-.18.437-.23.659-.774 2.556.64 6.341 2.192 7.948 2.223.234 6.077-.979 7.615-3.161.145-.179.273-.374.378-.589z"/></svg>',
'(kissing_smiling_eyes)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M20.871 28c1.335-.412 2.629-1.156 2.629-2.5 0-2.619-4.912-2.968-5.472-2.999-.274-.027-.509.193-.527.468-.017.274.19.511.464.53.035.002 3.535.299 3.535 2.001s-3.5 1.999-3.535 2.001c-.013.001-.023.008-.036.01-.053.006-.102.018-.149.041l-.015.009c-.048.027-.091.059-.127.1-.014.015-.023.031-.035.047-.023.032-.044.064-.06.103-.012.029-.018.061-.024.092-.004.023-.016.044-.018.067 0 .011.004.021.004.031s-.005.021-.004.031c.001.024.013.045.018.068.006.031.011.061.023.09.013.03.031.057.049.084.017.024.032.05.052.071.023.023.05.041.078.061.024.017.046.034.074.047.032.015.066.021.101.027.024.006.044.018.069.02.035.001 3.535.298 3.535 2s-3.5 1.999-3.535 2.001c-.274.02-.481.257-.464.53.017.265.237.469.499.469l.028-.001c.56-.031 5.472-.38 5.472-2.999 0-1.344-1.294-2.088-2.629-2.5zM16 19c-.419 0-.809-.265-.949-.684C14.848 17.717 14.034 16 13 16c-1.062 0-1.888 1.827-2.051 2.316-.175.523-.738.808-1.265.632-.524-.174-.807-.74-.632-1.265C9.177 17.307 10.356 14 13 14s3.823 3.307 3.949 3.684c.175.524-.108 1.091-.632 1.265-.106.034-.213.051-.317.051zm10 0c-.419 0-.809-.265-.948-.684C24.849 17.717 24.033 16 23 16c-1.062 0-1.889 1.827-2.052 2.316-.175.523-.736.808-1.265.632-.523-.174-.807-.74-.632-1.265C19.177 17.307 20.355 14 23 14s3.823 3.307 3.948 3.684c.175.524-.108 1.091-.632 1.265-.105.034-.212.051-.316.051z"/></svg>',
'(yum)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#FFCC4D" cx="18" cy="18" r="18"/><path fill="#664500" d="M6.999 17c-.15 0-.303-.034-.446-.105-.494-.247-.694-.848-.447-1.342C6.158 15.448 7.424 13 11 13c3.577 0 4.842 2.449 4.894 2.553.247.494.046 1.095-.447 1.342-.491.247-1.085.049-1.336-.436C14.067 16.378 13.28 15 11 15c-2.317 0-3.099 1.433-3.106 1.447-.175.351-.528.553-.895.553zM29 17c.15 0 .303-.034.446-.105.494-.247.694-.848.447-1.342-.052-.105-1.318-2.553-4.894-2.553-3.577 0-4.842 2.449-4.894 2.553-.247.494-.046 1.095.447 1.342.491.247 1.085.049 1.336-.436.044-.081.831-1.459 3.111-1.459 2.317 0 3.099 1.433 3.106 1.447.175.351.528.553.895.553zm.503 6.52c.323-.749.461-1.257.466-1.277.134-.534-.19-1.075-.725-1.21-.536-.136-1.077.188-1.215.723C27.955 22.051 26.081 29 18 29s-9.955-6.949-10.03-7.245c-.138-.534-.679-.858-1.215-.723-.534.135-.858.676-.725 1.21C6.052 22.33 8.331 31 18 31c1.65 0 3.07-.266 4.315-.685 4.33-1.458 6.374-4.91 7.188-6.795z"/><path fill="#E75B70" d="M32.407 26.681l-2.956-3.051s-.68-.438-1.273.568c-.78 1.322-2.075 2.935-3.934 4.171-.781.519-2.139 1.189-2.697 1.318-.735.169-.388.964-.388.964.585-.127 1.051-.301 1.051-.301l.296.296 2.726 2.726c1.728 1.728 5 2 7 0s1.904-4.962.175-6.691z"/><path fill="#DE3146" d="M29.915 31.074c.213-.213.213-.558 0-.771l-3.629-3.629-.796.748 3.653 3.653c.213.212.559.212.772-.001z"/></svg>',
':p' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#66471B" cx="11.5" cy="14.5" rx="2.5" ry="3.5"/><ellipse fill="#66471B" cx="24.5" cy="14.5" rx="2.5" ry="3.5"/><path fill="#66471B" d="M7 21.262c0 3.964 4.596 9 11 9s11-5 11-9c0 0-10.333 2.756-22 0z"/><path fill="#E8596E" d="M18.545 23.604l-1.091-.005c-3.216-.074-5.454-.596-5.454-.596v6.961c0 3 2 6 6 6s6-3 6-6v-6.92c-1.922.394-3.787.542-5.455.56z"/><path fill="#DD2F45" d="M18 31.843c.301 0 .545-.244.545-.545v-7.694l-1.091-.005v7.699c.001.301.245.545.546.545z"/></svg>',
':P' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#66471B" cx="11.5" cy="14.5" rx="2.5" ry="3.5"/><ellipse fill="#66471B" cx="24.5" cy="14.5" rx="2.5" ry="3.5"/><path fill="#66471B" d="M7 21.262c0 3.964 4.596 9 11 9s11-5 11-9c0 0-10.333 2.756-22 0z"/><path fill="#E8596E" d="M18.545 23.604l-1.091-.005c-3.216-.074-5.454-.596-5.454-.596v6.961c0 3 2 6 6 6s6-3 6-6v-6.92c-1.922.394-3.787.542-5.455.56z"/><path fill="#DD2F45" d="M18 31.843c.301 0 .545-.244.545-.545v-7.694l-1.091-.005v7.699c.001.301.245.545.546.545z"/></svg>',
'(stuck_out_tongue)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#66471B" cx="11.5" cy="14.5" rx="2.5" ry="3.5"/><ellipse fill="#66471B" cx="24.5" cy="14.5" rx="2.5" ry="3.5"/><path fill="#66471B" d="M7 21.262c0 3.964 4.596 9 11 9s11-5 11-9c0 0-10.333 2.756-22 0z"/><path fill="#E8596E" d="M18.545 23.604l-1.091-.005c-3.216-.074-5.454-.596-5.454-.596v6.961c0 3 2 6 6 6s6-3 6-6v-6.92c-1.922.394-3.787.542-5.455.56z"/><path fill="#DD2F45" d="M18 31.843c.301 0 .545-.244.545-.545v-7.694l-1.091-.005v7.699c.001.301.245.545.546.545z"/></svg>',
';p' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#66471B" d="M15.457 15.815c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.144.591.177.143.427.147.61.014.013-.009 1.262-.902 3.703-.902 2.426 0 3.674.881 3.702.901.088.066.193.099.298.099.11 0 .221-.037.311-.109.179-.142.238-.386.146-.594z"/><path fill="#F5F8FA" d="M31 13.5c0 3.59-2.91 6.5-6.5 6.5S18 17.09 18 13.5 20.91 7 24.5 7 31 9.91 31 13.5z"/><circle fill="#292F33" cx="24.5" cy="13.5" r="2.5"/><path fill="#66471B" d="M7 21.262c0 3.964 4.596 9 11 9s11-5 11-9c0 0-10.333 2.756-22 0z"/><path fill="#E8596E" d="M18.545 23.604l-1.091-.005c-3.216-.074-5.454-.596-5.454-.596v6.961c0 3 2 6 6 6s6-3 6-6v-6.92c-1.922.394-3.787.542-5.455.56z"/><path fill="#DD2F45" d="M18 31.843c.301 0 .545-.244.545-.545v-7.694l-1.091-.005v7.699c.001.301.245.545.546.545z"/></svg>',
';P' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#66471B" d="M15.457 15.815c-.06-.135-1.499-3.297-4.457-3.297-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.144.591.177.143.427.147.61.014.013-.009 1.262-.902 3.703-.902 2.426 0 3.674.881 3.702.901.088.066.193.099.298.099.11 0 .221-.037.311-.109.179-.142.238-.386.146-.594z"/><path fill="#F5F8FA" d="M31 13.5c0 3.59-2.91 6.5-6.5 6.5S18 17.09 18 13.5 20.91 7 24.5 7 31 9.91 31 13.5z"/><circle fill="#292F33" cx="24.5" cy="13.5" r="2.5"/><path fill="#66471B" d="M7 21.262c0 3.964 4.596 9 11 9s11-5 11-9c0 0-10.333 2.756-22 0z"/><path fill="#E8596E" d="M18.545 23.604l-1.091-.005c-3.216-.074-5.454-.596-5.454-.596v6.961c0 3 2 6 6 6s6-3 6-6v-6.92c-1.922.394-3.787.542-5.455.56z"/><path fill="#DD2F45" d="M18 31.843c.301 0 .545-.244.545-.545v-7.694l-1.091-.005v7.699c.001.301.245.545.546.545z"/></svg>',
'(hugs)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M34 16c0 8.834-7.166 16-16 16-8.836 0-16-7.166-16-16C2 7.164 9.164 0 18 0c8.834 0 16 7.164 16 16"/><path fill="#664500" d="M25.861 16.129c-.15-.161-.374-.171-.535-.029-.033.029-3.303 2.9-7.326 2.9-4.013 0-7.293-2.871-7.326-2.9-.162-.142-.385-.13-.535.029-.149.16-.182.424-.079.628C10.168 16.972 12.769 22 18 22s7.833-5.028 7.94-5.243c.103-.205.07-.468-.079-.628z"/><path d="M13.393 23.154l-1.539-2.219s-.543-.867-1.411-.325c-.867.541-.324 1.409-.324 1.409l1.758 3.38s.144.768-.918-.091c-.463-.374-.197-.163-.197-.163l-.44-.361-5.491-4.508s-.709-.748-1.359.042c-.648.791.223 1.341.223 1.341l5.193 4.266c-.12.12-.482.534-.6.663l-5.557-4.56s-.71-.749-1.358.041c-.65.791.222 1.341.222 1.341l5.555 4.562c-.103.14-.363.476-.459.614l-4.792-3.934s-.71-.748-1.358.042c-.651.791.222 1.342.222 1.342l5.094 4.184c-.064.178-.363.646-.41.82l-3.672-3.012s-.709-.752-1.357.041c-.65.791.222 1.341.222 1.341l5.93 4.868.395.326c2.62 2.151 6.489 1.771 8.64-.849 1.971-2.403 1.817-5.853-.24-8.069-.729-.782-1.36-1.653-1.972-2.532zm22.19 4.916c-.648-.793-1.357-.041-1.357-.041l-3.672 3.012c-.047-.174-.346-.643-.41-.82l5.094-4.184s.873-.551.223-1.342c-.648-.79-1.358-.042-1.358-.042l-4.792 3.934c-.096-.139-.357-.475-.459-.614l5.555-4.562s.873-.55.223-1.341c-.648-.79-1.357-.041-1.357-.041l-5.558 4.56c-.117-.129-.479-.543-.6-.663l5.193-4.266s.87-.55.223-1.341c-.65-.79-1.359-.042-1.359-.042l-5.491 4.508-.439.361s.99-.841-.197.163c-1.188 1.004-.918.091-.918.091l1.758-3.38s.543-.868-.324-1.409c-.869-.542-1.411.325-1.411.325l-1.538 2.219c-.613.879-1.244 1.75-1.974 2.533-2.058 2.217-2.212 5.666-.239 8.069 2.15 2.62 6.02 3 8.64.849l.396-.326 5.93-4.868c-.005-.001.867-.551.218-1.342z" fill="#F4900C"/><path fill="#664500" d="M27.677 10.983C27.626 10.861 26.392 8 23.856 8c-2.534 0-3.768 2.861-3.819 2.983-.08.188-.028.406.123.536.149.128.365.132.523.012.01-.009 1.081-.816 3.173-.816 2.079 0 3.149.797 3.174.816.075.059.165.089.255.089.095 0 .189-.034.267-.099.153-.129.205-.35.125-.538zm-11 0C16.625 10.861 15.392 8 12.856 8c-2.534 0-3.768 2.861-3.82 2.983-.079.188-.028.406.124.536.15.128.366.132.523.012.011-.009 1.081-.816 3.173-.816 2.08 0 3.149.797 3.173.816.076.059.165.089.255.089.095 0 .189-.034.267-.099.154-.129.205-.35.126-.538z"/><path fill="#B55005" d="M11.182 25.478s-2.593 3.314.484 7.46c.212.285.75.146.521-.188-.25-.364-2.75-3.896-.4-7.057 0 0-.381-.047-.605-.215zm13.583.098s2.594 3.314-.484 7.46c-.212.285-.75.146-.521-.188.25-.364 2.75-3.896.4-7.057-.001.001.381-.046.605-.215z"/></svg>',
'(hand_over_mouth)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M35 17c0 9.389-7.611 17-17 17-9.388 0-17-7.611-17-17C1 7.612 8.612 0 18 0c9.389 0 17 7.612 17 17"/><path fill="#664500" d="M28.457 14.297C28.397 14.162 26.958 11 24 11c-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.145.591.175.142.426.147.61.014C20.31 14.893 21.56 14 24 14c2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.177-.142.238-.386.145-.594zm-12 0C16.397 14.162 14.958 11 12 11c-2.957 0-4.397 3.162-4.457 3.297-.092.207-.032.449.144.591.176.142.427.147.61.014C8.31 14.893 9.559 14 12 14c2.426 0 3.674.881 3.702.901.088.066.194.099.298.099.11 0 .221-.037.312-.109.178-.142.237-.386.145-.594z"/><path fill="#F4900C" d="M26.503 27.371s.997-.721.165-1.614c-.832-.893-1.621.052-1.621.052L20.9 29.675c-.069-.205-.459-.743-.55-.947l5.755-5.366s.998-.721.164-1.615c-.832-.892-1.622.051-1.622.051l-5.413 5.046c-.125-.158-.461-.54-.594-.698l6.276-5.85s.997-.722.164-1.614c-.832-.893-1.621.051-1.621.051l-6.278 5.848c-.15-.145-.612-.609-.764-.746l5.866-5.468s.996-.722.164-1.614c-.833-.893-1.621.051-1.621.051l-6.203 5.781-.497.464-.222.207s-.538.744-1.087.179l1.842-4.158s.58-1.074-.493-1.655c-1.075-.581-1.655.493-1.655.493l-1.668 2.758c-.663 1.093-1.349 2.178-2.159 3.167-2.284 2.793-2.211 6.914.318 9.629 2.759 2.959 7.396 3.122 10.355.364l.447-.418 6.699-6.244z"/></svg>',
'(thinking)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#FFCB4C" cx="18" cy="17.018" r="17"/><path fill="#65471B" d="M14.524 21.036c-.145-.116-.258-.274-.312-.464-.134-.46.13-.918.59-1.021 4.528-1.021 7.577 1.363 7.706 1.465.384.306.459.845.173 1.205-.286.358-.828.401-1.211.097-.11-.084-2.523-1.923-6.182-1.098-.274.061-.554-.016-.764-.184z"/><ellipse fill="#65471B" cx="13.119" cy="11.174" rx="2.125" ry="2.656"/><ellipse fill="#65471B" cx="24.375" cy="12.236" rx="2.125" ry="2.656"/><path fill="#F19020" d="M17.276 35.149s1.265-.411 1.429-1.352c.173-.972-.624-1.167-.624-1.167s1.041-.208 1.172-1.376c.123-1.101-.861-1.363-.861-1.363s.97-.4 1.016-1.539c.038-.959-.995-1.428-.995-1.428s5.038-1.221 5.556-1.341c.516-.12 1.32-.615 1.069-1.694-.249-1.08-1.204-1.118-1.697-1.003-.494.115-6.744 1.566-8.9 2.068l-1.439.334c-.54.127-.785-.11-.404-.512.508-.536.833-1.129.946-2.113.119-1.035-.232-2.313-.433-2.809-.374-.921-1.005-1.649-1.734-1.899-1.137-.39-1.945.321-1.542 1.561.604 1.854.208 3.375-.833 4.293-2.449 2.157-3.588 3.695-2.83 6.973.828 3.575 4.377 5.876 7.952 5.048l3.152-.681z"/><path fill="#65471B" d="M9.296 6.351c-.164-.088-.303-.224-.391-.399-.216-.428-.04-.927.393-1.112 4.266-1.831 7.699-.043 7.843.034.433.231.608.747.391 1.154-.216.405-.74.546-1.173.318-.123-.063-2.832-1.432-6.278.047-.257.109-.547.085-.785-.042zm12.135 3.75c-.156-.098-.286-.243-.362-.424-.187-.442.023-.927.468-1.084 4.381-1.536 7.685.48 7.823.567.415.26.555.787.312 1.178-.242.39-.776.495-1.191.238-.12-.072-2.727-1.621-6.267-.379-.266.091-.553.046-.783-.096z"/></svg>',
'(expressionless)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#664500" d="M25 26H11c-.552 0-1-.447-1-1s.448-1 1-1h14c.553 0 1 .447 1 1s-.447 1-1 1zm-10-8H8c-.552 0-1-.448-1-1s.448-1 1-1h7c.552 0 1 .448 1 1s-.448 1-1 1zm13 0h-7c-.553 0-1-.448-1-1s.447-1 1-1h7c.553 0 1 .448 1 1s-.447 1-1 1z"/></svg>',
'(grimacing)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="12" cy="13.5" rx="2.5" ry="3.5"/><ellipse fill="#664500" cx="24" cy="13.5" rx="2.5" ry="3.5"/><path fill="#FFF" d="M25 21c2.209 0 4 1.791 4 4s-1.791 4-4 4H11c-2.209 0-4-1.791-4-4s1.791-4 4-4h14z"/><path fill="#664500" d="M25 20H11c-2.757 0-5 2.243-5 5s2.243 5 5 5h14c2.757 0 5-2.243 5-5s-2.243-5-5-5zm0 2c1.483 0 2.71 1.084 2.949 2.5H24.5V22h.5zm-1.5 0v2.5h-3V22h3zm-4 0v2.5h-3V22h3zm-4 0v2.5h-3V22h3zM11 22h.5v2.5H8.051C8.29 23.084 9.517 22 11 22zm0 6c-1.483 0-2.71-1.084-2.949-2.5H11.5V28H11zm1.5 0v-2.5h3V28h-3zm4 0v-2.5h3V28h-3zm4 0v-2.5h3V28h-3zm4.5 0h-.5v-2.5h3.449C27.71 26.916 26.483 28 25 28z"/></svg>',
'(sleeping)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#FFCC4D" cx="18" cy="18" r="18"/><circle fill="#664500" cx="18" cy="26" r="3"/><path fill="#664500" d="M17.312 16.612c-.176-.143-.427-.147-.61-.014-.012.009-1.26.902-3.702.902-2.441 0-3.69-.893-3.7-.9-.183-.137-.435-.133-.611.009-.178.142-.238.386-.146.594.06.135 1.5 3.297 4.457 3.297 2.958 0 4.397-3.162 4.457-3.297.092-.207.032-.449-.145-.591zm10 0c-.176-.143-.426-.148-.61-.014-.012.009-1.261.902-3.702.902-2.44 0-3.69-.893-3.7-.9-.183-.137-.434-.133-.611.009-.178.142-.238.386-.146.594.06.135 1.5 3.297 4.457 3.297 2.958 0 4.397-3.162 4.457-3.297.092-.207.032-.449-.145-.591z"/><path fill="#FFAC33" d="M34.43 12.534c.004-.044.023-.077.023-.123 0-.754-.548-1.188-1.225-1.188h-3.582l4.279-5.993c.206-.283.282-.453.282-.811 0-.735-.64-.849-.885-.849h-5.349l-.032-.688s-1.409.831-1.503.888-.505.372-.505.987c0 .754.546 1.187 1.225 1.187h3.149l-4.261 5.993c-.094.151-.244.433-.244.735 0 .622.508.924 1.111.924h6.315c.258 0 .515-.076.681-.176l1.503-.888h-.982z"/><path fill="#2A6797" d="M31.771 5.084h-3.149c-.679 0-1.225-.433-1.225-1.187s.546-1.188 1.225-1.188h6.164c.245 0 .885.113.885.848 0 .358-.076.528-.282.811l-4.279 5.993h3.582c.677 0 1.225.433 1.225 1.187s-.548 1.187-1.225 1.187h-6.315c-.603 0-1.111-.302-1.111-.924 0-.302.15-.584.244-.735l4.261-5.992z"/><path fill="#FFAC33" d="M24.886 7.48c.003-.033.018-.058.018-.092 0-.564-.41-.889-.917-.889h-2.682l3.203-4.487c.156-.212.212-.339.212-.606 0-.55-.479-.635-.663-.635h-4.004l-.024-.515s-1.055.622-1.125.665c-.07.043-.378.279-.378.739 0 .564.409.889.917.889H21.8l-3.19 4.487c-.07.113-.183.324-.183.55 0 .466.38.691.832.691h4.728c.193 0 .385-.057.51-.132l1.125-.665h-.736z"/><path fill="#2A6797" d="M22.896 1.903h-2.357c-.508 0-.917-.324-.917-.889 0-.564.409-.889.917-.889h4.615c.184 0 .663.085.663.635 0 .268-.057.395-.211.607l-3.203 4.487h2.682c.505 0 .915.324.915.889s-.41.889-.917.889h-4.728c-.452 0-.832-.226-.832-.691 0-.226.113-.437.183-.55l3.19-4.488z"/><path fill="#FFAC33" d="M17.741 10.425c.003-.028.015-.049.015-.079 0-.483-.351-.761-.785-.761h-2.295l2.742-3.84c.132-.181.181-.29.181-.519 0-.471-.41-.544-.567-.544h-3.427l-.021-.441-.963.569c-.06.037-.324.238-.324.633 0 .483.35.761.785.761h2.017l-2.73 3.84c-.06.097-.157.278-.157.471 0 .399.326.592.712.592h4.047c.165 0 .33-.049.436-.113l.963-.569h-.629z"/><path fill="#2A6797" d="M16.037 5.652H14.02c-.435 0-.785-.278-.785-.761s.35-.761.785-.761h3.95c.157 0 .567.073.567.544 0 .229-.048.338-.181.519l-2.742 3.84h2.295c.434 0 .785.278.785.761s-.351.761-.785.761h-4.047c-.386 0-.712-.193-.712-.592 0-.193.096-.374.157-.471l2.73-3.84z"/></svg>',
'(hot_face)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#EA596E" cx="18" cy="18" r="18"/><path fill="#292F33" d="M26.125 29.261c-.028 0-.057-.003-.084-.01-8.424-1.942-15.996-.022-16.072-.002-.111.028-.231.005-.324-.066-.091-.072-.145-.181-.145-.297 0-3.178 3.713-6.872 8.5-6.872s8.5 3.694 8.5 6.872c0 .114-.052.223-.142.294-.067.052-.149.081-.233.081zM29 12c-5.554 0-7.802-4.367-7.895-4.553-.247-.494-.047-1.095.447-1.342.493-.247 1.092-.048 1.34.443C22.967 6.694 24.713 10 29 10c.553 0 1 .448 1 1s-.447 1-1 1zM7 12c-.552 0-1-.448-1-1s.448-1 1-1c5.083 0 5.996-3.12 6.033-3.253.145-.528.692-.848 1.219-.709.53.139.851.673.718 1.205C14.921 7.437 13.704 12 7 12z"/><ellipse fill="#292F33" cx="12" cy="16.5" rx="2.5" ry="3.5"/><ellipse fill="#292F33" cx="24" cy="16.5" rx="2.5" ry="3.5"/><path fill="#F4ABBA" d="M18.629 23.079v.827l-1.091.001v-.837c-2.277.127-4.191 1.162-5.455 2.516l.008.461c.086 2.932 2.08 5.802 5.992 5.802 3.899 0 5.892-2.851 5.991-5.773l.009-.284c-1.229-1.415-3.145-2.537-5.454-2.713z"/><path fill="#EA596E" d="M18 23.049c-.157 0-.308.014-.462.022v4.447c0 .301.244.545.545.545s.545-.244.545-.545V23.08c-.207-.017-.414-.031-.628-.031z"/><path fill="#5DADEC" d="M35.906 12.062c0 2.814-2.28 5.094-5.094 5.094-2.814 0-5.094-2.28-5.094-5.094s4.075-10.188 5.094-10.188 5.094 7.375 5.094 10.188zM8.573 8.438c0 2.313-1.875 4.188-4.188 4.188-2.313 0-4.188-1.875-4.188-4.188S3.547.063 4.385.063s4.188 6.062 4.188 8.375z"/></svg>',
'(cold_face)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#50A5E6" cx="18" cy="18" r="18"/><ellipse fill="#1C6399" cx="11.985" cy="15.188" rx="2.5" ry="3.5"/><ellipse fill="#1C6399" cx="23.985" cy="15.188" rx="2.5" ry="3.5"/><path fill="#FFF" d="M24.985 21.833c2.209 0 4 1.791 4 4s-1.791 4-4 4h-14c-2.209 0-4-1.791-4-4s1.791-4 4-4h14z"/><path fill="#1C6399" d="M24.985 20.812h-14c-2.757 0-5 2.243-5 5s2.243 5 5 5h14c2.757 0 5-2.243 5-5s-2.243-5-5-5zm0 2c1.483 0 2.71 1.084 2.949 2.5h-3.449v-2.5h.5zm-1.5 0v2.5h-3v-2.5h3zm-4 0v2.5h-3v-2.5h3zm-4 0v2.5h-3v-2.5h3zm-4.5 0h.5v2.5h-3.45c.24-1.415 1.467-2.5 2.95-2.5zm0 6c-1.483 0-2.71-1.084-2.949-2.5h3.449v2.5h-.5zm1.5 0v-2.5h3v2.5h-3zm4 0v-2.5h3v2.5h-3zm4 0v-2.5h3v2.5h-3zm4.5 0h-.5v-2.5h3.449c-.239 1.416-1.466 2.5-2.949 2.5z"/><path fill="#BBDDF5" d="M35.756 15.188c0-.445-.046 2.24-3.752 3.394-1.461.455-1.288 2.58-1.265 3.152.08 1.975.398 3.892.497 4.392.1.507.507 2.106.602 2.589.105.532.241 2.406.333 2.873.111.563.215.968.3 1.398.184.929.424 1.598.832 1.598.409 0 .416-1.125.599-2.053.085-.429.107-.787.218-1.349.092-.464.363-3.641.465-4.156.097-.491.636-2.568.734-3.067.1-.507.399-2.494.479-2.979.478-2.897-.042-5.791-.042-5.792zM.313 21.375c0-.29.613 1.164 1.148 1.488.69.418 1.23 1.2 2.04 1.887s.808 1.974.776 2.594c-.136 2.656-.486 5.299-.562 5.625-.076.331-.358 2.823-.73 2.823s-.553-.878-.693-1.484l-.225-.977c-.07-.302-.12-.631-.2-.976-.072-.314-.421-2.587-.496-2.913-.076-.331-.406-1.643-.479-1.958-.08-.347-.114-.684-.19-.987-.327-1.3-.389-5.121-.389-5.122z"/><path fill="#1C6399" d="M5.986 11.375c-.552 0-1-.448-1-1 0-.551.445-.998.996-1 .156-.002 3.569-.086 6.205-3.6.331-.44.957-.532 1.4-.2.442.331.531.958.2 1.4-3.263 4.35-7.617 4.4-7.801 4.4zm24 0c-.184 0-4.537-.05-7.8-4.4-.332-.442-.242-1.069.2-1.4.441-.333 1.067-.242 1.399.2 2.641 3.521 6.062 3.599 6.206 3.6.55.006.994.456.991 1.005-.002.551-.446.995-.996.995z"/><path fill="#BBDDF5" d="M24.266 1.125s-.991-.421-1.317-.521C22.662.516 21.756.328 21.196.22c-.625-.121-1.294-.115-1.294-.115s-.03.402.114 1.025c.116.502.404 1.198.458 1.559.059.391.068.855.141 1.348.064.426.128.88.197 1.342.067.446.182.894.249 1.341.07.464.102.925.167 1.353.074.496-.01.978.049 1.371.121.806.333 1.932.562 1.932.229 0 .431-1.019.552-1.828.059-.391-.027-.695.047-1.188.064-.426.118-.85.188-1.312.067-.446.121-.882.188-1.328.07-.464.061-.916.125-1.344.074-.496.363-1.107.422-1.5.119-.806.905-1.751.905-1.751zM5.875 9.379s.731-.164 1.427-.309c.453-.094.812-.459 1.553-.729.771-.281 1.267-.524 1.267-.524s.063 1.305-.109 1.956c-.139.525-.212 1.203-.276 1.58-.07.408-.109.889-.197 1.404-.076.445-.216.91-.299 1.394-.08.467-.144 1.014-.224 1.481-.083.485-.105.902-.182 1.349-.089.518-.022.57-.093.98-.145.843-.165.727-.212 1.186-.047.459-.394.516-.544.18-.15-.336.009-.521-.136-1.367-.07-.408-.327-1.487-.41-1.97-.08-.467-.188-1.199-.268-1.666-.083-.485-.104-1.267-.181-1.715-.089-.518-.225-.838-.295-1.248-.145-.841-.821-1.982-.821-1.982z"/></svg>',
'(woozy_face)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#FFCC4D" cx="18" cy="18" r="18"/><path fill="#65471B" d="M6.001 11c-.552 0-1-.448-1-1 0-.551.445-.998.996-1 .156-.002 3.569-.086 6.205-3.6.331-.44.957-.532 1.4-.2.442.331.531.958.2 1.4-3.263 4.35-7.617 4.4-7.801 4.4zm24.986 2.393c.128.537-.204 1.077-.741 1.205-.536.128-1.074-.202-1.204-.737-.038-.151-.911-3.452-4.941-5.201-.505-.22-.739-.808-.519-1.315.22-.507.809-.739 1.315-.519 4.989 2.165 6.047 6.388 6.09 6.567z"/><path fill="#664500" d="M23.186 29.526c-.993 0-1.952-.455-2.788-1.339-2.816-2.985-3.569-2.333-4.817-1.251-.781.679-1.754 1.523-3.205 1.523-2.351 0-3.969-2.302-4.036-2.4-.314-.454-.2-1.077.254-1.391.451-.312 1.074-.2 1.39.251.301.429 1.317 1.54 2.393 1.54.704 0 1.256-.479 1.895-1.033 1.816-1.578 3.764-2.655 7.583 1.388.823.873 1.452.774 1.908.592 1.659-.665 3.205-3.698 3.197-5.15-.003-.552.442-1.002.994-1.005h.006c.55 0 .997.444 1 .995.012 2.103-1.854 5.976-4.454 7.017-.443.175-.885.262-1.32.263z"/><path fill="#65471B" d="M14.815 15.375c-.584 2.114-1.642 3.083-3.152 2.666-1.509-.417-2.343-1.909-1.76-4.023.583-2.112 2.175-3.363 3.684-2.946 1.511.417 1.812 2.19 1.228 4.303zm11.416-.755c.473 2.141-.675 4.838-2.204 5.176s-3.28-1.719-3.753-3.86c-.473-2.14.419-3.971 1.948-4.309s3.536.853 4.009 2.993z"/></svg>',
'(partying_face)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><circle fill="#FFCC4D" cx="17" cy="19" r="17"/><ellipse fill="#664500" cx="17.999" cy="26" rx="2" ry="2.5"/><path fill="#664500" d="M8.111 21.383c-.182 0-.367-.05-.532-.154-.467-.294-.607-.911-.313-1.379.916-1.453 3.701-3.938 7.69-2.962.536.131.864.673.733 1.209-.132.536-.676.862-1.209.733-3.604-.882-5.502 2.056-5.521 2.086-.191.302-.516.467-.848.467zm11.973-3.742c-.29 0-.576-.125-.774-.366-.35-.427-.288-1.058.14-1.408 3.176-2.604 6.762-1.562 8.215-.646.467.294.607.912.312 1.379-.293.465-.908.607-1.376.315-.138-.084-3.052-1.823-5.884.499-.186.153-.41.227-.633.227z"/><path fill="#E2A62D" d="M13.346 31.273c-.068 0-.137-.009-.205-.028-.398-.113-.63-.527-.517-.926.437-1.54.258-3.029-.49-4.086-.497-.702-1.205-1.131-1.943-1.178-.414-.025-.728-.382-.702-.795s.381-.751.795-.701c1.193.074 2.313.733 3.073 1.807 1.011 1.429 1.27 3.383.709 5.361-.093.331-.394.546-.72.546zm11.037-3.061c-.142 0-.285-.04-.412-.124-1.167-.77-1.82-2.117-1.792-3.695.029-1.635.809-3.153 1.984-3.869.353-.216.814-.104 1.03.251.216.354.104.814-.251 1.03-.735.448-1.244 1.499-1.264 2.614-.02 1.055.389 1.936 1.118 2.417.346.228.441.693.213 1.039-.144.219-.382.337-.626.337z"/><path fill="#DD2E44" d="M17.179 2.72c-.043-.049-.11-.076-.189-.091 0 0-15.924-3.023-16.613-2.415C-.311.823.74 16.998.74 16.998c.005.081.023.15.067.199.604.684 4.758-2.004 9.279-6.001 4.522-3.998 7.697-7.792 7.093-8.476z"/><path fill="#EA596E" d="M.349.271C.334.301.321.342.311.394.47 1.765 2.006 13.046 2.963 16.572c1.436-.803 2.895-1.894 4.609-3.253C6.116 10.654 1.158.146.349.271z"/><path fill="#3B88C3" d="M29.902 29.229l-10.573-1.303c-1.13-.102-3.117-.112-3.015-1.902.093-1.623 2.04-1.373 3.479-1.16l10.638 1.774-.529 2.591z"/><path fill="#88C9F9" d="M30.43 26.639l-4.222-.724c-.494-.089-.934.647-.956 1.426-.025.866.227 1.304.726 1.406l4.144.512.308-2.62z"/><path fill="#3B88C3" d="M34.918 26.341l-2.622 2.411-4.687-5.097 2.622-2.411c1.361-1.252 3.499-1.162 4.751.199l.135.147c1.251 1.362 1.162 3.499-.199 4.751z"/><ellipse transform="rotate(-42.597 29.954 26.205)" fill="#88C9F9" cx="29.952" cy="26.203" rx="2.77" ry="3.462"/><ellipse transform="rotate(-42.597 29.954 26.205)" fill="#269" cx="29.952" cy="26.203" rx="1.385" ry="2.077"/><circle fill="#55ACEE" cx="2.5" cy="33.5" r="1.5"/><circle fill="#55ACEE" cx="29" cy="2" r="2"/><path fill="#EA596E" d="M4.864 29.246L2.526 23.63.412 29.675zM26 5l-4 1 1-4z"/><path fill="#77B255" d="M31.999 13L36 7.999 33 6z"/></svg>',
'(cry)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><ellipse fill="#664500" cx="11.5" cy="17" rx="2.5" ry="3.5"/><ellipse fill="#664500" cx="24.5" cy="17" rx="2.5" ry="3.5"/><path fill="#664500" d="M5.999 13.5c-.208 0-.419-.065-.599-.2-.442-.331-.531-.958-.2-1.4 3.262-4.35 7.616-4.4 7.8-4.4.552 0 1 .448 1 1 0 .551-.445.998-.996 1-.155.002-3.568.086-6.204 3.6-.196.262-.497.4-.801.4zm24.002 0c-.305 0-.604-.138-.801-.4-2.641-3.521-6.061-3.599-6.206-3.6-.55-.006-.994-.456-.991-1.005.003-.551.447-.995.997-.995.184 0 4.537.05 7.8 4.4.332.442.242 1.069-.2 1.4-.18.135-.39.2-.599.2zm-6.516 14.879C23.474 28.335 22.34 24 18 24s-5.474 4.335-5.485 4.379c-.053.213.044.431.232.544.188.112.433.086.596-.06C13.352 28.855 14.356 28 18 28c3.59 0 4.617.83 4.656.863.095.09.219.137.344.137.084 0 .169-.021.246-.064.196-.112.294-.339.239-.557z"/><path fill="#5DADEC" d="M16 31c0 2.762-2.238 5-5 5s-5-2.238-5-5 4-10 5-10 5 7.238 5 10z"/></svg>',
'(sob)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#FFCC4D" d="M36 18c0 9.941-8.059 18-18 18S0 27.941 0 18 8.059 0 18 0s18 8.059 18 18"/><path fill="#664500" d="M22 27c0 2.763-1.791 3-4 3-2.21 0-4-.237-4-3 0-2.761 1.79-6 4-6 2.209 0 4 3.239 4 6zm8-12c-.124 0-.25-.023-.371-.072-5.229-2.091-7.372-5.241-7.461-5.374-.307-.46-.183-1.081.277-1.387.459-.306 1.077-.184 1.385.274.019.027 1.93 2.785 6.541 4.629.513.206.763.787.558 1.3-.157.392-.533.63-.929.63zM6 15c-.397 0-.772-.238-.929-.629-.205-.513.044-1.095.557-1.3 4.612-1.844 6.523-4.602 6.542-4.629.308-.456.929-.577 1.387-.27.457.308.581.925.275 1.383-.089.133-2.232 3.283-7.46 5.374C6.25 14.977 6.124 15 6 15z"/><path fill="#5DADEC" d="M24 16h4v19l-4-.046V16zM8 35l4-.046V16H8v19z"/><path fill="#664500" d="M14.999 18c-.15 0-.303-.034-.446-.105-3.512-1.756-7.07-.018-7.105 0-.495.249-1.095.046-1.342-.447-.247-.494-.047-1.095.447-1.342.182-.09 4.498-2.197 8.895 0 .494.247.694.848.447 1.342-.176.35-.529.552-.896.552zm14 0c-.15 0-.303-.034-.446-.105-3.513-1.756-7.07-.018-7.105 0-.494.248-1.094.047-1.342-.447-.247-.494-.047-1.095.447-1.342.182-.09 4.501-2.196 8.895 0 .494.247.694.848.447 1.342-.176.35-.529.552-.896.552z"/><ellipse fill="#5DADEC" cx="18" cy="34" rx="18" ry="2"/><ellipse fill="#E75A70" cx="18" cy="27" rx="3" ry="2"/></svg>',
'(rage)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#DA2F47" d="M36 18c0 9.941-8.059 18-18 18-9.94 0-18-8.059-18-18C0 8.06 8.06 0 18 0c9.941 0 18 8.06 18 18"/><path fill="#292F33" d="M25.485 29.879C25.44 29.7 24.317 25.5 18 25.5c-6.318 0-7.44 4.2-7.485 4.379-.055.217.043.442.237.554.195.109.439.079.6-.077.019-.019 1.954-1.856 6.648-1.856s6.63 1.837 6.648 1.855c.096.095.224.145.352.145.084 0 .169-.021.246-.064.196-.112.294-.339.239-.557zm-9.778-12.586C12.452 14.038 7.221 14 7 14c-.552 0-.999.447-.999.998-.001.552.446 1 .998 1.002.029 0 1.925.022 3.983.737-.593.64-.982 1.634-.982 2.763 0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-.174-.019-.34-.037-.507.013 0 .025.007.037.007.256 0 .512-.098.707-.293.391-.391.391-1.023 0-1.414zM29 14c-.221 0-5.451.038-8.707 3.293-.391.391-.391 1.023 0 1.414.195.195.451.293.707.293.013 0 .024-.007.036-.007-.016.167-.036.333-.036.507 0 1.934 1.119 3.5 2.5 3.5s2.5-1.566 2.5-3.5c0-1.129-.389-2.123-.982-2.763 2.058-.715 3.954-.737 3.984-.737.551-.002.998-.45.997-1.002-.001-.551-.447-.998-.999-.998z"/></svg>',
'(kiss)' => '<svg width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 36 36"><path fill="#DD2E44" d="M32.201 7.791c-2.223-.36-7.568-3.963-11.411-2.762s-3.542 2.162-5.464 2.763c-1.922.601-2.222-.36-6.065.841-3.842 1.201-6.184 7.206-7.805 8.768 0 0-1.603 1.621-1.021 3.483.583 1.861 2.523 1.32 2.523 1.32 6.726-2.102 9.007-4.925 9.007-4.925s3.482 1.021 6.364.12c2.882-.901 5.164-3.724 5.164-3.724s3.484 1.021 10.209-1.081c0 0 1.902-.661 1.32-2.522-.583-1.862-2.821-2.281-2.821-2.281zm-1.082 6.666c-5.764 1.801-4.562 5.644-11.288 7.747-6.726 2.102-7.927-1.74-13.691.061-1.921.601-2.582 1.861-2.281 2.824.9 2.881 8.407 10.025 18.976 6.723 10.568-3.303 12.67-13.452 11.769-16.333-.301-.963-1.564-1.623-3.485-1.022z"/></svg>',
);
}
public static function notApprove($question = 0, $answer = 0)
{
if (!Validate::isBool($question))
return 0;
$dq = new DbQuery();
$dq
->select('COUNT(id_ets_rv_comment)')
->from('ets_rv_comment')
->where('validate=0')
->where('question=' . (int)$question)
->where('answer=' . (int)$answer);
return (int)Db::getInstance()->getValue($dq);
}
public static function getCommentsNumber($ids)
{
if (!$ids ||
!Validate::isArrayWithIds($ids)
) {
return false;
}
$dq = new DbQuery();
$dq
->select('COUNT(id_ets_rv_comment)')
->from('ets_rv_comment')
->where('validate=0')
->where('id_ets_rv_comment IN (' . implode(',', array_map('intval', $ids)) . ')');
return (int)Db::getInstance()->getValue($dq);
}
public static function approveComments($ids)
{
if (!$ids ||
!Validate::isArrayWithIds($ids)
) {
return false;
}
return
Db::getInstance()->execute('
UPDATE `' . _DB_PREFIX_ . 'ets_rv_comment` SET validate=1
WHERE id_ets_rv_comment IN (' . implode(',', array_map('intval', $ids)) . ')
');
}
public static function deleteComments($ids)
{
if (!$ids ||
!Validate::isArrayWithIds($ids)
) {
return false;
}
return Db::getInstance()->execute('DELETE FROM `' . _DB_PREFIX_ . 'ets_rv_comment` WHERE id_ets_rv_comment IN (' . implode(',', array_map('intval', $ids)) . ')');
}
public static function deleteAllChildren($ids)
{
if (!$ids ||
!Validate::isArrayWithIds($ids)
) {
return false;
}
$tables = array(
'lang',
'report',
'usefulness',
'origin_lang',
);
$res = true;
foreach ($tables as $table) {
$res &= Db::getInstance()->execute('DELETE FROM `' . _DB_PREFIX_ . 'ets_rv_comment_' . pSQL($table) . '` WHERE id_ets_rv_comment IN (' . implode(',', array_map('intval', $ids)) . ');');
}
return $res;
}
public static function getStatusById($id)
{
if (!$id ||
!Validate::isUnsignedInt($id)
) {
return 0;
}
$db = new DbQuery();
$db
->select('validate')
->from('ets_rv_comment')
->where('id_ets_rv_comment=' . (int)$id);
return Db::getInstance()->getValue($db);
}
public static function findOneById($id)
{
return (int)Db::getInstance()->getValue('SELECT id_ets_rv_comment FROM `' . _DB_PREFIX_ . 'ets_rv_comment` WHERE id_ets_rv_comment=' . (int)$id);
}
public function toArray($usefulness = false)
{
$usefulnessInfos = $this->id && $usefulness ? EtsRVCommentRepository::getInstance()->getCommentUsefulness($this->id, $this->question) : array();
return [
'id_ets_rv_product_comment' => $this->id_ets_rv_product_comment,
'id_ets_rv_comment' => $this->id,
'id_customer' => $this->id_customer,
'date_add' => $this->date_add,
'upd_date' => $this->upd_date,
'usefulness' => !empty($usefulnessInfos['usefulness']) ? (int)$usefulnessInfos['usefulness'] : 0,
'total_usefulness' => !empty($usefulnessInfos['total_usefulness']) ? (int)$usefulnessInfos['total_usefulness'] : 0,
'employee' => $this->employee,
'question' => $this->question,
'answer' => $this->answer,
'useful_answer' => $this->useful_answer,
'validate' => $this->validate
];
}
public static function getData($id, $idLang, $onlyId = false)
{
if (!$id ||
!Validate::isUnsignedInt($id) ||
!$onlyId && (!$idLang || !Validate::isUnsignedInt($idLang))
) {
return false;
}
$multiLang = (int)Configuration::get('ETS_RV_MULTILANG_ENABLED');
$dq = new DbQuery();
$dq
->select('pc.id_customer, pc.employee, pc.question, pc.id_ets_rv_product_comment, pc.validate, pc.answer')
->select('ppc.id_product')
->from('ets_rv_comment', 'pc');
if (!$onlyId) {
$dq
->select('IF(' . (int)$multiLang . ' != 0 AND pcl.`content` != "" AND pcl.`content` is NOT NULL, pcl.`content`, pol.`content`) content')
->leftJoin('ets_rv_comment_lang', 'pcl', 'pc.id_ets_rv_comment = pcl.id_ets_rv_comment AND pcl.id_lang = ' . (int)$idLang)
->leftJoin('ets_rv_comment_origin_lang', 'pol', 'pc.id_ets_rv_comment = pol.id_ets_rv_comment');
}
$dq
->leftJoin('ets_rv_product_comment', 'ppc', 'pc.id_ets_rv_product_comment = ppc.id_ets_rv_product_comment')
->where('pc.id_ets_rv_comment=' . (int)$id);
return Db::getInstance()->getRow($dq);
}
public function validate($validate = 1)
{
if (!Validate::isUnsignedId($this->id)) {
return false;
}
$this->validate = $validate;
Hook::exec('actionObjectProductCommentValidateAfter', array('object' => $this));
return $this->update();
}
public function delete()
{
if (!parent::delete()) {
return false;
}
// Cascade
return
$this->deleteReports($this->id) &&
$this->deleteUsefulness($this->id) &&
$this->deleteOriginLang($this->id) &&
$this->deleteCascade($this->id, 'reply_comment', '', 'comment');
}
public static function saveOriginLang($id_comment, $id_lang, $content)
{
if (!Validate::isUnsignedId($id_comment) ||
!Validate::isUnsignedId($id_lang)) {
return false;
}
if (($idLang = (int)Db::getInstance()->getValue('SELECT `id_lang` FROM `' . _DB_PREFIX_ . 'ets_rv_comment_origin_lang` WHERE id_ets_rv_comment = ' . (int)$id_comment))) {
return Db::getInstance()->execute('
UPDATE `' . _DB_PREFIX_ . 'ets_rv_comment_origin_lang`
SET `content`="' . pSQL($content, true) . '",
`id_lang`="' . (int)$id_lang . '"
WHERE id_ets_rv_comment = ' . (int)$id_comment . '
');
} elseif (!$idLang) {
return Db::getInstance()->execute('
INSERT INTO `' . _DB_PREFIX_ . 'ets_rv_comment_origin_lang`(
`id_ets_rv_comment`,
`id_lang`,
`content`
)
VALUES(
' . (int)$id_comment . ',
' . (int)$id_lang . ',
"' . pSQL($content, true) . '")
');
}
}
public static function getOriginContentById($id_comment)
{
if (!Validate::isUnsignedId($id_comment)) {
return false;
}
return ($res = Db::getInstance()->getValue('SELECT `content` FROM `' . _DB_PREFIX_ . 'ets_rv_comment_origin_lang` WHERE id_ets_rv_comment = ' . (int)$id_comment)) ? $res : '';
}
public static function deleteOriginLang($id_comment)
{
if (!Validate::isUnsignedId($id_comment)) {
return false;
}
return Db::getInstance()->execute('DELETE FROM `' . _DB_PREFIX_ . 'ets_rv_comment_origin_lang` WHERE `id_ets_rv_comment` = ' . (int)$id_comment);
}
public static function deleteReports($id_comment)
{
if (!Validate::isUnsignedId($id_comment)) {
return false;
}
return Db::getInstance()->execute('DELETE FROM `' . _DB_PREFIX_ . 'ets_rv_comment_report` WHERE `id_ets_rv_comment` = ' . (int)$id_comment);
}
public static function deleteUsefulness($id_comment, $id_customer = null, $employee = null, $question = null)
{
if (!Validate::isUnsignedId($id_comment) ||
$id_customer !== null && !Validate::isUnsignedInt($id_customer) ||
$employee !== null && !Validate::isUnsignedInt($employee) ||
$question !== null && !Validate::isUnsignedInt($question)
) {
return false;
}
return Db::getInstance()->execute('DELETE FROM `' . _DB_PREFIX_ . 'ets_rv_comment_usefulness` WHERE `id_ets_rv_comment` = ' . (int)$id_comment . ($id_customer !== null ? ' AND `id_customer` = ' . (int)$id_customer : '') . ($employee !== null ? ' AND `employee` = ' . (int)$employee : '') . ($question !== null ? ' AND `question` = ' . (int)$question : ''));
}
public static function reportComment($id_comment, $id_customer, $question = 0)
{
return Db::getInstance()->execute('
INSERT INTO `' . _DB_PREFIX_ . 'ets_rv_comment_report` (`id_ets_rv_comment`, `id_customer`, `question`)
VALUES (' . (int)$id_comment . ', ' . (int)$id_customer . ', ' . (int)$question . ')');
}
public static function isAlreadyReport($id_comment, $id_customer)
{
return (bool)Db::getInstance()->getValue('
SELECT COUNT(*)
FROM `' . _DB_PREFIX_ . 'ets_rv_comment_report`
WHERE `id_customer` = ' . (int)$id_customer . '
AND `id_ets_rv_comment` = ' . (int)$id_comment);
}
public static function setCommentUsefulness($id_comment, $usefulness, $id_customer, $employee = 0, $question = 0)
{
if (!self::isAlreadyUsefulness($id_comment, $id_customer, $employee, $question)) {
return Db::getInstance()->execute('INSERT INTO `' . _DB_PREFIX_ . 'ets_rv_comment_usefulness` (`id_ets_rv_comment`, `usefulness`, `id_customer`, `employee`, `question`) VALUES (' . (int)$id_comment . ', ' . (int)$usefulness . ', ' . (int)$id_customer . ', ' . (int)$employee . ', ' . (int)$question . ')');
} elseif (self::isAlreadyUsefulness($id_comment, $id_customer, $employee, $question, $usefulness)) {
return !self::deleteUsefulness($id_comment, $id_customer, $employee, $question);
} else {
return Db::getInstance()->execute('
UPDATE `' . _DB_PREFIX_ . 'ets_rv_comment_usefulness` SET `usefulness` = ' . (int)$usefulness . '
WHERE `id_ets_rv_comment` = ' . (int)$id_comment . ' AND `id_customer` = ' . (int)$id_customer . ' AND `employee` = ' . (int)$employee . ' AND `question` = ' . (int)$question
);
}
}
public static function isAlreadyUsefulness($id_comment, $id_customer, $employee = 0, $question = 0, $usefulness = null)
{
return (bool)Db::getInstance()->getValue('
SELECT COUNT(*) FROM `' . _DB_PREFIX_ . 'ets_rv_comment_usefulness`
WHERE `id_customer` = ' . (int)$id_customer . ' AND `id_ets_rv_comment` = ' . (int)$id_comment . ' AND employee=' . (int)$employee . ' AND question=' . (int)$question . ($usefulness !== null ? ' AND usefulness=' . (int)$usefulness : '')
);
}
public static function deleteAll($question = 0, $answer = null)
{
return Db::getInstance()->delete('ets_rv_comment', 'question = ' . (int)$question . ($answer !== null ? ' AND answer=' . (int)$answer : ''), false);
}
}