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

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
igronik
phpBB 1.0.0
Сообщения: 3
Зарегистрирован: 21.10.2012 2:17

Re: Конвертер uCoz -> phpBB3

Сообщение igronik » 21.10.2012 2:27

Прошу прощения если что то пропустил, прочитал тему 3 раза, форум установил, базу перенес, все сработало но:
1. Пользователи перенеслись - но в статистике сообщений "0"
2. Категории, Форумы, Названия тем перенеслись - но самих тем нету, пишет "Запрошенной темы не существует" и соответственно постов тоже.
Посмотреть можно сдесь: http://forum.kam.ck.ua
Делал все по инструкции: кеш чистил, синхронизацию делал, индексацию делал.
Что не так???

quelgun
phpBB 1.0.0
Сообщения: 5
Зарегистрирован: 29.06.2011 5:40

Re: Конвертер uCoz -> phpBB3

Сообщение quelgun » 25.10.2012 14:09

Я что-то не понимаю...

Форум расположен по адресу site.ru/forum
кинул файл ucoz2bb.php сюда site.ru/forum/ucoz2bb.php
залил резервную копию ucoz сюда site.ru/forum/ucoz/ (т.е. например, site.ru/forum/ucoz/_s1/forump.txt)

Запускаю ucoz2bb.php и возникает ошибка
"Проверка полноты дампа базы данных... НЕ НАЙДЕНЫ ОСНОВНЫЕ ФАЙЛЫ ДАМПА ФОРУМА!
ПРОВЕРЬТЕ НАХОДЯТСЯ ЛИ ФАЙЛЫ users.txt, ugen.txt, fr_fr.txt, forum.txt и forump.txt В КАТАЛОГЕ ./ucoz/_s1/"

Хех...

Аватара пользователя
МайскийЖук
phpBB 3.0.6
Сообщения: 2388
Зарегистрирован: 28.09.2009 16:07
Благодарил (а): 17 раз
Поблагодарили: 304 раза

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

Сообщение МайскийЖук » 25.10.2012 14:16

site.ru/forum/ + site.ru/ucoz/
Любовь и боль, покой и бой я как любой несу с собой…

quelgun
phpBB 1.0.0
Сообщения: 5
Зарегистрирован: 29.06.2011 5:40

Re: Конвертер uCoz -> phpBB3

Сообщение quelgun » 25.10.2012 15:37

Разобрался. Проблема была в том, что нахватало папок смайлов и аваторов, но в ошибке о них не упоминается.
А так же что-то с полем последнего визита.

Но все равно столкнулся с проблемой, как у igronik.
"Категории, Форумы, Названия тем перенеслись - но самих тем нету, пишет "Запрошенной темы не существует" и соответственно постов тоже."

Аватара пользователя
МайскийЖук
phpBB 3.0.6
Сообщения: 2388
Зарегистрирован: 28.09.2009 16:07
Благодарил (а): 17 раз
Поблагодарили: 304 раза

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

Сообщение МайскийЖук » 25.10.2012 15:54

А сделать синхронизацию с помощью STK?
Любовь и боль, покой и бой я как любой несу с собой…

igronik
phpBB 1.0.0
Сообщения: 3
Зарегистрирован: 21.10.2012 2:17

Re: Конвертер uCoz -> phpBB3

Сообщение igronik » 25.10.2012 17:43

Что значит сделать синхронизацию с помощью STK?

Аватара пользователя
МайскийЖук
phpBB 3.0.6
Сообщения: 2388
Зарегистрирован: 28.09.2009 16:07
Благодарил (а): 17 раз
Поблагодарили: 304 раза

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

Сообщение МайскийЖук » 25.10.2012 18:25

Установить Support Toolkit и с его помощью сделать синхронизацию.
Любовь и боль, покой и бой я как любой несу с собой…

igronik
phpBB 1.0.0
Сообщения: 3
Зарегистрирован: 21.10.2012 2:17

Re: Конвертер uCoz -> phpBB3

Сообщение igronik » 30.10.2012 19:31

quelgun писал(а): Но все равно столкнулся с проблемой, как у igronik.
"Категории, Форумы, Названия тем перенеслись - но самих тем нету, пишет "Запрошенной темы не существует" и соответственно постов тоже."
Ну что, проблему решили? Если да то как, а то у меня не получается... :evil:

melan
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 10.12.2012 14:20

Re: Конвертер uCoz -> phpBB3

Сообщение melan » 10.12.2012 14:24

