Конвертор uCoz -> phpBBex

Board index phpBBex 1.x Мастерская

Description: Только готовые решения! Статьи, заметки, моды и другие полезности для phpBBex 1.x и phpBB 3.0.x.
Moderator: Поддержка

Post #61by Sumanai » 10.01.2015, 11:50

В сторону лимитов по памяти и времени выполнения скрипта.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1588
With us: 4 yaers 7 months

Post #62by odseg » 10.01.2015, 13:58

возможно http://php.net/manual/ru/function.set-time-limit.php
или http://php.net/manual/ru/info.configuration.php#ini.max-execution-time
на локальном хостинге проще всего проверять )
phpbbex 1.7.1 + gallery + portal 2.0.1 -> Версия phpBBex: 2.0.1 (phpBB 3.1.6)
odseg M
Новичок
Age: 30
Location: Молодечно
Reputation: 2
With us: 3 yaers 3 months

Post #63by go_to_the_rain » 10.01.2015, 15:41

odseg, max_execution_time первым делом увеличила в php.ini, но к сожалению, тоже самое - висит на импорте 33000 сообщений ))
go_to_the_rain
Новичок
Reputation: 1
With us: 2 yaers 8 months

Post #64by go_to_the_rain » 13.01.2015, 12:14

Оказывается проблема была в определенных постах в дампе ucoz (forump.txt). "Висло" на тех постах, где шел тег hide вместе с тегом spoiler. После редактирования тех постов, все прошло гладко.
go_to_the_rain
Новичок
Reputation: 1
With us: 2 yaers 8 months

Post #65by odseg » 13.01.2015, 16:18

все проще чем казалось =)
phpbbex 1.7.1 + gallery + portal 2.0.1 -> Версия phpBBex: 2.0.1 (phpBB 3.1.6)
odseg M
Новичок
Age: 30
Location: Молодечно
Reputation: 2
With us: 3 yaers 3 months

Post #66by lett » 26.11.2015, 19:36

всем привет,
конвертер всё еще актуален по крайней мере для меня )
навыков у меня не особо, поэтому сталкиваюсь с затыками
может подскажите?
например:

Общая ошибка
SQL ERROR [ mysqli ]

Column 'forum_id' cannot be null [1048]

SQL

INSERT INTO phpbb_posts (post_id, topic_id, forum_id, poster_id, icon_id, poster_ip, post_time, post_approved, post_reported, enable_bbcode, enable_smilies, enable_magic_url, enable_sig, post_username, post_subject, post_text, post_checksum, post_attachment, bbcode_bitfield, bbcode_uid, post_postcount, post_edit_time, post_edit_reason, post_edit_user, post_edit_count, post_edit_locked) VALUES (37675, 12160, NULL, '68', 0, '86.57.233.169', '1185873702', 1, 0, 1, 1, 1, 1, '', '', 'безлимитка, я так понимаю', '674715da8cd97dcd19294db2d836fa1e', 0, '', '', 1, 0, '', 0, 0, 0)

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 189
CALL: dbal->sql_error()

FILE: [ROOT]/!ucoz2phpbbex.php
LINE: 1709
CALL: dbal_mysqli->sql_query()

FILE: [ROOT]/!ucoz2phpbbex.php
LINE: 1858
CALL: ucoz_import_messages()
lett
Новичок
Reputation: 0
With us: 1 year 9 months

Post #67by odseg » 27.11.2015, 09:56

база укоза, как я понимаю свежая? скорее всего там изменили схему данных, ид форума точно не может быть нулл. или на укозе можно без отдельной категории ? если не сложно дай ссылку на свой укоз-форум.
phpbbex 1.7.1 + gallery + portal 2.0.1 -> Версия phpBBex: 2.0.1 (phpBB 3.1.6)
odseg M
Новичок
Age: 30
Location: Молодечно
Reputation: 2
With us: 3 yaers 3 months

Post #68by lett » 27.11.2015, 10:47

да, конечно база юкоза новенькая

если удалять сообщения на которое ругается конвертер, то перенос идет дальше, до следующего сообщения, на которое он ругается. Сейчас для эксперимента оставил 100 строк в forump.txt конвертер завершил перенос без сбоев.

Spoiler
http://hoi2games.ru/forum/

