Файл: upgrade/upgrade_4.0.0.dat
Строк: 1173
<?php
#---------------------------------------------#
# *********
RotorCMS ********* #
# Author : Vantuz
#
# Email : visavi.net@mail.ru #
# Site :
http://visavi.net #
# ICQ : 36-44-66 #
#
Skype : vantuzilla
#
#---------------------------------------------#
if (!defined('BASEDIR'))
{
exit(header('Location:../index.php'));
}
$version =
substr(strstr(basename(__FILE__), '_'), 1, -4);
$timezone = DB::run()
-> querySingle("SELECT `setting_value` FROM `setting` WHERE
`setting_name`=?;", array('timezone'));
if (is_numeric($timezone))
{
DB::run() -> query("UPDATE `setting` SET `setting_value`=? WHERE
`setting_name`=?;", array('Europe/Moscow', 'timezone'));
echo
'Изменены настройки timezone в таблице
setting<br />';
}
/* Удаление настроек вывода
рекламы*/
$check = DB::run() -> querySingle("SELECT
`setting_name` FROM `setting` WHERE `setting_name`=?;",
array('rekfoot'));
if (!empty($check)) {
DB::run() ->
query("DELETE FROM `setting` WHERE `setting_name`=? LIMIT 1;",
array('rekfoot'));
echo 'Удалены настройки rekfoot из
таблицы setting<br />';
}
/* Удаление
настроек вывода рекламы*/
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('rekhead'));
if (!empty($check))
{
DB::run() -> query("DELETE FROM `setting` WHERE `setting_name`=?
LIMIT 1;", array('rekhead'));
echo 'Удалены настройки
rekhead из таблицы setting<br />';
}
/* Удаление
настроек цены платного аватара */
$check =
DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('avatarpay'));
if (!empty($check))
{
DB::run() -> query("DELETE FROM `setting` WHERE `setting_name`=?
LIMIT 1;", array('avatarpay'));
echo 'Удалены
настройки avatarpay из таблицы setting<br
/>';
}
/* Переименование аватаров */
$query =
DB::run()->query("SELECT `users_id`, `users_avatar` FROM `users`
WHERE `users_avatar` LIKE '%images/avatars2/%';");
$avatars =
$query->fetchAll();
foreach ($avatars as $avatar){
$name =
basename($avatar['users_avatar']);
$newname = 'images/avatars/'.($name +
300).'.gif';
DB::run()->query("UPDATE `users` SET `users_avatar`=?
WHERE `users_id`=?;", array($newname, $avatar['users_id']));
}
/*
Изменение категории аватаров */
$query =
DB::run()->query("SELECT * FROM `avatars` WHERE
`avatars_cats`=2;");
$avatars = $query->fetchAll();
foreach
($avatars as $avatar){
$name = ($avatar['avatars_name'] +
300).'.gif';
DB::run()->query("UPDATE `avatars` SET
`avatars_cats`=1, `avatars_name`=? WHERE `avatars_id`=?;",
array($name, $avatar['avatars_id']));
}
/* Добавление
cоставного индекса в posts */
$queryindex = DB::run()
-> query("SHOW INDEX FROM `posts` WHERE
`Key_name`='posts_topics_id';");
if (count($queryindex->fetchAll())
< 2) {
DB::run() -> query("DROP INDEX `posts_topics_id` ON
`posts`");
DB::run() -> query("DROP INDEX `posts_time` ON
`posts`");
DB::run() -> query("ALTER TABLE `posts` ADD INDEX
`posts_topics_id` (`posts_topics_id`,`posts_time`);");
echo
'Добавлен составной индекс в таблицу
posts<br />';
}
/* Добавление cоставного
индекса в error */
$queryindex = DB::run() -> query("SHOW
INDEX FROM `error` WHERE `Key_name`='error_num';");
if
(count($queryindex->fetchAll()) < 2) {
DB::run() ->
query("DROP INDEX `error_num` ON `error`");
DB::run() ->
query("ALTER TABLE `error` ADD INDEX `error_num`
(`error_num`,`error_time`);");
echo 'Добавлен
составной индекс в таблицу error<br />';
}
/*
Удаление настроек вкл. яваскрипта */
$check =
DB::run() -> querySingle("SHOW COLUMNS FROM `users` LIKE
'users_javascript';");
if (!empty($check)) {
DB::run() ->
query("ALTER TABLE `users` DROP COLUMN
`users_javascript`;");
echo 'Удалено поле users_javascript
из таблицы users<br />';
}
/* Возврат денег
из банка пользователям */
$check = DB::run() ->
querySingle("SHOW TABLES LIKE 'bank';");
if ($check) {
$query =
DB::run() -> query("SELECT `bank_user`, `bank_sum` FROM
`bank`;");
$moneys = $query -> fetchAll();
if
(is_array($moneys)){
foreach ($moneys as $money){
if
(empty($money['bank_sum'])) continue;
DB::run()->query("UPDATE
`users` SET `users_money`=`users_money`+? WHERE `users_login`=?;",
array($money['bank_sum'], $money['bank_user']));
}
}
/*
Удаление таблицы bank */
DB::run()->exec("DROP
TABLE IF EXISTS `bank`;");
echo 'Удалена таблица
bank<br />';
}
$check = DB::run() -> querySingle("SHOW
TABLES LIKE 'lotinfo';");
if ($check) {
DB::run()->exec("DROP
TABLE IF EXISTS `lotinfo`;");
echo 'Удалена таблица
lotinfo<br />';
}
$check = DB::run() -> querySingle("SHOW
TABLES LIKE 'lotusers';");
if ($check)
{
DB::run()->exec("DROP TABLE IF EXISTS `lotusers`;");
echo
'Удалена таблица lotusers<br />';
}
$check = DB::run()
-> querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('maxsumbank'));
if (!empty($check))
{
DB::run() -> query("DELETE FROM `setting` WHERE `setting_name`=?
LIMIT 1;", array('maxsumbank'));
echo 'Удалены
настройки maxsumbank из таблицы setting<br
/>';
}
$check = DB::run() -> querySingle("SELECT `setting_name`
FROM `setting` WHERE `setting_name`=?;", array('vkladlist'));
if
(!empty($check)) {
DB::run() -> query("DELETE FROM `setting` WHERE
`setting_name`=? LIMIT 1;", array('vkladlist'));
echo 'Удалены
настройки vkladlist из таблицы setting<br
/>';
}
$check = DB::run() -> querySingle("SHOW COLUMNS FROM
`users` LIKE 'users_sumcredit';");
if (!empty($check)) {
DB::run()
-> query("ALTER TABLE `users` DROP COLUMN
`users_sumcredit`;");
echo 'Удалено поле users_sumcredit
из таблицы users<br />';
}
$check = DB::run() ->
querySingle("SHOW COLUMNS FROM `users` LIKE
'users_timecredit';");
if (!empty($check)) {
DB::run() ->
query("ALTER TABLE `users` DROP COLUMN
`users_timecredit`;");
echo 'Удалено поле users_timecredit
из таблицы users<br />';
}
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('minkredit'));
if (!empty($check))
{
DB::run() -> query("DELETE FROM `setting` WHERE `setting_name`=?
LIMIT 1;", array('minkredit'));
echo 'Удалены
настройки minkredit из таблицы setting<br
/>';
}
$check = DB::run() -> querySingle("SELECT `setting_name`
FROM `setting` WHERE `setting_name`=?;", array('maxkredit'));
if
(!empty($check)) {
DB::run() -> query("DELETE FROM `setting` WHERE
`setting_name`=? LIMIT 1;", array('maxkredit'));
echo 'Удалены
настройки maxkredit из таблицы setting<br
/>';
}
$check = DB::run() -> querySingle("SELECT `setting_name`
FROM `setting` WHERE `setting_name`=?;", array('percentkredit'));
if
(!empty($check)) {
DB::run() -> query("DELETE FROM `setting` WHERE
`setting_name`=? LIMIT 1;", array('percentkredit'));
echo
'Удалены настройки percentkredit из таблицы
setting<br />';
}
$check = DB::run() -> querySingle("SELECT
`setting_name` FROM `setting` WHERE `setting_name`=?;",
array('creditpoint'));
if (!empty($check)) {
DB::run() ->
query("DELETE FROM `setting` WHERE `setting_name`=? LIMIT 1;",
array('creditpoint'));
echo 'Удалены настройки creditpoint
из таблицы setting<br />';
}
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('jackpot'));
if (!empty($check))
{
DB::run() -> query("DELETE FROM `setting` WHERE `setting_name`=?
LIMIT 1;", array('jackpot'));
echo 'Удалены настройки
jackpot из таблицы setting<br />';
}
$check = DB::run()
-> querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('hipopytka'));
if (!empty($check))
{
DB::run() -> query("DELETE FROM `setting` WHERE `setting_name`=?
LIMIT 1;", array('hipopytka'));
echo 'Удалены
настройки hipopytka из таблицы setting<br
/>';
}
$check = DB::run() -> querySingle("SELECT `setting_name`
FROM `setting` WHERE `setting_name`=?;", array('hisumma'));
if
(!empty($check)) {
DB::run() -> query("DELETE FROM `setting` WHERE
`setting_name`=? LIMIT 1;", array('hisumma'));
echo 'Удалены
настройки hisumma из таблицы setting<br />';
}
/*
Удаление параметра ставки в игру Очко
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('ochkostavka'));
if
(!empty($check)) {
DB::run() -> query("DELETE FROM `setting` WHERE
`setting_name`=? LIMIT 1;", array('ochkostavka'));
echo
'Удалены настройки ochkostavka из таблицы
setting<br />';
}
/* Удаление таблицы headers
*/
$check = DB::run() -> querySingle("SHOW TABLES LIKE
'headers';");
if ($check) {
DB::run()->exec("DROP TABLE IF
EXISTS `headers`;");
echo 'Удалена таблица
headers<br />';
}
/* Добавление нового поля
для определения местонахождения */
$check =
DB::run() -> querySingle("SHOW COLUMNS FROM `visit` LIKE
'visit_page';");
if (empty($check)) {
DB::run() ->
query("ALTER TABLE `visit` ADD `visit_page` varchar(100) NOT NULL
DEFAULT '' AFTER `visit_self`;");
echo 'Добавлено поле
visit_page в таблицу visit<br />';
}
/* Добавление
настроек регистрации по приглашениям
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('invite'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);", array('invite',
''));
echo 'Добавлены настройки регистрации
по приглашениям в таблицу setting<br
/>';
}
$check = DB::run() -> querySingle("SHOW TABLES LIKE
'invite';");
if (empty($check)) {
DB::run() -> exec("
CREATE
TABLE IF NOT EXISTS `invite` (
`id` int(11) unsigned NOT NULL
AUTO_INCREMENT,
`key` varchar(15) NOT NULL,
`user` varchar(20) NOT
NULL,
`invited` varchar(20) NOT NULL default '',
`used` tinyint(1)
unsigned NOT NULL DEFAULT '0',
`time` int(11) unsigned NOT
NULL,
PRIMARY KEY (`id`),
KEY `user` (`user`),
KEY `used`
(`used`),
KEY `time` (`time`)
) ENGINE=MyISAM DEFAULT
CHARSET=utf8;
");
echo 'Создана новая таблица
invite<br />';
}
/* Изменение поля users_icq
*/
DB::run() -> query("ALTER TABLE `users` MODIFY `users_icq`
varchar(10) NOT NULL DEFAULT '';");
DB::run() ->
query("UPDATE `users` SET `users_icq`=? WHERE `users_icq`=?;",
array('', '0'));
/* Добавление нового поля в
таблицу пользователей для хранения
api-ключа */
$check = DB::run() -> querySingle("SHOW COLUMNS
FROM `users` LIKE 'users_apikey';");
if (empty($check)) {
DB::run()
-> query("ALTER TABLE `users` ADD `users_apikey` varchar(32) NOT
NULL DEFAULT '';");
echo 'Добавлено поле users_apikey в
таблицу users<br />';
}
/* Расширение поля
для имени смайлов */
DB::run() -> query("ALTER TABLE
`smiles` MODIFY `smiles_name` varchar(25) NOT NULL;");
/*
Удаление админских смайлов */
if
($config['rotorversion'] < '3.5.3') {
DB::run() ->
query("UPDATE `smiles` SET `smiles_cats`=? WHERE
`smiles_cats`=?;", array('1', '2'));
}
/* Удаление
параметра вывода пожеланий на главной
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('wishes'));
if
(!empty($check)) {
DB::run() -> query("DELETE FROM `setting` WHERE
`setting_name`=? LIMIT 1;", array('wishes'));
echo 'Удалены
настройки wishes из таблицы setting<br />';
}
/*
Удаление параметра вывода календаря на
главной */
$check = DB::run() -> querySingle("SELECT
`setting_name` FROM `setting` WHERE `setting_name`=?;",
array('calendar'));
if (!empty($check)) {
DB::run() ->
query("DELETE FROM `setting` WHERE `setting_name`=? LIMIT 1;",
array('calendar'));
echo 'Удалены настройки calendar из
таблицы setting<br />';
}
/* Удаление
параметра бегущей строки на главной
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('onliner'));
if
(!empty($check)) {
DB::run() -> query("DELETE FROM `setting` WHERE
`setting_name`=? LIMIT 1;", array('onliner'));
echo 'Удалены
настройки onliner из таблицы setting<br />';
}
/*
Удаление параметра вывода скинов на
главную */
$check = DB::run() -> querySingle("SELECT
`setting_name` FROM `setting` WHERE `setting_name`=?;",
array('autoskins'));
if (!empty($check)) {
DB::run() ->
query("DELETE FROM `setting` WHERE `setting_name`=? LIMIT 1;",
array('autoskins'));
echo 'Удалены настройки autoskins
из таблицы setting<br />';
}
$check = DB::run() ->
querySingle("SHOW TABLES LIKE 'commevents';");
if (empty($check))
{
DB::run() -> exec("
CREATE TABLE IF NOT EXISTS `commevents`
(
`commevent_id` int(11) unsigned NOT NULL
AUTO_INCREMENT,
`commevent_event_id` mediumint(8) unsigned NOT
NULL,
`commevent_text` text NOT NULL,
`commevent_author` varchar(20)
NOT NULL,
`commevent_time` int(11) unsigned NOT NULL,
`commevent_ip`
varchar(20) NOT NULL,
`commevent_brow` varchar(25) NOT NULL,
PRIMARY
KEY (`commevent_id`),
KEY `commevent_event_id`
(`commevent_event_id`),
KEY `commevent_time` (`commevent_time`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;
");
echo 'Создана
новая таблица commevents<br />';
}
$check = DB::run()
-> querySingle("SHOW TABLES LIKE 'events';");
if
(empty($check)) {
DB::run() -> exec("
CREATE TABLE IF NOT EXISTS
`events` (
`event_id` mediumint(8) unsigned NOT NULL
AUTO_INCREMENT,
`event_title` varchar(100) NOT NULL,
`event_text` text
NOT NULL,
`event_author` varchar(20) NOT NULL,
`event_image`
varchar(30) NOT NULL DEFAULT '',
`event_time` int(11) unsigned NOT NULL
DEFAULT '0',
`event_comments` mediumint(8) unsigned NOT NULL DEFAULT
'0',
`event_closed` tinyint(1) unsigned NOT NULL DEFAULT
'0',
`event_top` tinyint(1) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY
(`event_id`),
KEY `event_time` (`event_time`)
) ENGINE=MyISAM DEFAULT
CHARSET=utf8;
");
echo 'Создана новая таблица
events<br />';
}
/* Удаление поля показа
времени у пользователей */
$check = DB::run() ->
querySingle("SHOW COLUMNS FROM `users` LIKE
'users_showtime';");
if (!empty($check)) {
DB::run() ->
query("ALTER TABLE `users` DROP COLUMN `users_showtime`;");
echo
'Удалено поле users_showtime из таблицы users<br
/>';
}
/* Удаление параметра вывода
времени на главную */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('showtime'));
if (!empty($check))
{
DB::run() -> query("DELETE FROM `setting` WHERE `setting_name`=?
LIMIT 1;", array('showtime'));
echo 'Удалены
настройки showtime из таблицы setting<br />';
}
/*
Удаление параметра вывода приветствия
на главную */
$check = DB::run() -> querySingle("SELECT
`setting_name` FROM `setting` WHERE `setting_name`=?;",
array('greeting'));
if (!empty($check)) {
DB::run() ->
query("DELETE FROM `setting` WHERE `setting_name`=? LIMIT 1;",
array('greeting'));
echo 'Удалены настройки greeting из
таблицы setting<br />';
}
/* Удаление
параметра вывода цитат на главную */
$check =
DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('quotes'));
if (!empty($check))
{
DB::run() -> query("DELETE FROM `setting` WHERE `setting_name`=?
LIMIT 1;", array('quotes'));
echo 'Удалены настройки
quotes из таблицы setting<br />';
}
/*
Добавление нового поля в новости для
вывода на главной */
$check = DB::run() ->
querySingle("SHOW COLUMNS FROM `news` LIKE 'news_top';");
if
(empty($check)) {
DB::run() -> query("ALTER TABLE `news` ADD
`news_top` tinyint(1) unsigned NOT NULL default '0';");
echo
'Добавлено поле news_top в таблицу news<br
/>';
}
/* Добавление настроек подключения
через прокси в таблицу setting */
$check = DB::run()
-> querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('proxy'));
if (empty($check)) {
DB::run()
-> query("INSERT INTO `setting` (`setting_name`, `setting_value`)
VALUES (?, ?);", array('proxy', ''));
echo 'Добавлены
настройки подключения через прокси в
таблицу setting<br />';
}
/* Добавление
настроек актива для голосования в блогах
в таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('blogvotepoint'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('blogvotepoint', '50'));
echo
'Добавлены настройки актива для
голосования в блогах в таблицу setting<br
/>';
}
/* Добавление индексов для
полнотекстового поиска в форуме и
загрузках */
$queryindex = DB::run() -> querySingle("SHOW
INDEX FROM `downs` WHERE `Key_name`='downs_text';");
if
(empty($queryindex)) {
DB::run() -> query("ALTER TABLE `downs` ADD
FULLTEXT `downs_text` (`downs_text`);");
}
$queryindex = DB::run()
-> querySingle("SHOW INDEX FROM `downs` WHERE
`Key_name`='downs_title';");
if (empty($queryindex)) {
DB::run()
-> query("ALTER TABLE `downs` ADD FULLTEXT `downs_title`
(`downs_title`);");
}
$queryindex = DB::run() ->
querySingle("SHOW INDEX FROM `posts` WHERE
`Key_name`='posts_text';");
if (empty($queryindex)) {
DB::run() ->
query("ALTER TABLE `posts` ADD FULLTEXT `posts_text`
(`posts_text`);");
}
$queryindex = DB::run() ->
querySingle("SHOW INDEX FROM `topics` WHERE
`Key_name`='topics_title';");
if (empty($queryindex)) {
DB::run()
-> query("ALTER TABLE `topics` ADD FULLTEXT `topics_title`
(`topics_title`);");
}
if ($config['rotorversion'] < '3.3.9')
{
if (empty($config['regmail'])) {
$regmail = 1;
} elseif
(!empty($config['regmail'])) {
$regmail = 0;
}
DB::run() ->
query("REPLACE INTO `setting` (`setting_name`, `setting_value`) VALUES
(?, ?);", array('regmail', $regmail));
}
/* Создание
таблицы notice */
$check = DB::run() -> querySingle("SHOW
TABLES LIKE 'notice';");
if (empty($check)) {
DB::run() ->
exec("
CREATE TABLE IF NOT EXISTS `notice` (
`notice_id`
smallint(4) unsigned NOT NULL auto_increment,
`notice_name` varchar(100)
NOT NULL,
`notice_text` text NOT NULL,
`notice_user` varchar(20) NOT
NULL default '',
`notice_time` int(11) unsigned NOT NULL default
'0',
`notice_protect` tinyint(1) unsigned NOT NULL default '0',
PRIMARY
KEY (`notice_id`)
) ENGINE=MyISAM DEFAULT
CHARSET=utf8;
");
DB::run() -> query("INSERT INTO `notice`
(`notice_id`, `notice_name`, `notice_text`, `notice_user`, `notice_time`,
`notice_protect`) VALUES (1, 'Приветствие при
регистрации в приват', 'Добро пожаловать,
%USERNAME%!<br />Теперь Вы полноправный
пользователь сайта, сохраните ваш пароль
и логин в надежном месте, они пригодятся
вам для входа на наш сайт.<br />Перед
посещением сайта рекомендуем вам
ознакомиться с
[url=%SITENAME%/pages/rules.php]правилами сайта[/url], это
поможет Вам избежать неприятных
ситуаций.<br />Желаем приятно провести
время.<br />С уважением, администрация
сайта', '', UNIX_TIMESTAMP(), 1);");
echo 'Создана
новая таблица notice<br />';
}
/*
Добавление настроек touch-темы в таблицу
setting */
$check = DB::run() -> querySingle("SELECT `setting_name`
FROM `setting` WHERE `setting_name`=?;", array('touchthemes'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);",
array('touchthemes', '0'));
echo 'Добавлены настройки
touchthemes в таблицу setting<br />';
}
/* Удаление
поля времени добавления в различные
списки */
$check = DB::run() -> querySingle("SHOW COLUMNS
FROM `users` LIKE 'users_timeaddlist';");
if (!empty($check))
{
DB::run() -> query("ALTER TABLE `users` DROP COLUMN
`users_timeaddlist`;");
echo 'Удалено поле
users_timeaddlist из таблицы users<br
/>';
}
//-------------------------------------------------------------//
DB::run()
-> query("UPDATE `users` SET `users_gender`=? WHERE
`users_gender`=?;", array('1', '0'));
/* Удаление
параметра просмотра Истории голосований
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('showrathistpoint'));
if
(!empty($check)) {
DB::run() -> query("DELETE FROM `setting` WHERE
`setting_name`=? LIMIT 1;", array('showrathistpoint'));
echo
'Удалены настройки showrathistpoint из таблицы
setting<br />';
}
/* Создание таблицы files_forum
*/
$check = DB::run() -> querySingle("SHOW TABLES LIKE
'files_forum';");
if (empty($check))
{
DB::run()->exec("
CREATE TABLE IF NOT EXISTS `files_forum`
(
`file_id` int(11) unsigned NOT NULL auto_increment,
`file_topics_id`
mediumint(8) unsigned NOT NULL,
`file_posts_id` int(11) unsigned NOT
NULL,
`file_hash` varchar(40) NOT NULL,
`file_name` varchar(60) NOT
NULL,
`file_size` int(11) unsigned NOT NULL,
`file_user` varchar(20)
NOT NULL,
`file_time` int(11) unsigned NOT NULL default '0',
PRIMARY
KEY (`file_id`),
KEY `file_topics_id` (`file_topics_id`),
KEY
`file_posts_id` (`file_posts_id`),
KEY `file_user` (`file_user`),
KEY
`file_time` (`file_time`)
) ENGINE=MyISAM DEFAULT
CHARSET=utf8;
");
echo 'Создана новая таблица
files_forum<br />';
}
/* Добавление настроек
загрузки файлов форума в таблицу setting
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('forumloadsize'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);",
array('forumloadsize', '1048576'));
echo 'Добавлены
настройки forumloadsize в таблицу setting<br
/>';
}
$check = DB::run() -> querySingle("SELECT `setting_name`
FROM `setting` WHERE `setting_name`=?;", array('forumextload'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);",
array('forumextload',
'zip,rar,txt,jpg,jpeg,gif,png,mp3,mp4,3gp,wav,mmf,mid,midi,sis,jar,jad'));
echo
'Добавлены настройки forumextload в таблицу
setting<br />';
}
$check = DB::run() -> querySingle("SELECT
`setting_name` FROM `setting` WHERE `setting_name`=?;",
array('forumloadpoints'));
if (empty($check)) {
DB::run() ->
query("INSERT INTO `setting` (`setting_name`, `setting_value`) VALUES
(?, ?);", array('forumloadpoints', '150'));
echo 'Добавлены
настройки forumloadpoints в таблицу setting<br
/>';
}
/* Добавление нового поля в темы
форума для заметок или объявлений */
$check =
DB::run() -> querySingle("SHOW COLUMNS FROM `topics` LIKE
'topics_note';");
if (empty($check)) {
DB::run() ->
query("ALTER TABLE `topics` ADD `topics_note` varchar(255) NOT NULL
default '' AFTER `topics_mod`;");
echo 'Добавлено поле
topics_note в таблицу topics<br />';
}
/* Удаление
поля отвечающего за приватность стены
сообщений */
$check = DB::run() -> querySingle("SHOW
COLUMNS FROM `users` LIKE 'users_closewall';");
if (!empty($check))
{
DB::run() -> query("ALTER TABLE `users` DROP COLUMN
`users_closewall`;");
echo 'Удалено поле users_closewall
из таблицы users<br />';
}
/* Добавление
нового поля отвечающего за приватность
*/
$check = DB::run() -> querySingle("SHOW COLUMNS FROM `users`
LIKE 'users_privacy';");
if (empty($check)) {
DB::run() ->
query("ALTER TABLE `users` ADD `users_privacy` tinyint(1) unsigned NOT
NULL default '0';");
echo 'Добавлено поле users_privacy
в таблицу users<br />';
}
/* Удаление
параметра уменьшения изображения
(Используется новое значение screensize) */
$check
= DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('filefoto'));
if (!empty($check))
{
DB::run() -> query("DELETE FROM `setting` WHERE `setting_name`=?
LIMIT 1;", array('filefoto'));
echo 'Удалены
настройки filefoto из таблицы setting<br />';
}
/*
Добавление нового поля в таблицу downs
(Модерация админом загруженного файла)
*/
$check = DB::run() -> querySingle("SHOW COLUMNS FROM `downs`
LIKE 'downs_app';");
if (empty($check)) {
DB::run() ->
query("ALTER TABLE `downs` ADD `downs_app` tinyint(1) unsigned NOT
NULL default '0' AFTER `downs_last_load`;");
echo 'Добавлено
новое поле downs_app в таблицу downs<br
/>';
}
$check = DB::run() -> querySingle("SHOW COLUMNS FROM
`downs` LIKE 'downs_notice';");
if (empty($check)) {
DB::run() ->
query("ALTER TABLE `downs` ADD `downs_notice` text NOT NULL default ''
AFTER `downs_app`;");
echo 'Добавлено новое поле
downs_notice в таблицу downs<br />';
}
$check = DB::run()
-> querySingle("SHOW COLUMNS FROM `downs` LIKE
'downs_active';");
if (empty($check)) {
DB::run() ->
query("ALTER TABLE `downs` ADD `downs_active` tinyint(1) unsigned NOT
NULL default '0' AFTER
`downs_notice`;");
DB::run()->query("UPDATE `downs` SET
`downs_active`=?;", array(1));
echo 'Добавлено новое
поле downs_active в таблицу downs<br
/>';
}
//----------------------- 3.2.0 ------------------------//
/*
Удаление поля из таблицы users (Игровой
персонаж) */
$check = DB::run() -> querySingle("SHOW
COLUMNS FROM `users` LIKE 'users_person';");
if (!empty($check))
{
DB::run() -> query("ALTER TABLE `users` DROP COLUMN
`users_person`;");
echo 'Удалено поле users_person из
таблицы users<br />';
}
/* Добавление
настроек защитной картинки в таблицу
setting */
$check = DB::run() -> querySingle("SELECT `setting_name`
FROM `setting` WHERE `setting_name`=?;", array('bookscores'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);", array('bookscores',
'1'));
echo 'Добавлены настройки bookscores в
таблицу setting<br />';
}
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('captcha_symbols'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('captcha_symbols',
'23456789abcdegikpqsvxyz'));
echo 'Добавлены настройки
captcha_symbols в таблицу setting<br />';
}
$check =
DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('captcha_maxlength'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);",
array('captcha_maxlength', '5'));
echo 'Добавлены
настройки captcha_maxlength в таблицу setting<br
/>';
}
$check = DB::run() -> querySingle("SELECT `setting_name`
FROM `setting` WHERE `setting_name`=?;",
array('captcha_amplitude'));
if (empty($check)) {
DB::run() ->
query("INSERT INTO `setting` (`setting_name`, `setting_value`) VALUES
(?, ?);", array('captcha_amplitude', '4'));
echo 'Добавлены
настройки captcha_amplitude в таблицу setting<br
/>';
}
$check = DB::run() -> querySingle("SELECT `setting_name`
FROM `setting` WHERE `setting_name`=?;", array('captcha_noise'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);",
array('captcha_noise', '1'));
echo 'Добавлены настройки
captcha_noise в таблицу setting<br />';
}
$check = DB::run()
-> querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('captcha_spaces'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('captcha_spaces', '0'));
echo
'Добавлены настройки captcha_spaces в таблицу
setting<br />';
}
$check = DB::run() -> querySingle("SELECT
`setting_name` FROM `setting` WHERE `setting_name`=?;",
array('captcha_credits'));
if (empty($check)) {
DB::run() ->
query("INSERT INTO `setting` (`setting_name`, `setting_value`) VALUES
(?, ?);", array('captcha_credits', '0'));
echo 'Добавлены
настройки captcha_credits в таблицу setting<br
/>';
}
/* Добавление нового поля в таблицу
votepoll */
$check = DB::run() -> querySingle("SHOW COLUMNS FROM
`votepoll` LIKE 'poll_time';");
if (empty($check)) {
DB::run() ->
query("ALTER TABLE `votepoll` ADD `poll_time` int(11) unsigned NOT
NULL default '0' AFTER
`poll_user`;");
DB::run()->query("UPDATE `votepoll` SET
`poll_time`=?;", array(SITETIME));
echo 'Добавлено
новое поле poll_time в таблицу votepoll<br
/>';
}
//-------------------------------------------------------------//
/*
Создание таблицы blacklist и импорт данных
*/
$check = DB::run() -> querySingle("SHOW TABLES LIKE
'blacklist';");
if (empty($check))
{
DB::run()->exec("
CREATE TABLE IF NOT EXISTS `blacklist`
(
`black_id` int(11) unsigned NOT NULL auto_increment,
`black_type`
tinyint(1) unsigned NOT NULL,
`black_value` varchar(100) NOT
NULL,
`black_user` varchar(20) NOT NULL default '',
`black_time`
int(11) unsigned NOT NULL default '0',
PRIMARY KEY (`black_id`),
KEY
`black_type` (`black_type`),
KEY `black_value` (`black_value`)
)
ENGINE=MyISAM DEFAULT CHARSET=utf8;
");
echo 'Создана
новая таблица blacklist<br />';
DB::run() ->
query("INSERT INTO `blacklist` (`black_type`, `black_value`,
`black_user`, `black_time`) VALUES (?, ?, ?, ?);", array(3,
'asdasd.ru', $config['nickname'],
SITETIME));
//-------------------------------------------------------------//
$query
= DB::run() -> query("SELECT * FROM `blackmail`");
$blackmail
= $query -> fetchAll();
if (!empty($blackmail)){
foreach($blackmail
as $mail){
if (empty($mail['black_user'])) {
$mail['black_user'] =
$config['nickname'];
}
DB::run() -> query("INSERT INTO
`blacklist` (`black_type`, `black_value`, `black_user`, `black_time`)
VALUES (?, ?, ?, ?);", array(1, strtolower($mail['black_mail']),
$mail['black_user'], $mail['black_time']));
}
}
/* Удаление
таблицы blackmail */
DB::run()->exec("DROP TABLE IF EXISTS
`blackmail`;");
echo 'Удалена таблица blackmail
(Данные импортированы в blacklist)<br
/>';
//-------------------------------------------------------------//
$query
= DB::run() -> query("SELECT * FROM
`blacklogin`");
$blacklogin = $query -> fetchAll();
if
(!empty($blacklogin)){
foreach($blacklogin as $login){
if
(empty($login['black_user'])) {
$login['black_user'] =
$config['nickname'];
}
DB::run() -> query("INSERT INTO
`blacklist` (`black_type`, `black_value`, `black_user`, `black_time`)
VALUES (?, ?, ?, ?);", array(2, strtolower($login['black_login']),
$login['black_user'], $login['black_time']));
}
}
/* Удаление
таблицы blacklogin */
DB::run()->exec("DROP TABLE IF EXISTS
`blacklogin`;");
echo 'Удалена таблица blacklogin
(Данные импортированы в blacklist)<br
/>';
}
//-------------------------------------------------------------//
/*
Удаление параметров защитной картинки
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=? OR `setting_name`=?;",
array('protectimg', 'protectdef'));
if (!empty($check)) {
DB::run() ->
query("DELETE FROM `setting` WHERE `setting_name`=? LIMIT 1;",
array('protectimg'));
DB::run() -> query("DELETE FROM `setting`
WHERE `setting_name`=? LIMIT 1;", array('protectdef'));
echo
'Удалены настройки protectimg и protectdef из
таблицы setting<br />';
}
DB::run() -> query("REPLACE
INTO `setting` (`setting_name`, `setting_value`) VALUES (?, ?);",
array('rotorversion', $version));
save_setting();
echo '<div
class="note"><b>RotorCMS автоматически
обновлен до версии ' . $version .
'</b></div><br />';
if
(file_exists(BASEDIR.'/mpanel')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить
директорию mpanel</div>';
}
if
(file_exists(BASEDIR.'/pages/stat.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
pages/stat.php</div>';
}
if
(file_exists(BASEDIR.'/pages/themes.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
pages/themes.php</div>';
}
if
(file_exists(BASEDIR.'/pages/traffic.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
pages/traffic.php</div>';
}
if
(file_exists(BASEDIR.'/pages/skin.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
pages/skin.php</div>';
}
if
(file_exists(BASEDIR.'/pages/link.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
pages/link.php</div>';
}
if (file_exists(BASEDIR.'/games')){
echo
'<div class="info"><img
src="/images/img/warning.gif" alt="warning" />
Необходимо удалить директорию
games</div>';
}
if
(file_exists(BASEDIR.'/admin/headlines.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
admin/headlines.php и admin/links/headlines_102.dat</div>';
}
if
(file_exists(BASEDIR.'/images/smiles2')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить
директорию images/smiles2</div>';
}
if
(file_exists(BASEDIR.'/images/avatars2')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить
директорию images/avatars2</div>';
}
if
(file_exists(BASEDIR.'/images/bandit')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить
директорию images/bandit</div>';
}
if
(file_exists(BASEDIR.'/images/cards')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить
директорию images/cards</div>';
}
if
(file_exists(BASEDIR.'/images/kosti')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить
директорию images/kosti</div>';
}
if
(file_exists(BASEDIR.'/images/naperstki')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить
директорию images/naperstki</div>';
}
if
(file_exists(BASEDIR.'/images/weapon')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить
директорию images/weapon</div>';
}
if
(file_exists(BASEDIR.'/includes/onliner.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
includes/onliner.php</div>';
}
if
(file_exists(BASEDIR.'/includes/footer.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
includes/footer.php</div>';
}
if
(file_exists(BASEDIR.'/includes/idna_convert.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
includes/idna_convert.php</div>';
}
if
(file_exists(BASEDIR.'/includes/link.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
includes/link.php</div>';
}
if
(file_exists(BASEDIR.'/includes/note.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
includes/note.php</div>';
}
if
(file_exists(BASEDIR.'/includes/reklama.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
includes/reklama.php</div>';
}
if
(file_exists(BASEDIR.'/includes/skin.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
includes/skin.php</div>';
}
if
(file_exists(BASEDIR.'/includes/navigation.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
includes/navigation.php</div>';
}
if
(file_exists(BASEDIR.'/includes/info.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
includes/info.php</div>';
}
if
(file_exists(BASEDIR.'/includes/quotesbase.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
includes/quotesbase.php</div>';
}
if
(file_exists(BASEDIR.'/gallery/graph.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
gallery/graph.php</div>';
}
if
(file_exists(BASEDIR.'/gallery/level.php')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить файл
gallery/level.php</div>';
}
if
(file_exists(BASEDIR.'/gallery/fonts')){
echo '<div
class="info"><img src="/images/img/warning.gif"
alt="warning" /> Необходимо удалить
директорию gallery/fonts</div>';
}
?>