Не получается запустить конвертор. Выдает ошибку, якобы о том, что не удается найти файлы.
ПРОВЕРЬТЕ НАХОДЯТСЯ ЛИ ФАЙЛЫ users.txt, ugen.txt, fr_fr.txt, forum.txt и forump.txt В КАТАЛОГЕ ./ucoz/_s1/
Проверяю на денвере. Все файлы лежат там "localhost/phpBB3/ucoz/_s1/" phpBB3 - место где установлен форум. Пытался менять значения базы, делать ссылку в корень форума, где так же лежит дамп. Безрезультатно. Что делать?

kylpik
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 19.02.2013 18:03

Re: Конвертер uCoz -> phpBB3

Сообщение kylpik » 19.02.2013 18:35

up
Добрый верчер ув. форумчане!
Поборол много ошибок при импортировании, но потихоньку отступаю.

Код: Выделить всё

(ГОТОВО). 798 пользователей импортировано. 
Пользователей в карте пользователей: 783
Импорт форумов...
  (ГОТОВО). 46 форумов импортировано. 
Импорт тем...
  100 тем импортировано...
  200 тем импортировано...
  300 тем импортировано...
  400 тем импортировано...
  (ГОТОВО). 421 тем импортировано. 
Импорт сообщений...
Вложенный Файл ./ucoz/_fr/0/0\ для сообщения с id = 1 не найден
Общая ошибка
SQL ERROR [ mysql4 ]

Column 'forum_id' cannot be null [1048]
папка _fr находится по пути: /ucoz/_fr, ucoz в свою очередь в корне со скриптом.
скрипт брал c предыдущей страницы ucoz2bb_final_for_phpBB.zip

Удалось перенести все, кроме постов. Собственно говоря по ошибке видно, что скрипт не может найти вложения, с первой темы. Как ее можно пропустить и не будет ли ошибок из-за смайликов ?

Заранее благодарю за помощь.
Скрытый текст
сервер ubuntu 12.10
версия LAMP:
php5 -v
PHP 5.4.6-1ubuntu1.1 (cli) (built: Nov 15 2012 01:18:34)
apache2 -v
Server version: Apache/2.2.22 (Ubuntu)
5.5.28-0ubuntu0.12.10.2
phpbb 3.0.11

lesha20
phpBB 1.4.0
Сообщения: 31
Зарегистрирован: 09.09.2012 0:42
Благодарил (а): 7 раз
Поблагодарили: 2 раза

Re: Конвертер uCoz -> phpBB3

Сообщение lesha20 » 20.02.2013 16:49

kylpik писал(а):Вложенный Файл ./ucoz/_fr/0/0\ для сообщения с id = 1 не найден
Здесь похоже что-то не то со слэшами в путях - ./ucoz/_fr/0/0\
Попробуйте в скрипте после строчки:

Код: Выделить всё

$filename = UCOZ_ATTACHMENTS_PATH . (int)($data[1]/100) . '/' . $filename;//абсол.путь к вложенному файлу
добавить отладочный код и сбросить полное имя файла:

Код: Выделить всё

file_put_contents(UCOZ_PATH . 'debug.txt', "{$filename}\n", FILE_APPEND);
kylpik писал(а):Column 'forum_id' cannot be null [1048]
Здесь наверное не извлекается forum_id:

Код: Выделить всё

          $sql = 'SELECT  topic_id, forum_id, topic_title
			        FROM ' . TOPICS_TABLE .'
        			WHERE topic_id = '.($data[1] + $ucoz_tid_shift);
			$result = $db->sql_query($sql);
			$row = $db->sql_fetchrow($result);
			$db->sql_freeresult($result);
			$forum_id = $row['forum_id'];
Здесь надо сбрасывать переменные $data[1], $ucoz_tid_shift, $forum_id
Если в $data[1] будет пусто, то проблема с правильным чтением данных из файлов ucoz. Если в $forum_id пусто надо глянуть в таблицу TOPICS_TABLE.

Добавлено спустя 11 минут 8 секунд:
Также может быть уже измненилась структура в дампе ucoz (таблица сообщений forump.txt), в этом случае надо доделать скрипт. Или какой-то сбой при чтении этой структуры. У меня, например, php-функция fgetcsv не обнаруживала экранирование символов:

Код: Выделить всё