Added after 4 hours 11 minutes:
сейчас провел небольшое сопоставление, сообщения на которые конвертер пишет НУЛЛ forum id не бьются через поисковик форума, т.е. поиск форума выдает, что такого сообщения не существует. В то же время посты которые конвертер воспринимает нормально поиск по форуму находит, они существуют потому что видимо существуют форумные темы с ними. А к постам НУЛЛ forum id невозможно сопоставить айди форума, потому как его форум судя по всему был когда то удален. И что с этим делать?

Added after 5 minutes 57 seconds:
допустим что раз какие-то форумы когда-то были удалены, то сообщения эти по логике нафиг не нужны, тогда какого они сохраняются в forump.txt и как почистить этот файл от так сказать мусорных сообщений.

Added after 14 minutes 24 seconds:
или сделать так, чтобы конвертер их игнорил

Added after 1 hour 2 minutes:
в fr_fr.txt нет разделов с таким айди. Например сообщение на котором выдает НУЛЛ 95|21|1185873702|0|
95 - forum id

в fr_fr.txt есть 94 и 96, а 95 нет. В этом видимо и затык.
lett
Новичок
Reputation: 0
With us: 1 year 9 months

Post #69by Mneznakomec » 29.02.2016, 15:53

Снова вернулся к старой теме, правлю скрипт, столкнулся с тем, что часть полей из users перекинули в profile_fields_data, но это ладно, исправил. Даже необходимость заполнить отключенное поле.

Проблема в другом: переменная $config теперь пуста. Раньше из неё тянули с пару десятков параметров, а сейчас - пусто. ($config['avatar_path'] )

Что изменилось во 2 версии?
Не ошибается тот, кто ничего не делает.
Mneznakomec
Новичок
Avatar
Reputation: 7
With us: 4 yaers 1 month

Post #70by Sumanai » 29.02.2016, 17:16

В phpBB 3.1 $config- это сервис, который получают с помощью DI контейнера. Пример получения контейнера DI можно посмотреть в файле common.php, а сама переменная $config инициализируется в файле includes/compatibility_globals.php.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1588
With us: 4 yaers 7 months

Post #71by Mneznakomec » 11.03.2016, 12:59

У меня всё получилось. В рамках разумного. То есть импорт данных прошёл целиком и полностью, вложения ВСЕ нашлись, пользователи, темы, разделы - всё импортировалось. Есть мелкие проблемы: некоторые бб-коды не заработали, в частности - спойлер. Но у меня их нечасто пользовали, решил забить.

Скрипт работает только для 1.х, желательно для 1.9.1. После корректного импорта можно сделать апгрейд до 2.х. Небольшие мелочи вылезают, типа "нулевой размер вложений", но вы должны помнить, что форум нужно настраивать. Настраивать как до, так и после импорта.

Скрипт, доработанный мной, переносит только тех пользователей, которые хоть что-то когда-то написали на всём сайте.

Пользователи с id=1 и id=2 обрабатываются особенно:
1) Все сообщения пользователя с id=1 записываются в id=1 phpbbEx, то есть становятся гостевыми. У меня этот пользователь неактивен с основания, так что неаткуально.
2) Все сообщения пользователя с id=2 укоза записываются в id=13 phpbbEx. Пользователь id=2 в phpbbEx - это админ системный, а в укозе это обычный пользователь. Поэтому я переписываю данные этого пользователя на id забаненного навечно пользователя с id=13 из укоза. Вы можете взять любой удобный для вас id.

В коде есть пометки //Mn, там уникально для меня: например - поля с данными профиля. Те, что "город, Yahoo" и прочая ерунда. Меппинг составляете только вы сами, можете вообще не грузить их.

Скрипт для правки дней рождений в уже импортированной базе - во вложении. Его нужно положить в корень с форумом новым и запустить.

Внимание: тем, у кого не грузятся вложения.
1) Проверьте права доступа к директориям. На время импорта задайте владельца ВСЕЙ директории дампа ucoz и ВСЕЙ директории форума - www-data. И права дайте полные (777). Избежите кучи проблем. Потом вернётся как нужно.
2) Очень внимательно проверьте бэкап: я столкнулся с тем, что файлы были видны в бэкапе, а по факту были битые, поэтому не грузились. А 30% и вовсе отсутствовали. Это так формирует бэкап укоз, особенно если у вас меньше 65% доступного свободного места на диске укоза. Я заходил по ftp на сервер к ним и скачивал файлы из папки _fr вручную (ну или wget с получением списка файлов директории, если кто опытный).
3) В настройках веб-серверов, особенно nginx, увеличьте максимальный размер поста до 100мб.
4) Измените php.ini от используемой версии PHP (можно посмотреть в админке путь)!!! Увеличьте размер доступной памяти для скрипта и время выполнения скриптов.
5) Добавьте неизвестные типы расширений в админке. У меня это были файлы .kmz и gpx. Внимательно выбирайте группу файлов.

