Обновление движка до версии 2.1 (R600)

Exile

Администратор
#1
Доброго времени суток.

Перед выполнением каких-либо действий по обновлению, полностью прочитайте эту инструкцию!

В процессе подготовки к релизу версии 2.1, мы столкнулись с тем, что из-за большого временного разрыва между стабильными версиями, у нас слишком большая фрагментация по ревизиям. У пользователей представлен огромный диапазон используемых ими ревизий трекеров, начиная с R400, заканчивая R599. В связи с этим, написание универсального конвертера, который будет учитывать особенности всех ревизий, является нецелесообразным. Из-за этого обновление базы данных выполняется частично вручную, путем выполнения запросов, которые указаны в этой теме. Это значительно проще, чем кажется.

Перед выполнением каких-либо действий по обновлению, в первую очередь, обязательно сделайте бекап базы данных. Потому что это ваша единственная возможность откатить ваш ресурс в исходное состояние, если у вас что-то пойдет не так. Также запомните номер ревизии движка, которая у вас в настоящий момент установлена, она указана на главной странице администраторского раздела.

Для начала, скачайте из нашего

Please Login or Register to view hidden text.

стабильную версию 2.1 (R600) и распакуйте архив с ней. Скачанные файлы из папки upload загрузите на ваш сервер с перезаписью всех имеющихся там аналогичных файлов. После этого, вам потребуется поправить параметры доступа к базе данных и имя сервера в файле config.php - вам необходимо будет заменить их на свои, корректные:
Код:
'db1' => array('localhost', 'dbase', 'user', 'pass', $charset, $pconnect)
В данной строке изменяем данные входа в базу данных
 
$domain_name = 'torrentpier.com';
В данной строке указываем ваше доменное имя. Остальные правки в файле вносятся по усмотрению, исходя из необходимости из внесения (ориентируйтесь на описания, указанные у полей).
Также переименуйте папку language/lang_russian в language/russian, чтобы у форума были временные языковые переменные для процесса обновления. После обновления форума эту папку надо будет удалить.

Файлы движка обновлены - для его корректной работы осталось обновить базу данных, чтобы пропали все ошибки, которые у вас появятся после обновления на всех станицах. Дальнейшие действия зависят от того, какая у вас стояла ревизия изначально. Если ревизия R400 - выполняйте все запросы, указанные ниже. Если у вас ревизия, например, 573 - то только запросы, относящиеся к следующей ревизии с правками в базе, то есть выполнение запросов начинайте с ревизии 579.

Если какой-то запрос не выполняется и выдает ошибку, что якобы нет поля в базе и т.п. - просто пропускайте его, переходите к следующему. Проблемные запросы отпишите в этой теме - каждый случай рассмотрим индивидуально. Во время выполнения запросов форум отключать не нужно (если хотите ограничить доступ для пользователей - пользуйтесь файлом .htaccess и аналогичными методами).
Ревизия 407:
PHP:
INSERT INTO `bb_config` VALUES ('tor_comment', '1');
Ревизия 458:
PHP:
ALTER TABLE `bb_posts` ADD `post_mod_comment` TEXT NOT NULL DEFAULT '';
ALTER TABLE `bb_posts` ADD `post_mod_comment_type` TINYINT( 1 ) NOT NULL DEFAULT '0';
ALTER TABLE `bb_posts` ADD `post_mc_mod_id` mediumint(8) NOT NULL;
ALTER TABLE `bb_posts` ADD `post_mc_mod_name` varchar(25) NOT NULL DEFAULT '';
Ревизия 496:

Запустите в корне вашего трекера файл r496-user_birthday.php из папки upgrade и удалите его после успешного обновления базы им. Выдает ошибку про отсутствующую функцию realdate?

Please Login or Register to view hidden text.

или перекачайте архив.

