Files
comment/sql.php
T

89 lines
4.5 KiB
PHP

<?php
/**
* AVE.cms - Модуль Комментарии
*
* Обновленная структура с поддержкой произвольных полей
*/
$module_sql_install = array();
$module_sql_deinstall = array();
$module_sql_update = array();
$module_sql_deinstall[] = "DROP TABLE IF EXISTS `%%PRFX%%_module_comments`;";
$module_sql_deinstall[] = "DROP TABLE IF EXISTS `%%PRFX%%_module_comment_info`;";
// =================================================================================
// 1. УСТАНОВКА МОДУЛЯ (CREATE TABLE)
// =================================================================================
$module_sql_install[] = "CREATE TABLE `%%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 '',
PRIMARY KEY (`Id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;";
$module_sql_install[] = "CREATE TABLE `%%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, /* Маппим Field 2 сюда */
`comment_author_website` varchar(255) NOT NULL, /* Маппим Field 1 сюда */
`comment_author_ip` varchar(15) NOT 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',
PRIMARY KEY (`Id`),
KEY `document_id` (`document_id`),
KEY `parent_id` (`parent_id`),
KEY `comment_status` (`comment_status`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 PACK_KEYS=0;";
// Начальные данные (добавлены дефолтные значения для новых полей в конце строки)
$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, '');";
// =================================================================================
// 2. ОБНОВЛЕНИЕ МОДУЛЯ (ALTER TABLE)
// =================================================================================
$module_sql_update[] = "
UPDATE `%%PRFX%%_module`
SET
ModuleAveTag = '" . $modul['ModuleAveTag'] . "',
ModulePHPTag = '" . $modul['ModulePHPTag'] . "',
ModuleVersion = '" . $modul['ModuleVersion'] . "'
WHERE ModuleSysName = '" . $modul['ModuleSysName'] . "'
LIMIT 1;
";
// Добавление новых столбцов управления полями
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD `comment_show_f1` TINYINT(1) NOT NULL DEFAULT '1';";
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD `comment_req_f1` TINYINT(1) NOT NULL DEFAULT '0';";
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD `comment_name_f1` VARCHAR(255) NOT NULL DEFAULT '';";
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD `comment_show_f2` TINYINT(1) NOT NULL DEFAULT '1';";
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD `comment_req_f2` TINYINT(1) NOT NULL DEFAULT '0';";
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD `comment_name_f2` VARCHAR(255) NOT NULL DEFAULT '';";
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_comments` ADD `comment_user_groups_read` TEXT NOT NULL AFTER `comment_user_groups`;";
$module_sql_update[] = "UPDATE `%%PRFX%%_module_comments` SET `comment_user_groups_read` = '1,2,3,4' WHERE `Id` = 1;";
?>