//$row = fgetcsv($file, 5000, '|','$',"");//не срабатывает обнаружение экранирования верт.черты |
Добавлено спустя 17 минут 55 секунд:
melan писал(а):Не получается запустить конвертор. Выдает ошибку, якобы о том, что не удается найти файлы.
ПРОВЕРЬТЕ НАХОДЯТСЯ ЛИ ФАЙЛЫ users.txt, ugen.txt, fr_fr.txt, forum.txt и forump.txt В КАТАЛОГЕ ./ucoz/_s1/
Проверяю на денвере. Все файлы лежат там "localhost/phpBB3/ucoz/_s1/" phpBB3 - место где установлен форум. Пытался менять значения базы, делать ссылку в корень форума, где так же лежит дамп. Безрезультатно. Что делать?
Попробуйте в скрипте вот эту строчку удалить, кроме последней скобки в конце:
Снимок.PNG
Для корректной работы из дампа ucoz нужны папки:
"./ucoz/_fr/" - вложенные файлы,
"./ucoz/_s1/" - файлы базы данных,
"./ucoz/avatar/" - аватарки

Добавлено спустя 4 минуты 56 секунд:
igronik писал(а):Ну что, проблему решили? Если да то как, а то у меня не получается...
В конце работы скрипта:
1. Чистим кэш (в админке на главной)
2. Делаем синхронизацию (в админке на главной)
Снимок2.PNG

chill
phpBB 1.0.0
Сообщения: 2
Зарегистрирован: 10.07.2014 17:09

Re: Конвертер uCoz -> phpBB3

Сообщение chill » 10.07.2014 17:13

при использовании скрипта Конвертер uCoz -> phpBB3
в процессе импорта сообщений выползает ошибка
Импорт сообщений...

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

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 [1064]
в какую сторону можно копнуть?

SmallAnton
phpBB 1.4.2
Сообщения: 64
Зарегистрирован: 02.01.2013 22:52
Поблагодарили: 1 раз
Забанен: Бессрочно

Re: Конвертер uCoz -> phpBB3

Сообщение SmallAnton » 10.07.2014 18:52

chill Кавычку нужно поставить верно думаю. В каком то файле в третьей строке.
PHPBB - My Love =))

chill
phpBB 1.0.0
Сообщения: 2
Зарегистрирован: 10.07.2014 17:09

Re: Конвертер uCoz -> phpBB3

Сообщение chill » 14.07.2014 10:40

Нет, видимо опять изменился формат выгрузки из ucoz
пришлось делать замену символов "\", после чего импорт прошел гладко

MrSergey
phpBB 1.0.0
Сообщения: 1
Зарегистрирован: 08.05.2015 13:22
Поблагодарили: 2 раза

Re: Конвертер uCoz -> phpBB3

Сообщение MrSergey » 10.05.2015 14:23

Апну немного тему, уверен, кому-то пригодится.

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

Для тех, у кого появляется ошибка
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3 [1064]
следует сделать замену одной строки для учета вышеописанного бага - в функции ucoz_import_messages необходимо заменить

Код: Выделить всё

$data = explode('|',$line);
на

Код: Выделить всё

$data = explode('|',str_replace('\|', '', $line));
это исправит ошибку с определением user_id и импорт пройдет успешно.

Также добавлю. Я использую данный скрипт для слияния уже существующего форума на phpbb3 с форумом укоза. После объединения на форуме неправильно отображаются пользователи, создавшие тему, а также цвета ников пользователей. Т.к. времени искать ошибки в скрипте не было решил пофиксить эти недоработки sql запросами. Итак, после импорта необходимо выполнить следующие запросы:

Код: Выделить всё

update phpbb_topics, phpbb_users set phpbb_topics.topic_first_poster_name = phpbb_users.username where phpbb_users.user_id = phpbb_topics.topic_poster;
update phpbb_topics, phpbb_users set phpbb_topics.topic_last_poster_name = phpbb_users.username where phpbb_users.user_id = phpbb_topics.topic_last_poster_id;
update phpbb_forums, phpbb_users set phpbb_forums.forum_last_poster_name = phpbb_users.username where phpbb_users.user_id = phpbb_forums.forum_last_poster_id;
update phpbb_topics, phpbb_users set phpbb_topics.topic_first_poster_colour = phpbb_users.user_colour where phpbb_users.user_id = phpbb_topics.topic_poster;
update phpbb_topics, phpbb_users set phpbb_topics.topic_last_poster_colour = phpbb_users.user_colour where phpbb_users.user_id = phpbb_topics.topic_last_poster_id;
update phpbb_forums, phpbb_users set phpbb_forums.forum_last_poster_colour = phpbb_users.user_colour where phpbb_users.user_id = phpbb_forums.forum_last_poster_id;
Если имена таблиц у вас другие, то их, естественно, нужно заменить на свои.

Вернуться в «Для авторов (phpBB 3.0.x)»