Ревизия 507:
PHP:
ALTER TABLE `bb_users` ADD `tpl_name` varchar(255) NOT NULL DEFAULT 'default';
Ревизия 508:
PHP:
UPDATE `bb_config` SET `config_value` = '1' WHERE `config_name` = 'bt_unset_dltype_on_tor_unreg';
Ревизия 537:
PHP:
ALTER TABLE `bb_users` DROP `ignore_srv_load`;
Ревизия 540:
PHP:
UPDATE `bb_users` SET `username` = 'Guest' WHERE `user_id` = -1;
Ревизия 551:
PHP:
DROP TABLE IF EXISTS `bb_bt_torrents_del`;
DROP TABLE IF EXISTS `xbt_announce_log`;
DROP TABLE IF EXISTS `xbt_config`;
DROP TABLE IF EXISTS `xbt_deny_from_hosts`;
DROP TABLE IF EXISTS `xbt_files_users`;
DROP TABLE IF EXISTS `xbt_scrape_log`;
ALTER TABLE `bb_bt_tracker` DROP `xbt_error`;
DELETE FROM `bb_config` WHERE `config_name` = 'torrent_pass_private_key';
Ревизия 552:
PHP:
DELETE FROM `bb_config` WHERE `config_name` = 'board_email';
DELETE FROM `bb_config` WHERE `config_name` = 'board_email_form';
DELETE FROM `bb_config` WHERE `config_name` = 'board_email_sig';
DELETE FROM `bb_config` WHERE `config_name` = 'smtp_delivery';
DELETE FROM `bb_config` WHERE `config_name` = 'smtp_host';
DELETE FROM `bb_config` WHERE `config_name` = 'smtp_password';
DELETE FROM `bb_config` WHERE `config_name` = 'smtp_username';
Ревизия 554:
PHP:
DELETE FROM `bb_config` WHERE `config_name` = 'gallery_enabled';
DELETE FROM `bb_config` WHERE `config_name` = 'pic_dir';
DELETE FROM `bb_config` WHERE `config_name` = 'pic_max_size';
DELETE FROM `bb_config` WHERE `config_name` = 'auto_delete_posted_pics';
Ревизия 555:
PHP:
DELETE FROM `bb_config` WHERE `config_name` = 'allow_avatar_remote';
Ревизия 558:
PHP:
ALTER TABLE `bb_topics` DROP COLUMN `is_draft`;
Ревизия 565:
PHP:
DELETE FROM `bb_config` WHERE `config_name` = 'bt_add_comment';
DELETE FROM `bb_config` WHERE `config_name` = 'bt_add_publisher';
DELETE FROM `bb_config` WHERE `config_name` = 'bt_gen_passkey_on_reg';
Ревизия 571:
PHP:
DROP TABLE IF EXISTS `sph_counter`;
Ревизия 571:

Запустите в корне вашего трекера файл r571-dl_upgrade.php из папки upgrade и удалите его после успешного обновления базы им.

Ревизия 573:
PHP:
DELETE FROM `bb_config` WHERE `config_name` = 'max_inbox_privmsgs';
DELETE FROM `bb_config` WHERE `config_name` = 'max_savebox_privmsgs';
DELETE FROM `bb_config` WHERE `config_name` = 'max_sentbox_privmsgs';
DELETE FROM `bb_config` WHERE `config_name` = 'privmsg_disable';
Ревизия 575:

Запустите в корне вашего трекера файл r575-poll_upgrade.php из папки upgrade и удалите его после успешного обновления базы им.

