98 lines
3.3 KiB
PHP
98 lines
3.3 KiB
PHP
<?php
|
||
|
||
/**
|
||
* AVE.cms - Модуль Опросы.
|
||
*
|
||
* @package AVE.cms
|
||
* @subpackage mod_poll
|
||
* @since 3.31
|
||
* @filesource
|
||
*/
|
||
|
||
/**
|
||
* mySQL-запросы для установки, обновления и удаления модуля
|
||
*/
|
||
|
||
$module_sql_install = array();
|
||
$module_sql_deinstall = array();
|
||
$module_sql_update = array();
|
||
|
||
// --- 1. УДАЛЕНИЕ МОДУЛЯ ---
|
||
$module_sql_deinstall[] = "DROP TABLE IF EXISTS `%%PRFX%%_module_poll`;";
|
||
$module_sql_deinstall[] = "DROP TABLE IF EXISTS `%%PRFX%%_module_poll_comments`;";
|
||
$module_sql_deinstall[] = "DROP TABLE IF EXISTS `%%PRFX%%_module_poll_items`;";
|
||
|
||
// При удалении модуля чистим ВСЕ алиасы, связанные с ним
|
||
$module_sql_deinstall[] = "DELETE FROM `%%PRFX%%_modules_aliases` WHERE module_name = 'poll';";
|
||
|
||
|
||
// --- 2. УСТАНОВКА МОДУЛЯ ---
|
||
$module_sql_install[] = "
|
||
CREATE TABLE IF NOT EXISTS `%%PRFX%%_module_poll` (
|
||
`id` int(10) unsigned NOT NULL auto_increment,
|
||
`poll_title` varchar(255) NOT NULL default '',
|
||
`poll_status` enum('1','0') NOT NULL default '1',
|
||
`poll_can_comment` enum('0','1') NOT NULL default '0',
|
||
`poll_anti_spam` enum('0','1') NOT NULL default '0',
|
||
`poll_groups_id` tinytext,
|
||
`poll_start` int(10) unsigned NOT NULL default '0',
|
||
`poll_end` int(10) unsigned NOT NULL default '0',
|
||
`poll_users_id` text NOT NULL default '',
|
||
`poll_users_ip` text NOT NULL default '',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||
";
|
||
|
||
$module_sql_install[] = "
|
||
CREATE TABLE IF NOT EXISTS `%%PRFX%%_module_poll_comments` (
|
||
`id` int(10) unsigned NOT NULL auto_increment,
|
||
`poll_id` int(10) NOT NULL,
|
||
`poll_comment_author_id` int(10) NOT NULL,
|
||
`poll_comment_author_ip` text NOT NULL default '',
|
||
`poll_comment_time` int(10) unsigned NOT NULL default '0',
|
||
`poll_comment_title` varchar(250) NOT NULL default '',
|
||
`poll_comment_text` text NOT NULL default '',
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||
";
|
||
|
||
$module_sql_install[] = "
|
||
CREATE TABLE IF NOT EXISTS `%%PRFX%%_module_poll_items` (
|
||
`id` int(10) unsigned NOT NULL auto_increment,
|
||
`poll_id` int(10) NOT NULL,
|
||
`poll_item_title` varchar(250) NOT NULL default '',
|
||
`poll_item_hits` int(10) NOT NULL default '0',
|
||
`poll_item_color` varchar(10) NOT NULL default '',
|
||
`poll_item_position` int(2) NOT NULL,
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||
";
|
||
|
||
// ШТАТНОЕ ЧПУ
|
||
$module_sql_install[] = "
|
||
INSERT INTO `%%PRFX%%_modules_aliases`
|
||
SET module_name = 'poll',
|
||
module_action = 'archive',
|
||
module_link = 'index.php?module=poll&action=archive',
|
||
module_url = 'poll-archive',
|
||
module_admin = '0';
|
||
";
|
||
|
||
|
||
// --- 3. ОБНОВЛЕНИЕ МОДУЛЯ ---
|
||
$module_sql_update[] = "
|
||
UPDATE
|
||
`%%PRFX%%_module`
|
||
SET
|
||
ModuleAveTag = '" . (isset($module['ModuleAveTag']) ? $module['ModuleAveTag'] : '') . "',
|
||
ModulePHPTag = '" . (isset($module['ModulePHPTag']) ? $module['ModulePHPTag'] : '') . "',
|
||
ModuleVersion = '" . (isset($module['ModuleVersion']) ? $module['ModuleVersion'] : '') . "'
|
||
WHERE
|
||
ModuleSysName = 'poll'
|
||
LIMIT 1;
|
||
";
|
||
|
||
// Добавляем поле poll_anti_spam, если его еще нет
|
||
$module_sql_update[] = "ALTER TABLE `%%PRFX%%_module_poll` ADD IF NOT EXISTS `poll_anti_spam` enum('0','1') NOT NULL DEFAULT '0' AFTER `poll_can_comment`";
|
||
|
||
?>
|