Процедура авторизации в 2.х версии изменена: теперь там провайдеры. Мы написали свой провайдер, сделали патч для 2.0.2. Если кому нужно - пишите.

Ботов перенёс на 1500 вперёд, то есть добавил к их ID 15000.
Code: Select all
UPDATE `phpbb_users` SET `user_id` = `user_id` +1000000 WHERE `user_id` >2
UPDATE `phpbb_bots` SET `user_id` = `user_id` + 1000000

Последняя актуальная версия скрипта - во вложении. Если скрипт где-то зависает - прежде всего удаляйте крупные сложные тэги, типа <iframe> и огромные сообщения.
Attachments
birthday5.zip
Скрипт исправления ДР в базе
(922 Bytes) Downloaded 137 times
ucoz2phpbbex_1_1_0.zip
Скрипт конвертера
(24.45 KiB) Downloaded 173 times
Не ошибается тот, кто ничего не делает.
Mneznakomec
Новичок
Avatar
Reputation: 7
With us: 4 yaers 1 month

Post #72by Sumanai » 11.03.2016, 15:42

Mneznakomec wrote:Ботов перенёс на 1500 вперёд, то есть добавил к их ID 15000.
То есть 15000 пользователь станет ботом?
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1588
With us: 4 yaers 7 months

Post #73by Mneznakomec » 17.03.2016, 11:27

Sumanai wrote:То есть 15000 пользователь станет ботом?
Да, только 1500-ый, я ошибся с нулём. Боты начнут именоваться с 1503 и закончат 156х (на данный момент, забыл точно сколько).
Следующий пользователь будет создан с id, равным id самого последнего бота +1, та же берётся максимум нынешний просто.
Не ошибается тот, кто ничего не делает.
Mneznakomec
Новичок
Avatar
Reputation: 7
With us: 4 yaers 1 month

Post #74by Robifri » 15.04.2016, 13:59

Здравствуйте.
Спасибо большое за данный скрипт.

У меня появилась проблема, ни как не могу понять, как ее решить. Скорее всего она решается из админки ucoza, но я не уверен, по этому и спрашиваю у местных знатоков.
При импорте пользователей у меня пишет следующее: "Найдена неопределенная группа 7 в дампе UCOZ!!!"
Подскажите пожалуйста как это исправить.
Robifri
Новичок
Reputation: 1
With us: 1 year 5 months

Post #75by Mneznakomec » 15.04.2016, 14:52

Robifri wrote:При импорте пользователей у меня пишет следующее: "Найдена неопределенная группа 7 в дампе UCOZ!!!"
7 группа в phpbb - это "новые", если вы не используете функционал данный и группа отключена, то исправьте в карте групп 7 на 2.

Code: Select all
define ("UCOZ_GROUP_BLOCKED", 255);
$groups_map = array(
  1 => array( 7 ),
  2 => array( 2 ),
  3 => array( 4 ),
  4 => array( 5 ),
  // { Mn
  8 => array( 8 ),
  9 => array( 9 ),
  10 => array( 9 ),
  11 => array( 9 ),
  // } Mn
);

Напишите
Code: Select all
define ("UCOZ_GROUP_BLOCKED", 255);
$groups_map = array(
  1 => array( 2 ),
  2 => array( 2 ),
  3 => array( 4 ),
  4 => array( 5 ),
  // { Mn
  8 => array( 8 ),
  9 => array( 9 ),
  10 => array( 9 ),
  11 => array( 9 ),
  // } Mn
);

Всё на примере моей последней версии скрипта.
Не ошибается тот, кто ничего не делает.
Mneznakomec
Новичок
Avatar
Reputation: 7
With us: 4 yaers 1 month

Post #76by Robifri » 15.04.2016, 15:01

Mneznakomec wrote:7 группа в phpbb - это "новые", если вы не используете функционал данный и группа отключена, то исправьте в карте групп 7 на 2.
Спасибо большое за столь быстрый ответ.
Исправил по вашему совету, но ничего не изменилось.
Code: Select all
define ("UCOZ_GROUP_BLOCKED", 255);
$groups_map = array(
  1 => array( 2 ),
  2 => array( 2 ),
  3 => array( 4 ),
  4 => array( 5 ),
  // { Mn
  8 => array( 8 ),
  9 => array( 9 ),
  10 => array( 9 ),
  11 => array( 9 ),
  // } Mn
);
Вот скрин ошибки - http://clip2net.com/s/3wXRkD2