Ревизия 579:
PHP:
DELETE FROM `bb_config` WHERE `config_name` = 'config_id';
DELETE FROM `bb_config` WHERE `config_name` = 'sendmail_fix';
DELETE FROM `bb_config` WHERE `config_name` = 'version';
DELETE FROM `bb_config` WHERE `config_name` = 'xs_add_comments';
DELETE FROM `bb_config` WHERE `config_name` = 'xs_auto_compile';
DELETE FROM `bb_config` WHERE `config_name` = 'xs_auto_recompile';
DELETE FROM `bb_config` WHERE `config_name` = 'xs_php';
DELETE FROM `bb_config` WHERE `config_name` = 'xs_shownav';
DELETE FROM `bb_config` WHERE `config_name` = 'xs_template_time';
DELETE FROM `bb_config` WHERE `config_name` = 'xs_version';
Ревизия 582:
PHP:
INSERT INTO `bb_cron` VALUES (22, 1, 'Attach maintenance', 'attach_maintenance.php', 'daily', NULL, '05:00:00', 40, '', '', NULL, 1, '', 0, 1, 0);
Ревизия 583:
PHP:
DELETE FROM `bb_config` WHERE `config_name` = 'allow_avatar_local';
DELETE FROM `bb_config` WHERE `config_name` = 'allow_avatar_upload';
DELETE FROM `bb_config` WHERE `config_name` = 'avatar_filesize';
DELETE FROM `bb_config` WHERE `config_name` = 'avatar_gallery_path';
DELETE FROM `bb_config` WHERE `config_name` = 'avatar_max_height';
DELETE FROM `bb_config` WHERE `config_name` = 'avatar_max_width';
DELETE FROM `bb_config` WHERE `config_name` = 'avatar_path';
DELETE FROM `bb_config` WHERE `config_name` = 'require_activation';
DELETE FROM `bb_config` WHERE `config_name` = 'no_avatar';
UPDATE `bb_config` SET `config_value` = '0' WHERE `config_name` = 'show_mod_index';
DELETE FROM `bb_cron` WHERE `cron_script` = 'avatars_cleanup.php';
UPDATE `bb_cron` SET `cron_id` = '3' WHERE `cron_script` = 'attach_maintenance.php';
Ревизия 583:

Запустите в корне вашего трекера файл r583-convert_avatars.php из папки upgrade и удалите его после успешного обновления базы им. Выдало сообщение про то, что у части пользователей не были изменены аватарки? Попросите их установить их заново, т.к. они не подошли либо по размеру, либо по формату.

Ревизия 584:
PHP:
DROP TABLE IF EXISTS `bb_topic_templates`;
ALTER TABLE `bb_forums` DROP `topic_tpl_id`;
Ревизия 586:
PHP:
UPDATE `bb_config` SET `config_value` = 'http://ip-whois.net/ip_geos.php?ip=' WHERE `config_name` = 'whois_info';
Ревизия 588:
PHP:
UPDATE `bb_config` SET `config_value` = 'ru' WHERE `config_name` = 'default_lang';
Ревизия 588:

Запустите в корне вашего трекера файл r588-short_lang.php из папки upgrade и удалите его после успешного обновления базы им.

