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

Список разделов phpBBex 1.x (поддерживается) Мастерская 1.x

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

Сообщение #41 Антон Казанцев » 10.07.2014, 18:08

Я думаю кавычка мешает. Не так ли???
Антон Казанцев
Репутация: -106
С нами: 10 лет 9 месяцев

Сообщение #42 odseg » 11.07.2014, 13:05

на какой пхпббекс ставили? с какого поста брали скрипт, я брал /viewtopic.php?p=10409#p10409 отсюда
phpbbex 1.7.1 + gallery + portal 2.0.1 -> Версия phpBBex: 2.0.1 (phpBB 3.1.6)
odseg M
Откуда: Молодечно
Репутация: 2
С нами: 9 лет 6 месяцев

Сообщение #43 VEG » 11.07.2014, 17:53

Chill, Чтобы выявить подозрительный участок второго сообщения — можете попробовать удалять его части, пока ошибка не пропадёт. Так вы сузите круг возможных проблем до конкретного текста, который приводит к ошибке.

Добавлено спустя 2 минуты 57 секунд:
Антон Казанцев, по умолчанию кавычки и другие подобные символы должны заменяться на их HTML-мнемоники, типа " и т.д. Хотя код конвертера я не изучал, но раз им конвертировали целые форумы, по идее проблему с кавычками в сообщениях давно бы выявили.
VEG M
Администратор
Аватара
Откуда: Finland
Репутация: 1652
С нами: 11 лет 7 месяцев

Сообщение #44 Chill » 14.07.2014, 09:44

проштудировав forump.txt на предмет косяков, методом проб и ошибок выявил, что он не может обработать: пришлось заменить символ "\" :weirdface:
Chill
Гость

Сообщение #45 odseg » 14.07.2014, 10:09

на сколько я помню символ "\" в дампе укоза служит разделителем, бд не поплыла ?
phpbbex 1.7.1 + gallery + portal 2.0.1 -> Версия phpBBex: 2.0.1 (phpBB 3.1.6)
odseg M
Откуда: Молодечно
Репутация: 2
С нами: 9 лет 6 месяцев

Сообщение #46 Chill » 14.07.2014, 13:06

Эм.. разделитель полей вроде как "|"
Ну и я не просто удалял "\" - заменял на соответствующее кол-во "|", т.к. дамп(ucoz) можно снять раз в 7 дней, а до этого нужны были только юзеры и соответственно был снят только текстовый дамп, а не полный, то все вложения пошли лесом - только в полях вложений встречался "\", но это не критично для нас.
Chill
Гость

Сообщение #47 odseg » 14.07.2014, 21:06

точно точно, прошу прощения =)
phpbbex 1.7.1 + gallery + portal 2.0.1 -> Версия phpBBex: 2.0.1 (phpBB 3.1.6)
odseg M
Откуда: Молодечно
Репутация: 2
С нами: 9 лет 6 месяцев

Сообщение #48 Ignis » 15.09.2014, 16:58

Всем добрый вечер!

Мне нужно перенести форум с юкоза. Нашел указанный тут скрипт и решил попробовать перенести. Версию форума ставил 1.6 (почему-то она была последней на тот недавний момент). Ставил на Денвер, на нем и проверял.
Форум встал, скрипт запустился. Но выдает сообщение:
--
Проверка полноты дампа базы данных... НЕ НАЙДЕНЫ ОСНОВНЫЕ ФАЙЛЫ ДАМПА ФОРУМА!
ПРОВЕРЬТЕ НАХОДЯТСЯ ЛИ ФАЙЛЫ users.txt, ugen.txt, fr_fr.txt, forum.txt и forump.txt В КАТАЛОГЕ ./ucoz/_s1/
--
Разумеется, все эти файлы есть и в той папке, как сказано.
Файл "auth_db.php" я тоже предварительно откорректировал.
Кстати, после указанного сообщения выходит надпись "ПОЗДРАВЛЯЮ. Импорт дампа форума ucoz завершен!"
Но естественно, никакого импорта не происходит.

Вопрос - в чем может быть проблема?
--------------------
Добавление.

Нашел тут новую версию скрипта, проверил ее. Ругалась на неопознанную группу пользователей. И вообще, скрипт думает, что пользователи имеют uID-профиль. А у меня на форуме профили локальные, с другими полями, очевидно.
Но при всех условиях, в какой-то момент выдает следующее сообщение:

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

Unknown column 'pf_mobile_number' in 'field list' [1054]

SQL

INSERT INTO phpbbex_profile_fields_data (user_id, pf_mobile_number, pf_equipment, pf_bike, pf_real_name) VALUES(68,"","","","Ivan Ivanov")

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/mysql.php
LINE: 175
CALL: dbal->sql_error()