Полазил по форуму ucoza - группа с айди 7 это модераторы
Robifri
Новичок
Reputation: 1
With us: 1 year 5 months

Post #77by Mneznakomec » 15.04.2016, 15:08

А, в ucoze не найдено.

Тогда так.
Code: Select all
define ("UCOZ_GROUP_BLOCKED", 255);
$groups_map = array(
  1 => array( 2 ),
  2 => array( 2 ),
  3 => array( 4 ),
  4 => array( 5 ),
  7 => array( 4 ),
  // { Mn
  8 => array( 8 ),
  9 => array( 9 ),
  10 => array( 9 ),
  11 => array( 9 ),
  // } Mn
);

Напоминаю, что скрипт работает ТОЛЬКО в 1.9.

Ну и тему бы почитать вам очень внимательно. На скрине ошибка, что не найден pf_number. Я писал, что это моё личное и это нужно удалять другим пользователям. Либо добавлять поле с таким названием в phpbbex.
Не ошибается тот, кто ничего не делает.
Mneznakomec
Новичок
Avatar
Reputation: 7
With us: 4 yaers 1 month

Post #78by Robifri » 15.04.2016, 15:21

Mneznakomec wrote:Напоминаю, что скрипт работает ТОЛЬКО в 1.9.

Ну и тему бы почитать вам очень внимательно. На скрине ошибка, что не найден pf_number. Я писал, что это моё личное и это нужно удалять другим пользователям. Либо добавлять поле с таким названием в phpbbex.

Убил phpbbex. Поставил 1.9
Удалил строки:
Code: Select all
      // Mn Если заполнено дополнительное поле AOL (велосипед)
      $sql = 'INSERT INTO ' . PROFILE_FIELDS_DATA_TABLE . ' (user_id, pf_mobile_number, pf_equipment, pf_bike, pf_real_name, pf_unique_rang) VALUES('
          . $user_id . ',"' . _E($r_user[19]) . '","' . _E($r_user[20]) . '","' . _E($r_user[18]) . '","' . _E($r_user[5]) . '","' . _E(utf8_clean_string($r_user[14])) . '")';
      $db->sql_query($sql);
      // Mn
Теперь начинается импорт, пишет:
Code: Select all
Импорт пользователей...
  Данные из файлов ./ucoz/_s1/users.txt и ./ucoz/_s1/ugen.txt прочитаны...
На этом месте останавливается и в ошибках:
Code: Select all
Общая ошибка
SQL ERROR [ mysqli ]

Duplicate entry '13' for key 'PRIMARY' [1062]

SQL

INSERT INTO phpbb123_users (user_id, group_id, user_permissions, user_ip, user_regdate, username, username_clean, user_password, user_passchg, user_pass_convert, user_email, user_email_hash, user_birthday, user_gender, user_lastvisit, user_lastmark, user_lastpage, user_rating_positive, user_rating_negative, user_posts, user_lang, user_timezone, user_dst, user_dateformat, user_style, user_rank, user_full_folder, user_notify, user_notify_pm, user_notify_type, user_allow_pm, user_allow_viewonline, user_allow_viewemail, user_allow_massemail, user_options, user_avatar, user_avatar_type, user_avatar_width, user_avatar_height, user_sig, user_sig_bbcode_uid, user_sig_bbcode_bitfield, user_from, user_icq, user_website, user_occ, user_interests, user_form_salt, user_new) VALUES (13, 5, '', '212.152.61.190', '1168530762', 'WARG', 'warg', '$1$E5S7$1RRemLR3CCPeDUgkoFTBm/', 1460722850, 1, 'nosferatualesseo@mail.ru', '311130506024', '17-05-1988', 1, '1460458467', 1460722850, '', 22, 0, 7188, 'ru', '0', 0, '|d.m.Y|{, H:i}', 1, 0, -3, 0, 0, 0, 0, 1, 0, 0, 233343, '13.gif', 1, 148, 146, '[b:3lgal1gx]Eukahainen[/b:3lgal1gx]-[color=orange:3lgal1gx]Druid[/color:3lgal1gx];[b:3lgal1gx]Alessandro[/b:3lgal1gx]-[color=purple:3lgal1gx]Warlock[/color:3lgal1gx]-[color=gray:3lgal1gx]R.I.P[/color:3lgal1gx]\n[img:3lgal1gx]http&#58;//malleus&#46;clan&#46;su/_ph/2/2/436189755&#46;gif[/img:3lgal1gx]', '3lgal1gx', 'Sg==', '', '', '', '', '', '59c836dc5b72eaf8', 1)

