Files
comment/sql.php
T

119 lines
5.5 KiB
PHP

<?php
if (!defined('BASE_DIR')) exit;
/**
* AVE.cms - Модуль Комментарии
* Исправлено: Поддержка Emoji (utf8mb4)
* Добавлено: Управление логом опасных файлов
*/
$module_sql_install = array();
$module_sql_deinstall = array();
$module_sql_update = array();
// 1. УДАЛЕНИЕ
$module_sql_deinstall[] = "DROP TABLE IF EXISTS `%%PRFX%%_module_comments`;";
$module_sql_deinstall[] = "DROP TABLE IF EXISTS `%%PRFX%%_module_comment_info`;";
$module_sql_deinstall[] = "DROP TABLE IF EXISTS `%%PRFX%%_module_comment_votes`;";
// 2. УСТАНОВКА
$module_sql_install[] = "
CREATE TABLE IF NOT EXISTS `%%PRFX%%_module_comments` (
`Id` tinyint(1) unsigned NOT NULL AUTO_INCREMENT,
`comment_max_chars` smallint(3) unsigned NOT NULL DEFAULT '1000',
`comment_user_groups` text NOT NULL,
`comment_user_groups_read` text NOT NULL,
`comment_need_approve` enum('0','1') NOT NULL DEFAULT '0',
`comment_active` enum('1','0') NOT NULL DEFAULT '1',
`comment_use_antispam` enum('1','0') NOT NULL DEFAULT '1',
`comment_use_page_nav` enum('1','0') NOT NULL DEFAULT '1',
`comment_page_nav_count` varchar(5) NOT NULL,
`comment_show_f1` tinyint(1) NOT NULL DEFAULT '1',
`comment_req_f1` tinyint(1) NOT NULL DEFAULT '0',
`comment_name_f1` varchar(255) NOT NULL DEFAULT '',
`comment_show_f2` tinyint(1) NOT NULL DEFAULT '1',
`comment_req_f2` tinyint(1) NOT NULL DEFAULT '0',
`comment_name_f2` varchar(255) NOT NULL DEFAULT '',
`comment_allow_files` tinyint(1) NOT NULL DEFAULT '0',
`comment_allowed_extensions` varchar(255) NOT NULL DEFAULT 'jpg,jpeg,png,gif,webp',
`comment_max_file_size` int(10) NOT NULL DEFAULT '2048',
`comment_max_files` tinyint(2) NOT NULL DEFAULT '5',
`comment_rating_type` tinyint(1) NOT NULL DEFAULT '0',
`comment_show_user_rating` tinyint(1) NOT NULL DEFAULT '0',
`comment_show_user_rating_replies` tinyint(1) NOT NULL DEFAULT '0',
`comment_rating_anon_vote` tinyint(1) NOT NULL DEFAULT '0',
`comment_rating_anon_set` tinyint(1) NOT NULL DEFAULT '0',
`comment_allow_files_anon` tinyint(1) NOT NULL DEFAULT '0',
`comment_edit_time` int(11) NOT NULL DEFAULT '60',
`comment_cookie_life` int(11) NOT NULL DEFAULT '30',
`comment_ajax_replies_limit` tinyint(3) NOT NULL DEFAULT '5',
`comment_allow_self_answer` tinyint(1) NOT NULL DEFAULT '0',
`comment_sort_order` varchar(20) NOT NULL DEFAULT 'ASC',
`comment_log_dangerous` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1;
";
$module_sql_install[] = "
CREATE TABLE IF NOT EXISTS `%%PRFX%%_module_comment_info` (
`Id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`parent_id` int(10) unsigned NOT NULL DEFAULT '0',
`document_id` int(10) unsigned NOT NULL DEFAULT '0',
`comment_author_name` varchar(255) NOT NULL,
`comment_author_id` int(10) unsigned NOT NULL DEFAULT '0',
`comment_author_email` varchar(255) NOT NULL,
`comment_author_city` varchar(255) NOT NULL,
`comment_author_website` varchar(255) NOT NULL,
`comment_author_ip` varchar(45) NOT NULL,
`anon_key` varchar(32) DEFAULT NULL,
`comment_published` int(10) unsigned NOT NULL DEFAULT '0',
`comment_changed` int(10) unsigned NOT NULL DEFAULT '0',
`comment_text` text NOT NULL,
`comment_status` tinyint(1) unsigned NOT NULL DEFAULT '1',
`comments_close` tinyint(1) unsigned NOT NULL DEFAULT '0',
`comment_file` varchar(255) NOT NULL DEFAULT '',
`user_rating` tinyint(1) NOT NULL DEFAULT '0',
`rating_sum` int(10) NOT NULL DEFAULT '0',
`rating_count` int(10) NOT NULL DEFAULT '0',
PRIMARY KEY (`Id`),
KEY `document_id` (`document_id`),
KEY `parent_id` (`parent_id`),
KEY `comment_status` (`comment_status`),
KEY `anon_key` (`anon_key`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1;
";
$module_sql_install[] = "
CREATE TABLE IF NOT EXISTS `%%PRFX%%_module_comment_votes` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`comment_id` int(10) unsigned NOT NULL,
`user_id` int(10) unsigned DEFAULT '0',
`anon_key` varchar(32) DEFAULT '',
`remote_addr` varchar(45) DEFAULT '',
`vote_value` tinyint(1) NOT NULL,
`date_voted` int(10) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `comment_id` (`comment_id`),
KEY `anon_key` (`anon_key`),
KEY `user_id` (`user_id`),
KEY `remote_addr` (`remote_addr`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci PACK_KEYS=0 AUTO_INCREMENT=1;
";
// Добавлена 0 в конце (для comment_log_dangerous)
$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', 0);";
// Если нужно добавить поле в уже существующую таблицу при обновлении
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD `comment_log_dangerous` tinyint(1) NOT NULL DEFAULT '0';";
$module_sql_update[] = "
UPDATE `%%PRFX%%_module`
SET
ModuleAveTag = '" . $module['ModuleAveTag'] . "',
ModulePHPTag = '" . $module['ModulePHPTag'] . "',
ModuleVersion = '" . $module['ModuleVersion'] . "'
WHERE
ModuleSysName = '" . $module['ModuleSysName'] . "'
LIMIT 1;
";
?>