Ревизия 589:
PHP:
ALTER TABLE `bb_users` DROP `user_next_birthday_greeting`;
Ревизия 590:
PHP:
ALTER TABLE `bb_posts` CHANGE `post_mod_comment` `mc_comment` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
ALTER TABLE `bb_posts` CHANGE `post_mod_comment_type` `mc_type` TINYINT(1) NOT NULL DEFAULT '0';
ALTER TABLE `bb_posts` CHANGE `post_mc_mod_id` `mc_user_id` MEDIUMINT(8) NOT NULL DEFAULT '0';
ALTER TABLE `bb_posts` DROP `post_mc_mod_name`;
Ревизия 592:
PHP:
DELETE FROM `bb_attachments_config` WHERE `config_name` = 'allow_ftp_upload';
DELETE FROM `bb_attachments_config` WHERE `config_name` = 'ftp_server';
DELETE FROM `bb_attachments_config` WHERE `config_name` = 'ftp_path';
DELETE FROM `bb_attachments_config` WHERE `config_name` = 'download_path';
DELETE FROM `bb_attachments_config` WHERE `config_name` = 'ftp_user';
DELETE FROM `bb_attachments_config` WHERE `config_name` = 'ftp_pass';
DELETE FROM `bb_attachments_config` WHERE `config_name` = 'ftp_pasv_mode';
DELETE FROM `bb_extensions` WHERE `extension` = 'wma';
DELETE FROM `bb_extensions` WHERE `extension` = 'swf';
UPDATE `bb_extensions` SET `group_id` = '6' WHERE `extension` = 'torrent';
DELETE FROM `bb_extension_groups` WHERE `group_name` = 'Streams';
DELETE FROM `bb_extension_groups` WHERE `group_name` = 'Flash Files';
UPDATE `bb_extension_groups` SET `group_id` = '6' WHERE `group_id` = 8;
Ревизия 593:
PHP:
INSERT INTO `bb_config` VALUES ('sitemap_time', '');
INSERT INTO `bb_config` VALUES ('static_sitemap', '');
INSERT INTO `bb_cron` VALUES (22, 1, 'Sitemap update', 'sitemap.php', 'daily', NULL, '06:00:00', 30, '', '', NULL, 0, '', 0, 0, 0);
Ревизия 595:
PHP:
INSERT INTO `bb_cron` VALUES (23, 1, 'Update forums atom', 'update_forums_atom.php', 'interval', NULL, NULL, 255, '', '', '00:15:00', 0, '', 0, 0, 0);
UPDATE `bb_attachments_config` SET `config_value` = 'old_files' WHERE `config_name` = 'upload_dir';
Ревизия 596:
PHP:
DELETE FROM `bb_smilies` WHERE `code` = ':cd:';
Ревизия 598:
PHP:
ALTER TABLE `bb_groups` CHANGE `group_description` `group_description` text NOT NULL DEFAULT '';
ALTER TABLE `bb_groups` ADD `avatar_ext_id` int(15) NOT NULL DEFAULT '0' AFTER `group_id`;
ALTER TABLE `bb_groups` ADD `mod_time` INT(11) NOT NULL DEFAULT '0' AFTER `group_time`;
ALTER TABLE `bb_groups` ADD `release_group` tinyint(4) NOT NULL DEFAULT '0' AFTER `group_type`;
ALTER TABLE `bb_groups` ADD `group_signature` text NOT NULL DEFAULT '' AFTER `group_description`;
ALTER TABLE `bb_posts` ADD `poster_rg_id` mediumint(8) NOT NULL DEFAULT '0' AFTER `poster_ip`;
ALTER TABLE `bb_posts` ADD `attach_rg_sig` tinyint(4) NOT NULL DEFAULT '0' AFTER `poster_rg_id`;
Ревизия 599b:
PHP:
INSERT INTO `bb_config` VALUES ('terms', '');
База обновлена. Переименуйте папку files в old_files и очистите все виды кеша на главной странице администраторского раздела (если зайти в него не удается - очистите содержимое папки cacheна севрере). Теперь у вас полноценно работающая стабильная ревия 2.1 (R600). Осталось лишь удалить мусор, оставшмйся от старой ревизии. Для этого удалите следующие файлы и папки:
admin/.htaccess
admin/admin_topic_templates.php
admin/admin_xs.php
admin/xs_cache.php
admin/xs_config.php
admin/xs_frameset.php
admin/xs_include.php
admin/xs_index.php
develop
images/avatars/bot.gif
images/logo/logo_big.png
images/smiles/cd.gif
images/smiles/smileys.pak
images/icon_disk.gif
images/icon_disk_gray.gif
includes/cron/jobs/avatars_cleanup.php
includes/topic_templates
includes/ucp/torrent_userprofile.php
includes/ucp/usercp_activate.php
includes/ucp/usercp_attachcp.php
includes/ucp/usercp_avatar.php
includes/ucp/usercp_bonus.php
includes/ucp/usercp_email.php
includes/ucp/usercp_register.php
includes/ucp/usercp_sendpasswd.php
includes/ucp/usercp_viewprofile.php
includes/sphinxapi.php
includes/topic_templates.php
language/lang_english
language/lang_russian
misc/html
misc/.htaccess
pictures
templates/admin/admin_topic_templates.tpl
templates/default/images/lang_english
templates/default/images/lang_russian (или просто russian, если вы переименовывали папку)
templates/default/images/index.html
templates/default/topic_templates
templates/default/agreement.tpl
templates/default/donate.tpl
templates/default/faq.tpl
templates/default/gallery.tpl
templates/default/posting_poll.tpl
templates/default/posting_tpl.tpl
templates/default/usercp_avatar_gallery.tpl
templates/default/viewonline.tpl
templates/xs_mod
templates/board_disabled_exit.php
templates/limit_load_exit.php
templates/topic_tpl_overall_header.html
templates/topic_tpl_rules_video.html
donate.php
download.php
faq.php
gallery.php
viewonline.php
С папкой pictures будьте предельно внимательны - если вы пользовались галереей изображений, которая в версии 2.1 была удалена, не удаляйте эту папку! Также в обязательном порядке не забудьте удалить все конвертеры, которые вы загружали на сервер в процессе обновления.

