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

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

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

Post #41by Антон Казанцев » 10.07.2014, 18:08

Я думаю кавычка мешает. Не так ли???
Антон Казанцев
Бывалый
Reputation: -105
With us: 4 yaers 6 months

Post #42by 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
Новичок
Age: 30
Location: Молодечно
Reputation: 2
With us: 3 yaers 3 months

Post #43by VEG » 11.07.2014, 17:53

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

Added after 2 minutes 57 seconds:
Антон Казанцев, по умолчанию кавычки и другие подобные символы должны заменяться на их HTML-мнемоники, типа " и т.д. Хотя код конвертера я не изучал, но раз им конвертировали целые форумы, по идее проблему с кавычками в сообщениях давно бы выявили.
С наилучшими пожеланиями, Евгений
VEG M
Администратор
Avatar
Age: 29
Location: Минск, Беларусь
Reputation: 1574
With us: 5 years 5 months

Post #44by Chill » 14.07.2014, 09:44

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

Post #45by 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
Новичок
Age: 30
Location: Молодечно
Reputation: 2
With us: 3 yaers 3 months

Post #46by Chill » 14.07.2014, 13:06

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

Post #47by 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
Новичок
Age: 30
Location: Молодечно
Reputation: 2
With us: 3 yaers 3 months

Post #48by 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
Новичок
Avatar
Location: Баку
Reputation: 0
With us: 3 yaers

Post #49by 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")
тоже самое

Ругалась на неопознанную группу пользователей.
Code: Select all
/* Предопределенные группы пользователей:
 в 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

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

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

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

Added after 5 minutes 50 seconds:
в скрипте убрал множество полей в профиле пользователя, вроде как оставил минимум, карту правил под себя, все аттачменты так и не перенеслись
Attachments
odsegucoz2phpbbex.zip
СНЯТА ЗАГЛУШКА
(23.81 KiB) Downloaded 263 times
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 #50by Ignis » 16.09.2014, 09:14

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

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

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

Post #51by Mneznakomec » 16.09.2014, 10:12

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

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

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

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

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

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

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

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

Также я закомментил импорт смайлов.
Attachments
!ucoz2phpbbex_1.4.zip
Версия 1.4
(24.45 KiB) Downloaded 295 times
Не ошибается тот, кто ничего не делает.
Mneznakomec
Новичок
Avatar
Reputation: 7
With us: 4 yaers 1 month

Post #52by 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
Новичок
Age: 30
Location: Молодечно
Reputation: 2
With us: 3 yaers 3 months

Post #53by Ignis » 16.09.2014, 19:43

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

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

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

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

И отделаться от этого уже не получается.
Замечу, что мои знания РНР на весьма начальном уровне. Поэтому читать скрипт я еще могу ( со словарем :) ), но вот редактировать лучше очень аккуратно... Или лучше никак...
Ignis
Новичок
Avatar
Location: Баку
Reputation: 0
With us: 3 yaers

Post #54by Mneznakomec » 18.09.2014, 07:05

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

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

Ignis wrote:мои знания РНР на весьма начальном уровне
Учитесь, пригодится. :smile:
Не ошибается тот, кто ничего не делает.
Mneznakomec
Новичок
Avatar
Reputation: 7
With us: 4 yaers 1 month

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

Post #55by Ignis » 18.09.2014, 17:34

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

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

Mneznakomec wrote:Учитесь, пригодится.
Так я и учусь, просто медленно. :smile:
Ignis
Новичок
Avatar
Location: Баку
Reputation: 0
With us: 3 yaers

Post #56by Sumanai » 18.09.2014, 17:42

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

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

Post #57by Ignis » 18.09.2014, 17:48

Понятно. И как это устранить? Почему ключ не уникальный? По идее скрипт конвертирует стандартную базу юкоза. Ну, понятно, что список полей может быть разным у разных сайтов на юкозе. Но как это согласовать?
Ignis
Новичок
Avatar
Location: Баку
Reputation: 0
With us: 3 yaers

Post #58by Антон Казанцев » 18.09.2014, 18:07

Надо сброс в заводские настройки и потом чистить через стк. Запускаем дефраг базы данных и удаляем поля дупликаты. Всё должно рабатать.
Антон Казанцев
Бывалый
Reputation: -105
With us: 4 yaers 6 months

Post #59by Mneznakomec » 25.09.2014, 05:58

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

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

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

Как вариант: возьмите скрипт Алексея и мой, сравните в Тотале, глобальных изменений там нет. На разнице можно посмотреть где я ковырял.
Не ошибается тот, кто ничего не делает.
Mneznakomec
Новичок
Avatar
Reputation: 7
With us: 4 yaers 1 month

Post #60by go_to_the_rain » 10.01.2015, 11:19

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

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

Если кто знает, подскажите, пожалуйста, в какую сторону вообще нужно копать :eh:
go_to_the_rain
Новичок
Reputation: 1
With us: 2 yaers 8 months

PreviousNext

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