Файл: local/upgrade_4.5.4.dat
Строк: 614
<?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'));
}
/*
Добавление нового поля в таблицу
пользователей для хранения времени
получения бонуса */
$check = DB::run() ->
querySingle("SHOW COLUMNS FROM `users` LIKE
'users_timebonus';");
if (empty($check)) {
DB::run() ->
query("ALTER TABLE `users` ADD `users_timebonus` int(11) NOT NULL
DEFAULT '0' AFTER `users_timelastlogin`;");
echo 'Добавлено
поле users_timebonus в таблицу users<br />';
}
/*
Добавление настроек количества
ежедневгого бонуса в таблицу setting */
$check =
DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('bonusmoney'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('bonusmoney', 500));
echo
'Добавлены настройки количества
ежедневгого бонуса в таблицу setting<br
/>';
}
/* Добавление настроек количества
денег при регистрации в таблицу setting
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('registermoney'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);",
array('registermoney', 1000));
echo 'Добавлены
настройки количества денег при
регистрации в таблицу setting<br />';
}
/*
Добавление нового поля в таблицу
категорий загрузки для указания
директории */
$check = DB::run() -> querySingle("SHOW
COLUMNS FROM `cats` LIKE 'folder';");
if (empty($check))
{
DB::run() -> query("ALTER TABLE `cats` ADD `folder` varchar(50)
NOT NULL DEFAULT '';");
echo 'Добавлено поле folder в
таблицу cats<br />';
}
/* Добавление
настроек веса смайлов в таблицу setting
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('smilemaxsize'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);",
array('smilemaxsize', 10240));
echo 'Добавлены
настройки веса смайлов в таблицу setting<br
/>';
}
/* Добавление настроек макс.
размера смайлов в таблицу setting */
$check =
DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('smilemaxweight'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);",
array('smilemaxweight', 100));
echo 'Добавлены
настройки макс. размера смайлов в
таблицу setting<br />';
}
/* Добавление
настроек мин. размера смайлов в таблицу
setting */
$check = DB::run() -> querySingle("SELECT
`setting_name` FROM `setting` WHERE `setting_name`=?;",
array('smileminweight'));
if (empty($check)) {
DB::run() ->
query("INSERT INTO `setting` (`setting_name`, `setting_value`) VALUES
(?, ?);", array('smileminweight', 16));
echo 'Добавлены
настройки мин. размера смайлов в таблицу
setting<br />';
}
/* Добавление настроек
постраничной навигации событий в
таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('postevents'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('postevents', 10));
echo
'Добавлены настройки постраничной
навигации событий в таблицу setting<br
/>';
}
/* Добавление настроек кол.
комментарий событий в таблицу setting */
$check
= DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('maxkommevents'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('maxkommevents', 500));
echo
'Добавлены настройки кол. комментарий
событий в таблицу setting<br />';
}
/*
Добавление настроек кол. баллов для
публикации событий в таблицу setting */
$check =
DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('eventpoint'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('eventpoint', 50));
echo
'Добавлены настройки кол. баллов для
публикации событий в таблицу setting<br
/>';
}
/* Добавление настроек
постраничной навигации истории банов в
таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('listbanhist'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('listbanhist', 10));
echo
'Добавлены настройки постраничной
навигации истории банов в таблицу
setting<br />';
}
/* Добавление настроек
постраничной навигации инвайтов в
таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('listinvite'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('listinvite', 20));
echo
'Добавлены настройки постраничной
навигации инвайтов в таблицу setting<br
/>';
}
/* Добавление настроек
постраничной навигации предложения и
проблемы в таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('postoffers'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('postoffers', 10));
echo
'Добавлены настройки постраничной
навигации предложения и проблемы в
таблицу setting<br />';
}
/* Добавление
настроек постраничной навигации
комментариев предложения и проблемы в
таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('postcommoffers'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('postcommoffers', 10));
echo
'Добавлены настройки постраничной
навигации комментариев предложения и
проблемы в таблицу setting<br />';
}
/*
Добавление настроек кол. комментариев
предложения и проблемы в таблицу setting
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('maxpostoffers'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);",
array('maxpostoffers', 300));
echo 'Добавлены настройки
кол. комментариев предложения и проблемы
в таблицу setting<br />';
}
/* Добавление
настроек постраничной навигации в
поиске пользователей в таблицу setting
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('usersearch'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);", array('usersearch',
30));
echo 'Добавлены настройки
постраничной навигации в поиске
пользователей в таблицу setting<br />';
}
/*
Добавление настроек постраничной
навигации стены сообщений в таблицу setting
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('wallpost'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);", array('wallpost',
10));
echo 'Добавлены настройки
постраничной навигации стены сообщений
в таблицу setting<br />';
}
/* Добавление
настроек кол. постов стены сообщений в
таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('wallmaxpost'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('wallmaxpost', 100));
echo
'Добавлены настройки кол. постов стены
сообщений в таблицу setting<br />';
}
/*
Добавление настроек истории авторизаций
в таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('loginauthlist'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('loginauthlist', 10));
echo
'Добавлены настройки постраничной
навигации в истории авторизаций в
таблицу setting<br />';
}
/* Удаление поля
jabber у пользователей */
$check = DB::run() ->
querySingle("SHOW COLUMNS FROM `users` LIKE
'users_jabber';");
if (!empty($check)) {
DB::run() ->
query("ALTER TABLE `users` DROP COLUMN `users_jabber`;");
echo
'Удалено поле users_jabber из таблицы users<br
/>';
}
$check = DB::run() -> querySingle("SHOW COLUMNS FROM
`users` LIKE 'users_sendprivatmail';");
if (empty($check))
{
DB::run() -> query("ALTER TABLE `users` ADD
`users_sendprivatmail` tinyint(1) unsigned NOT NULL DEFAULT '0' AFTER
`users_timelastlogin`;");
echo 'Добавлено новое
поле users_sendprivatmail в таблицу users<br
/>';
}
/* Добавление настроек кол. дней
перед отправкой уведомления о привате на
email в таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('sendprivatmailday'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('sendprivatmailday',
3));
echo 'Добавлены настройки кол. дней
перед отправкой уведомления о привате на
email в таблицу setting<br />';
}
/* Добавление
настроек рассылки писем за одну операцию
в таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('sendmailpacket'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('sendmailpacket', 20));
echo
'Добавлены настройки рассылки писем за
одну операцию в таблицу setting<br />';
}
/*
Добавление нового поля в таблицу
пользователей для отписки рассылки
*/
$check = DB::run() -> querySingle("SHOW COLUMNS FROM `users`
LIKE 'users_subscribe';");
if (empty($check)) {
DB::run() ->
query("ALTER TABLE `users` ADD `users_subscribe` varchar(32) NOT NULL
DEFAULT '';");
// Заносим всем
пользователям случайный хеш
DB::run() ->
exec("UPDATE `users` SET `users_subscribe` =
MD5(UUID());");
echo 'Добавлено поле users_subscribe
в таблицу users<br />';
}
/* Добавление
настроек драйвера отправки писем в
таблицу setting */
$check = DB::run() ->
querySingle("SELECT `setting_name` FROM `setting` WHERE
`setting_name`=?;", array('maildriver'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('maildriver',
'sendmail'));
echo 'Добавлены настройки
драйвера отправки писем в таблицу
setting<br />';
}
/* Добавление настроек smtp
хоста отправки писем в таблицу setting */
$check
= DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('mailhost'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('mailhost',
'smtp.yandex.ru'));
echo 'Добавлены настройки smtp
хоста отправки писем в таблицу setting<br
/>';
}
/* Добавление настроек smtp порта
отправки писем в таблицу setting */
$check =
DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('mailport'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('mailport', 465));
echo
'Добавлены настройки smtp порта отправки
писем в таблицу setting<br />';
}
/*
Добавление настроек smtp пользователя
отправки писем в таблицу setting */
$check =
DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('mailusername'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('mailusername', ''));
echo
'Добавлены настройки smtp пользователя
отправки писем в таблицу setting<br
/>';
}
/* Добавление настроек smtp пароля
отправки писем в таблицу setting */
$check =
DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('mailpassword'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('mailpassword', ''));
echo
'Добавлены настройки smtp пароля отправки
писем в таблицу setting<br />';
}
/*
Добавление настроек smtp шифрования
отправки писем в таблицу setting */
$check =
DB::run() -> querySingle("SELECT `setting_name` FROM `setting`
WHERE `setting_name`=?;", array('mailsecurity'));
if (empty($check))
{
DB::run() -> query("INSERT INTO `setting` (`setting_name`,
`setting_value`) VALUES (?, ?);", array('mailsecurity',
'ssl'));
echo 'Добавлены настройки smtp
шифрования отправки писем в таблицу
setting<br />';
}
/* Добавление настроек
времени подсчета онлайн в таблицу setting
*/
$check = DB::run() -> querySingle("SELECT `setting_name` FROM
`setting` WHERE `setting_name`=?;", array('timeonline'));
if
(empty($check)) {
DB::run() -> query("INSERT INTO `setting`
(`setting_name`, `setting_value`) VALUES (?, ?);", array('timeonline',
600));
echo 'Добавлены настройки времени
подсчета онлайн в таблицу setting<br
/>';
}
if ($config['rotorversion'] < '4.3.9') {
DB::run()
-> query("ALTER TABLE `banhist` MODIFY `ban_reason` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `blogs` MODIFY
`blogs_text` text DEFAULT NULL;");
DB::run() -> query("ALTER
TABLE `chat` MODIFY `chat_text` text DEFAULT NULL;");
DB::run()
-> query("ALTER TABLE `commblog` MODIFY `commblog_text` text
DEFAULT NULL;");
DB::run() -> query("ALTER TABLE
`commevents` MODIFY `commevent_text` text DEFAULT NULL;");
DB::run()
-> query("ALTER TABLE `commload` MODIFY `commload_text` text
DEFAULT NULL;");
DB::run() -> query("ALTER TABLE `commnews`
MODIFY `commnews_text` text DEFAULT NULL;");
DB::run() ->
query("ALTER TABLE `commoffers` MODIFY `comm_text` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `commphoto` MODIFY
`commphoto_text` text DEFAULT NULL;");
DB::run() ->
query("ALTER TABLE `contact` MODIFY `contact_text` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `downs` MODIFY
`downs_text` text DEFAULT NULL;");
DB::run() -> query("ALTER
TABLE `downs` MODIFY `downs_notice` text DEFAULT NULL;");
DB::run()
-> query("ALTER TABLE `events` MODIFY `event_text` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `guest` MODIFY
`guest_text` text DEFAULT NULL;");
DB::run() -> query("ALTER
TABLE `guest` MODIFY `guest_reply` text DEFAULT NULL;");
DB::run()
-> query("ALTER TABLE `ignore` MODIFY `ignore_text` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `inbox` MODIFY
`inbox_text` text DEFAULT NULL;");
DB::run() -> query("ALTER
TABLE `news` MODIFY `news_text` text DEFAULT NULL;");
DB::run()
-> query("ALTER TABLE `note` MODIFY `note_text` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `notebook` MODIFY
`note_text` text DEFAULT NULL;");
DB::run() -> query("ALTER
TABLE `notice` MODIFY `notice_text` text DEFAULT NULL;");
DB::run()
-> query("ALTER TABLE `offers` MODIFY `offers_text` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `offers` MODIFY
`offers_text_reply` text DEFAULT NULL;");
DB::run() ->
query("ALTER TABLE `outbox` MODIFY `outbox_text` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `photo` MODIFY
`photo_text` text DEFAULT NULL;");
DB::run() -> query("ALTER
TABLE `posts` MODIFY `posts_text` text DEFAULT NULL;");
DB::run()
-> query("ALTER TABLE `rating` MODIFY `rating_text` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `rules` MODIFY
`rules_text` text DEFAULT NULL;");
DB::run() -> query("ALTER
TABLE `spam` MODIFY `spam_text` text DEFAULT NULL;");
DB::run()
-> query("ALTER TABLE `transfers` MODIFY `trans_text` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `trash` MODIFY
`trash_text` text DEFAULT NULL;");
DB::run() -> query("ALTER
TABLE `users` MODIFY `users_info` text DEFAULT NULL;");
DB::run()
-> query("ALTER TABLE `users` MODIFY `users_reasonban` text DEFAULT
NULL;");
DB::run() -> query("ALTER TABLE `wall` MODIFY
`wall_text` text DEFAULT NULL;");
echo 'Обновлена
структура БД для совместимости с MySQL
5.7<br />';
}
/* Добавление нового поля в
категории загрузок для закрытия
разделов */
$check = DB::run() -> querySingle("SHOW
COLUMNS FROM `cats` LIKE 'closed';");
if (empty($check))
{
DB::run() -> query("ALTER TABLE `cats` ADD `closed` tinyint(1)
unsigned NOT NULL default '0';");
echo 'Добавлено поле
в категории загрузок для закрытия
разделов<br />';
}
if ($config['rotorversion'] <
'4.3.0') {
echo 'Необходимо выполнить <a
href="/upgrade/upgrade_smiles2.php">апгрейд
смайлов</a><br />';
}
if ($config['rotorversion']
< '4.5.0') {
echo 'Необходимо выполнить <a
href="/upgrade/upgrade_bbcodes.php">апгрейд
тегов</a><br />';
}
if
(file_exists(BASEDIR.'/assets/fonts/.htaccess')){
echo '<i
class="fa fa-exclamation-circle"></i>
Необходимо удалить файл assets/fonts/.htaccess<br
/>';
}
/* Если установлен модуль игры */
if
(file_exists(BASEDIR.'/games')) {
$check = DB::run() ->
querySingle("SHOW TABLES LIKE 'lotinfo';");
if (empty($check))
{
DB::run() -> exec("
CREATE TABLE IF NOT EXISTS `lotinfo`
(
`lot_id` int(11) unsigned NOT NULL auto_increment,
`lot_date`
smallint(4) unsigned NOT NULL,
`lot_sum` int(11) unsigned NOT NULL
default '0',
`lot_newnum` smallint(4) unsigned NOT NULL default
'0',
`lot_oldnum` smallint(4) unsigned NOT NULL default '0',
`lot_winners` varchar(255) NOT NULL default '',
PRIMARY KEY
(`lot_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
");
echo
'Добавлена таблица lotinfo<br />';
}
$check =
DB::run() -> querySingle("SHOW TABLES LIKE 'lotusers';");
if
(empty($check)) {
DB::run() -> exec("
CREATE TABLE IF NOT
EXISTS `lotusers` (
`lot_id` int(11) unsigned NOT NULL
auto_increment,
`lot_user` varchar(20) NOT NULL,
`lot_num`
smallint(4) unsigned NOT NULL default '0',
`lot_time` int(11) unsigned
NOT NULL default '0',
PRIMARY KEY (`lot_id`)
) ENGINE=MyISAM
DEFAULT CHARSET=utf8;
");
echo 'Добавлена
таблица lotusers<br />';
}
$check = DB::run() ->
querySingle("SHOW TABLES LIKE 'bank';");
if (empty($check))
{
DB::run() -> exec("
CREATE TABLE IF NOT EXISTS `bank` (
`bank_id` int(11) unsigned NOT NULL auto_increment,
`bank_user`
varchar(20) NOT NULL,
`bank_sum` int(11) unsigned NOT NULL default
'0',
`bank_oper` int(11) unsigned NOT NULL default '0',
`bank_time` int(11) unsigned NOT NULL default '0',
PRIMARY KEY
(`bank_id`),
UNIQUE KEY `bank_user` (`bank_user`)
) ENGINE=MyISAM
DEFAULT CHARSET=utf8;
");
echo 'Добавлена
таблица bank<br />';
}
/* Добавление
нового поля в таблицу пользователей для
хранения суммы кредита */
$check = DB::run() ->
querySingle("SHOW COLUMNS FROM `users` LIKE
'users_sumcredit';");
if (empty($check)) {
DB::run() ->
query("ALTER TABLE `users` ADD `users_sumcredit` int(11) unsigned NOT
NULL DEFAULT '0';");
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` ADD `users_timecredit` int(11) unsigned NOT
NULL DEFAULT '0';");
echo 'Добавлено поле
users_timecredit в таблицу users<br />';
}
}
$version =
substr(strstr(basename(__FILE__), '_'), 1, -4);
DB::run() ->
query("REPLACE INTO `setting` (`setting_name`, `setting_value`) VALUES
(?, ?);", array('rotorversion', $version));
clearCache();
echo
'<div class="note"><b>RotorCMS
автоматически обновлен до версии ' . $version
. '</b></div><br />';
?>