Если у вас возникают какие-то вопросы по обновлению - задавайте их в этой теме. Поможем всем. Если же у вас не получается обновиться вообще никак, то мы можем сделать это за вас - у нас появилась

Please Login or Register to view hidden text.

.
 

Exile

Администратор
#2
Обновление с 400 до 600 ревизии проделывал сам лично, заняло не больше пяти минут, прошло без ошибок.

Если в чем-то сомневаетесь - задавайте вопросы, поможем, ну или

Please Login or Register to view hidden text.

.
 

d1mAs1q

Пользователь
#3
Здравствуйте, подскажите пожалуйста, где я могу найти функцию realdate()?

Код:
Fatal error: Call to undefined function realdate() in /sites/default/www/r496-user_birthday.php on line 22
 

Exile

Администратор
#4
d1mAs1q, замените строку:
PHP:
$birthday = realdate($row['user_birthday_old'], 'Y-m-d');
на вот эту:
PHP:
$birthday = bb_date($row['user_birthday_old'] * 86400 + 1, 'Y-m-d', 0);
Готовый файл во вложении. На GitHub тоже обновил:

Please Login or Register to view hidden text.


В центре загрузки архив тоже с уже исправленным файлом.
 

Вложения

whuru

Пользователь
#5
Считаю следует добавить в инструкцию по обновлению фразу, что при запусках php-скриптов, которые обновляют БД от ревизии к ревизии необходимо, чтобы форум был включён! Иначе скрипты не работают! Убил на это время, пока не догадался включить форум.

И второе, когда обновлялся по инструкции с ревизии R477, два запроса пришлось править вручную:
- это добавление в крон (ID22 у меня уже был)

Please Login or Register to view hidden text.



- и вот этот запрос уже модифицирован:
PHP:
ALTER TABLE `bb_groups` CHANGE `group_description` `group_description` text NOT NULL DEFAULT '';
ALTER TABLE `bb_groups` ADD `avatar_ext_id` int(15) NOT NULL DEFAULT '0' AFTER `group_id`;
ALTER TABLE `bb_groups` ADD `group_time` int(11) NOT NULL DEFAULT '0' AFTER `avatar_ext_id`;
ALTER TABLE `bb_groups` ADD `mod_time` INT(11) NOT NULL DEFAULT '0' AFTER `group_time`;
ALTER TABLE `bb_groups` ADD `release_group` tinyint(4) NOT NULL DEFAULT '0' AFTER `group_type`;
ALTER TABLE `bb_groups` ADD `group_signature` text NOT NULL DEFAULT '' AFTER `group_description`;
ALTER TABLE `bb_posts` ADD `poster_rg_id` mediumint(8) NOT NULL DEFAULT '0' AFTER `poster_ip`;
ALTER TABLE `bb_posts` ADD `attach_rg_sig` tinyint(4) NOT NULL DEFAULT '0' AFTER `poster_rg_id`;
добавил строку:
PHP:
ALTER TABLE `bb_groups` ADD `group_time` int(11) NOT NULL DEFAULT '0' AFTER `avatar_ext_id`
 

Exile

Администратор
#8
это добавление в крон (ID22 у меня уже был)
Расчет на стандартный комплект cron-задач.
А вот это крайне странно, потому что это поле уже было в ревизии 400 и даже значительно раньше нее. Почему его не было у вас - загадка.
читаю следует добавить в инструкцию по обновлению фразу, что при запусках php-скриптов, которые обновляют БД от ревизии к ревизии необходимо, чтобы форум был включён! Иначе скрипты не работают!
Ну, наверное это логично. Добавил, конечно, но странно это все.
 

Nightmare

Разработчик
#10
Считаю следует добавить в инструкцию по обновлению фразу, что при запусках php-скриптов, которые обновляют БД от ревизии к ревизии необходимо, чтобы форум был включён! Иначе скрипты не работают! Убил на это время, пока не догадался включить форум.
Какой смелый человек прямо сразу на боевом обновляется

Не могу найти где можно это посмотреть. Не подскажете куда копать? ОС: Ubuntu Server
Все логи располагаются в папке log в движке
 
Сверху