BACKTRACE
Скрин - http://clip2net.com/s/3wXWSMv

Вроде все правильно делаю, не пойму в чем беда(

Added after 1 hour 20 minutes:
UPD
Все понял, нужно было удалить всех юзеров кроме админа и все сообщения.
После этого импорт прошел на "УРА".
Мало ли, кто то будет после меня все читать, по этому вот вам:
1) Устанавливаете phpbbex 1.9 http://phpbbex.com/forum/viewtopic.php?t=1580
2) Удаляете из админки созданные форумы.
3) Заходите в базу, ищите таблицу перфикс_users. Удаляете юзеров кроме админа созданного вами (второй он там после анонимуса, анонимус тоже удалять)
4) Скачиваете скрипт от Mneznakomec, за что ему оргомное спасибо. http://phpbbex.com/forum/download/file.php?id=2133&filename=ucoz2phpbbex_1_1_0.zip
5) Смотрите скрипт, правите в нем путь к вашей папке с дампом юкоза, а так-же название папки со смайликами. Удаляете от туда кусок кода:
Code: Select all
 // Mn Если заполнено дополнительное поле AOL (велосипед)
      $sql = 'INSERT INTO ' . PROFILE_FIELDS_DATA_TABLE . ' (user_id, pf_mobile_number, pf_equipment, pf_bike, pf_real_name, pf_unique_rang) VALUES('
          . $user_id . ',"' . _E($r_user[19]) . '","' . _E($r_user[20]) . '","' . _E($r_user[18]) . '","' . _E($r_user[5]) . '","' . _E(utf8_clean_string($r_user[14])) . '")';
      $db->sql_query($sql);
      // Mn
6) Запускаете скрипт и наслаждаетесь.



У меня все получилось, но 1 непонятка появилась)
На юкозе: "Всего создано 614 тем, в которые добавлено 17981 ответов.Зарегистрировано 115 участников."
После импорта: "Всего сообщений: 18532 • Тем: 610 • Пользователей: 112"

Added after 11 minutes 29 seconds:
UPD 2
Юзер анонимус оказывается нужен))) Без него не отображается форум не залогиненым.

Сделайте запрос sql:
Code: Select all
INSERT INTO phpbb_users (user_id, user_type, group_id, username, username_clean, user_regdate, user_password, user_email, user_lang, user_style, user_rank, user_colour, user_posts, user_permissions, user_ip, user_birthday, user_lastpage, user_last_confirm_key, user_post_sortby_type, user_post_sortby_dir, user_topic_sortby_type, user_topic_sortby_dir, user_avatar, user_sig, user_sig_bbcode_uid, user_from, user_icq, user_aim, user_yim, user_msnm, user_jabber, user_website, user_occ, user_interests, user_actkey, user_newpasswd, user_allow_massemail) VALUES (1, 2, 1, 'Anonymous', 'anonymous', 0, '', '', 'en', 1, 0, '', 0, '', '', '', '', '', 't', 'a', 't', 'd', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 0);
Перфикс только не забудьте поменять и форум будет корректно работать.
Robifri
Новичок
Reputation: 1
With us: 1 year 5 months

Post #79by bb3 » 28.09.2016, 17:27

Подскажите. Перенес сайт с укоза на phpBB 3.1.9.
Захожу под логином укоза на phpbb - пишет про ошибку "Вы ввели неверный пароль. Проверьте его и попробуйте ввести ещё раз. Если проблема со входом останется, то сообщите об этом администратору."

Это так должно быть?
bb3
Гость

Post #80by Sumanai » 28.09.2016, 18:08

Пункт 4 из инструкции "После обновления" выполнили? Правда на 3.1.9 файл будет в другом месте и с другим синтаксисом, нужно смотреть, как его исправлять.

Added after 1 minute 39 seconds:
bb3 wrote:на phpBB
Надеюсь, на phpBBex обновляться планируете? :wink:
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Гуру
Avatar
Reputation: 1588
With us: 4 yaers 7 months

PreviousNext

Return to Мастерская