FILE: [ROOT]/ucoz2phpbbex.php
LINE: 607
CALL: dbal_mysql->sql_query()

FILE: [ROOT]/ucoz2phpbbex.php
LINE: 1866
CALL: ucoz_import_users()
--

И что с этим делать? :(
Ignis
Аватара
Откуда: Баку
Репутация: 0
С нами: 9 лет 2 месяца

Сообщение #49 odseg » 15.09.2014, 20:16

папка /ucoz/ с дампом, должна находится в корне сайта (там где index.php )
"ПОЗДРАВЛЯЮ. Импорт дампа форума ucoz завершен!"
во всех представленных сдесь скриптах стоит заглушка, на конечный импорт, что бы не наделали глупостей, а потом обвиняли других.

Unknown column 'pf_mobile_number' in 'field list' [1054]

в коде скрипта задается соответствие инфы с дампа новому форуму.
INSERT INTO phpbbex_profile_fields_data (user_id, pf_mobile_number, pf_equipment, pf_bike, pf_real_name) VALUES(68,"","","","Ivan Ivanov")
тоже самое

Ругалась на неопознанную группу пользователей.
Код: Выделить всё
/* Предопределенные группы пользователей:
 в PHPbb
 1 - GUESTS
 2 - REGISTERED
 3 - REGISTERED_COPPA
 4 - GLOBAL_MODERATORS
 5 - ADMINISTRATORS
 6 - BOTS
 7 - NEWLY_REGISTERED
 в ucoz
 1 - NEWLY_REGISTERED (Пользователи)
 2 - REGISTERED (Проверенные)
 3 - MODERATORS (Модераторы)
 4 - ADMINISTRATORS (Администраторы)
 251 - ДРУЗЬЯ (что с ними делать???)
 255 - BLOCKED (заблокированные
 - их не переносим, т.к. при использовании Unet - удалять нельзя и это единственный способ избавиться от них)
 */
// Карта соответствия групп пользователей ucoz -> phpbb
/* КАК НАРАЩИВАТь ЭТУ КАРТУ!!!
 Создайте средствами PHPbb необходимые группы (какие были в ucoz)
 отыщите их идентификаторы и добавьте в карту строки вида
 {ID_группы_из_ucoz} => array( {ID_созданной_группы_PHPbb}, 2 ),
 для каждой добавленной группы

 ИЛИ измените константу USE_GROUP_2_FOR_UNKNOWN_GROUPS в true (стр 464)
 чтобы все пользователи из таких групп отправились в стандартную группу
 зарегистрированных пользователей PHPbb

я так понял вы в сам скрипт даже не смотрели...
поищу свою версию с правками. Найду - выложу.

Добавлено спустя 15 минут 13 секунд:
нашел, обращаю внимание что Карту соответствия групп пользователей ucoz -> phpbb вы должны сами пересмотреть
Аккуратно! Заглушка на конечный импорт убрана, я не несу ответственности за поломку вашей базы данных.
Также обратите внимание на /viewtopic.php?p=12763#p12763 это сообщение

Добавлено спустя 1 минуту 27 секунд:
можете скачать новейшую версию phpbbex , по-моему, проблем из-за версии не будет

Добавлено спустя 5 минут 50 секунд:
в скрипте убрал множество полей в профиле пользователя, вроде как оставил минимум, карту правил под себя, все аттачменты так и не перенеслись
Вложения
odsegucoz2phpbbex.zip
СНЯТА ЗАГЛУШКА
(23.81 КБ) Скачиваний: 584
phpbbex 1.7.1 + gallery + portal 2.0.1 -> Версия phpBBex: 2.0.1 (phpBB 3.1.6)
odseg M
Откуда: Молодечно
Репутация: 2
С нами: 9 лет 6 месяцев

Сообщение #50 Ignis » 16.09.2014, 09:14

odseg, спасибо за ответ!
odseg:я так понял вы в сам скрипт даже не смотрели...
Разумеется, смотрел.
Как я и написал во второй части, я нашел новую версию скрипта и на пустую папку она уже не ругалась.
Когда он ругался на не ту группу, я сам нашел и изменил "ИЛИ измените константу USE_GROUP_2_FOR_UNKNOWN_GROUPS в true (стр 464)", у меня мало пользователей и мне проще потом вручную создать нужные группы и перенести их куда надо.

После чего этот пункт отпал, но появились другие сообщения. Например, совпадение имен юзеров. Я в текстовых файлах юкоза просто переписал совпадающие имена на другие, изменил логин, совпадающий с админом на phpbbex. Это тоже помогло, но в конечном итоге появилось то, что я и привел в своем посте. И вот что с этим делать - так и не понял.

Приду домой - попробую новый вариант, но если заглушка может испортить базу - может быть, лучше ее оставить? Конечно, я на Денвере проверяю пока, но все же...
Если проблема в несовпадении полей профиля - как это отрегулировать? Список моих юзеров есть на странице " http://erichware.net/forum/0-0-1-35 ", естественно, не у всех все существующие поля заполнены...
Уж очень не хочется терять материалы, особенно посты форума...
Ignis
Аватара
Откуда: Баку
Репутация: 0
С нами: 9 лет 2 месяца

Сообщение #51 Mneznakomec » 16.09.2014, 10:12

Ignis:Unknown column 'pf_mobile_number' in 'field list' [1054]
Скрипт внимательно вы всё равно не читали. Написал же: это для добавления новых полей в форуме. В данном случае он просит на phpbbEx создать поле с именем pf_mobile_number. Вы найдите в скрипте это место и закомментируйте его. Я там по-русски писал.

Ignis:у меня мало пользователей и мне проще потом вручную создать нужные группы и перенести их куда надо.
Вы внимательно с утра почитайте про мэппинг групп, там всё просто. Кидайте просто в одну все свои встреченные группы.

Ignis:Если проблема в несовпадении полей профиля - как это отрегулировать?
Задать соответствие или закомментировать, чтобы не мешали. Базовые поля совпадают все.

odseg:все аттачменты так и не перенеслись
Аттачменты переносятся без каких-либо проблем, если корректно заданы права на каталоги форума: files, cache и store. Нужно владельца установить www-data.

1.6 или 1.8 - неважно, скрипт отработает. Я глобальных проблем не испытываю, импортировал только сейчас вот.

Выкладываю последнюю свою версию скрипта, в котором исправлено практически всё, о чём говорили заранее (дни рождения и прочие мелочи). Исходные файлы править не нужно! Все вхождения символа \| убираются при импорте. Необходима только папка полного дампа.

Главное: для своих целей я оставил ID пользователей теми же, так как импортирую на чистый форум. Поэтому c пользователями ID 1 и 2 провожу определённые действия (546 строка), кому нужен сдвиг - берите из старого скрипта, исправлять времени нет. Также у меня добавлены поля, ищите коммент с буквами Mn.

Для использования "из коробки" мой скрипт подойдёт, но пользователь с ID=1 будет админом, пользователя с ID=2 не будет, его данные будут записаны на пользователя с ID=13. Всё это можно поправить, если слегка поковырять скрипт.

Также я закомментил импорт смайлов.
Вложения
!ucoz2phpbbex_1.4.zip
Версия 1.4
(24.45 КБ) Скачиваний: 625
Не ошибается тот, кто ничего не делает.
Mneznakomec
Аватара
Репутация: 7
С нами: 10 лет 4 месяца

Сообщение #52 odseg » 16.09.2014, 11:21

Приду домой - попробую новый вариант, но если заглушка может испортить базу - может быть, лучше ее оставить? Конечно, я на Денвере проверяю пока, но все же...
я говорил про процедуру импорта форума , если не снять то импорта не будет =)
скачай скрипт от мнезнакомца выше, для уверенности
phpbbex 1.7.1 + gallery + portal 2.0.1 -> Версия phpBBex: 2.0.1 (phpBB 3.1.6)
odseg M
Откуда: Молодечно
Репутация: 2
С нами: 9 лет 6 месяцев

Сообщение #53 Ignis » 16.09.2014, 19:43

Скачал исправленный скрипт. Изменил путь к папке юкоза (почему-то было "../ucoz/"), убрал блок, помеченный Mn.
Еще кое-что переставил в исходной базе, вернул "true" на флаг не той группы.
Но в итоге получил все равно
Спойлер
Данные из файлов ./ucoz/_s1/users.txt и ./ucoz/_s1/ugen.txt прочитаны...

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

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

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

И отделаться от этого уже не получается.
Замечу, что мои знания РНР на весьма начальном уровне. Поэтому читать скрипт я еще могу ( со словарем :) ), но вот редактировать лучше очень аккуратно... Или лучше никак...
Ignis
Аватара
Откуда: Баку
Репутация: 0
С нами: 9 лет 2 месяца

Сообщение #54 Mneznakomec » 18.09.2014, 07:05

Ignis:Изменил путь к папке юкоза (почему-то было "../ucoz/")
У меня директория ucoz находится на одном уровне с директорией форума, чтобы не затиралась при восстановлении бэкапа.

Ignis:Но в итоге получил все равно
В загружаемой выборке пользователя с ID=13 не должно быть, потому что пользователь с ID=2 будет записан с ID=13.
Измените строки 548 и 549 на
Код: Выделить всё
      if (($user_id == 1) || ($user_id == 3000)) continue;
      if ($user_id == 2) $user_id = 3000;

Ignis:мои знания РНР на весьма начальном уровне
Учитесь, пригодится. :smile:
Не ошибается тот, кто ничего не делает.
Mneznakomec
Аватара
Репутация: 7
С нами: 10 лет 4 месяца

Зачем заголовок-то?

Сообщение #55 Ignis » 18.09.2014, 17:34

Mneznakomec:Измените строки 548 и 549 на
Спасибо, изменил. Но получил ошибку
Duplicate entry '3' for key 'PRIMARY' [1062]

Что же там такое с этими номерами? И что за "key 'PRIMARY'"? И вообще, кто эту ошибку выдает? В скрипте надписи "Duplicate entry" нет.

Mneznakomec:Учитесь, пригодится.
Так я и учусь, просто медленно. :smile:
Ignis
Аватара
Откуда: Баку
Репутация: 0
С нами: 9 лет 2 месяца

Сообщение #56 Sumanai » 18.09.2014, 17:42

Ignis:Что же там такое с этими номерами? И что за "key 'PRIMARY'"? И вообще, кто эту ошибку выдает? В скрипте надписи "Duplicate entry" нет.

Это база данных выдаёт, говорит, что первичный ключ, который должен быть уникальным, повторился, чего, само собой, быть не должно.
Использование поиска продлевает жизнь.
Это форум поддержки форка phpBBex. Поддержка по phpBB осуществляется в других местах.
Sumanai M
Аватара
Репутация: 1677
С нами: 10 лет 10 месяцев

Сообщение #57 Ignis » 18.09.2014, 17:48

Понятно. И как это устранить? Почему ключ не уникальный? По идее скрипт конвертирует стандартную базу юкоза. Ну, понятно, что список полей может быть разным у разных сайтов на юкозе. Но как это согласовать?
Ignis
Аватара
Откуда: Баку
Репутация: 0
С нами: 9 лет 2 месяца

Сообщение #58 Антон Казанцев » 18.09.2014, 18:07

Надо сброс в заводские настройки и потом чистить через стк. Запускаем дефраг базы данных и удаляем поля дупликаты. Всё должно рабатать.
Антон Казанцев
Репутация: -106
С нами: 10 лет 9 месяцев

Сообщение #59 Mneznakomec » 25.09.2014, 05:58

Ignis:Спасибо, изменил. Но получил ошибку
Duplicate entry '3' for key 'PRIMARY' [1062]
Это значит, что в базе данных phpbbEx уже есть пользователь с ID=3. Скрипт работает только с чистой базой данных, я же писал. Никаких пользователей, кроме админа, быть не должно вообще.

Ignis:Что же там такое с этими номерами? И что за "key 'PRIMARY'"?
Вам нужно почитать хотя бы краткий курс по теории баз данных, хотя бы выжимку. Ключевые поля - это одних из краеугольных понятий в БД, без знания этого вам будет очень сложно, если вообще что-то получится.

Антон Казанцев:Надо сброс в заводские настройки и потом чистить через стк.
Зачем что-то чистить? Просто импорт в чистый phpbbEx, всё. Кому нужно в уже работающий форум - там нужно смещение.

Как вариант: возьмите скрипт Алексея и мой, сравните в Тотале, глобальных изменений там нет. На разнице можно посмотреть где я ковырял.
Не ошибается тот, кто ничего не делает.
Mneznakomec
Аватара
Репутация: 7
С нами: 10 лет 4 месяца

Сообщение #60 go_to_the_rain » 10.01.2015, 11:19

Всем привет.
Использую вот эту версию скрипта - /viewtopic.php?p=15045#p15045
Запускаю на локальной машине на денвере, начинает работать, доходит дело до импорта сообщений, идет до 33000, а потом будто бы зависает, т.е. скрипт вроде бы и выполняется, но может так простоять и 10 и 20 (и более) минут и ничего.

А на хостинге другая картина - на одном импортируется 2000 сообщений и останавливается работа скрипта (без всяких ошибок, просто останавливается), на другом хостинге запускаю - на 5000 останавливается )

Если кто знает, подскажите, пожалуйста, в какую сторону вообще нужно копать :eh:
go_to_the_rain
Репутация: 1
С нами: 8 лет 11 месяцев

Пред.След.

Вернуться в Мастерская 1.x