обновление базы и соединения с ней на utf8mb4 теперь можно вставлять эмодзи ⚠️
This commit is contained in:
@@ -304,6 +304,8 @@ function commentListShow($tpl_dir)
|
||||
|
||||
if ($assign['no_read_permission'] == 0)
|
||||
{
|
||||
// ПЕРЕКЛЮЧАЕМ РЕЖИМ ЧТЕНИЯ НА utf8mb4
|
||||
$AVE_DB->Query("SET NAMES 'utf8mb4'");
|
||||
$assign['comment_max_chars'] = $settings['comment_max_chars'];
|
||||
$assign['im'] = $settings['comment_use_antispam'];
|
||||
$assign['comment_allowed_extensions'] = $settings['comment_allowed_extensions'] ?? 'jpg,jpeg,png,gif,webp';
|
||||
@@ -732,6 +734,8 @@ if ($is_allowed_ext && !$is_dangerous && $file['size'] > 0 && $file['size'] <= $
|
||||
|
||||
// 4. Подготавливаем для вставки в SQL запрос
|
||||
$new_comment['comment_text'] = addslashes($comment_text_safe);
|
||||
|
||||
$AVE_DB->Query("SET NAMES 'utf8mb4'");
|
||||
|
||||
$AVE_DB->Query("INSERT INTO " . PREFIX . "_module_comment_info (`" . implode('`,`', array_keys($new_comment)) ."`) VALUES ('" . implode("','", $new_comment) . "')");
|
||||
$new_comment['Id'] = $AVE_DB->InsertId();
|
||||
@@ -979,6 +983,9 @@ if (!$can_upload && isset($_FILES['comment_image'])) {
|
||||
// Обновление базы данных
|
||||
$new_status = $is_admin ? (int)$row['comment_status'] : ($row['comment_need_approve'] == '1' ? 0 : 1);
|
||||
|
||||
// ПЕРЕКЛЮЧАЕМ РЕЖИМ ПЕРЕД ОБНОВЛЕНИЕМ:
|
||||
$AVE_DB->Query("SET NAMES 'utf8mb4'");
|
||||
|
||||
$AVE_DB->Query("
|
||||
UPDATE " . PREFIX . "_module_comment_info
|
||||
SET
|
||||
@@ -1473,6 +1480,9 @@ else {
|
||||
function commentAdminListShow($tpl_dir)
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
// ПЕРЕКЛЮЧАЕМ РЕЖИМ СРАЗУ ДЛЯ ВСЕЙ АДМИНКИ МОДУЛЯ
|
||||
$AVE_DB->Query("SET NAMES 'utf8mb4'");
|
||||
|
||||
$session_id = SESSION ?? '';
|
||||
|
||||
@@ -1797,6 +1807,9 @@ function commentAdminPostEdit($tpl_dir)
|
||||
{
|
||||
global $AVE_DB, $AVE_Template;
|
||||
|
||||
// ПЕРЕКЛЮЧАЕМ КОДИРОВКУ
|
||||
$AVE_DB->Query("SET NAMES 'utf8mb4'");
|
||||
|
||||
$post_sub = $_POST['sub'] ?? '';
|
||||
$request_id = (int)($_REQUEST['Id'] ?? 0);
|
||||
$is_ajax = isset($_REQUEST['ajax']);
|
||||
|
||||
7
sql.php
7
sql.php
@@ -3,6 +3,7 @@
|
||||
|
||||
/**
|
||||
* AVE.cms - Модуль Комментарии
|
||||
* Исправлено: Поддержка Emoji (utf8mb4)
|
||||
*/
|
||||
|
||||
$module_sql_install = array();
|
||||
@@ -48,7 +49,7 @@
|
||||
`comment_allow_self_answer` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`comment_sort_order` varchar(20) NOT NULL DEFAULT 'ASC',
|
||||
PRIMARY KEY (`Id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1;
|
||||
";
|
||||
|
||||
$module_sql_install[] = "
|
||||
@@ -77,7 +78,7 @@
|
||||
KEY `parent_id` (`parent_id`),
|
||||
KEY `comment_status` (`comment_status`),
|
||||
KEY `anon_key` (`anon_key`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1;
|
||||
";
|
||||
|
||||
$module_sql_install[] = "
|
||||
@@ -94,7 +95,7 @@
|
||||
KEY `anon_key` (`anon_key`),
|
||||
KEY `user_id` (`user_id`),
|
||||
KEY `remote_addr` (`remote_addr`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0 AUTO_INCREMENT=1;
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1;
|
||||
";
|
||||
|
||||
$module_sql_install[] = "INSERT INTO `%%PRFX%%_module_comments` VALUES (1, 1000, '1,3', '1,2,3,4', '0', '1', '1' , '0', '', 1, 0, '', 1, 0, '', 0, 'jpg,jpeg,png,gif,webp', 2048, 5, 0, 1, 0, 0, 0, 0, 60, 30, 5, 0, 'ASC');";
|
||||
|
||||
Reference in New Issue
Block a user