Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

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

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

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
FryPpy
phpBB 1.2.0
Сообщения: 13
Стаж: 13 лет 3 месяца
Поблагодарили: 5 раз

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

Сообщение FryPpy »

Чтож вы в ЛС не пишите - я сюда оооочень редко заглядываю...
Попробую быстро ответить:
lunik1980
Узнай номера групп твоего УКОЗ форума!!!
Пусть НАПРИМЕР это будет:
ботоюзеры - 5
старшие ботоюзеры - 6 и т.д.
Тогда надо добавлять в groups_map строчки типа:
5 => array( 2 ),
6 => array( 2 ),
и т.д. НО ТОГДА ВСЕ ПОЛЬЗОВАТЕЛИ ЭТИХ ГРУПП ПЕРЕНЕСУТСЯ В 1 ГРУППУ - ЗАРЕГИСТРИРОВАННЫЕ!!!!!
Если хочется большего - тогда через админку phpBB заводите свои группы (перед началом работы скрипта) И узнавайте их идентификаторы:
ПУСТь В ПХП ББ ЭТО БУДУТ
ботоюзеры - 8
старшие ботоюзеры - 9 и т.д.
тогда строчки будут такими:
5 => array( 8, 2 ),
6 => array( 9, 2 ),

*********************************************************************
r_d_o_w СПАСИБО что пытаешся помочь...
И не надо стыдится того что только начинающий кодер - я и сам не так давно познакомился с ПХП и опять успел все позабыть:) Ты делаешь все верно а кому надо тот поправит и сделает лучше... Спасибо за скрипт - попробую на днях его интегрировать в основной и выложу новую версию сюда... Попутно кой какие заплатки приделаю...

***********************************************************************
FunnyAlien у меня нет времени чтобы отслеживать эту ветку - так что на помощь от меня в переносе врядли можно рассчитывать... Про max_questions - надо разбираться с самой структурой БД.. про остановку страницы - происходит ли дальнейшая догрузка страницы???? Если у провайдера установлены большие кэши и он не отдает контент до окончания работы скрипта - это может быть серьезной проблемой..
FryPpy
phpBB 1.2.0
Сообщения: 13
Стаж: 13 лет 3 месяца
Поблагодарили: 5 раз

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

Сообщение FryPpy »

Новая версия скрипта
- выкинул использование функции экранирования кавычек из модуля работы с базой данных, вместо нее поставил самопальную, экранирующую только одинарные кавычки!!!!! Тем самым интегрировал исправление r_d_o_w
БУДЬТЕ ВНИМАТЕЛЬНЫ ЕСЛИ В ВАШЕМ ФОРУМЕ ИСПОЛЬЗУЕТСЯ ДРУГАЯ СУБД (не mysql) использующая двойные кавычки для строковых литералов - ТУТ БУДЕТ ПРОБЛЕМА (ucoz2bb.php:88-89)
- все еще есть проблемы с использованием групп - сделал проверку на присутствие в дампе укоз-а нестандартных груп и останов работы скрипта с отсылом к строке скрипта где описано что делать....

PS
Что-то не могу найти в дампе ucoz-a где эти (пользовательские) группы описаны? Может проще их в скрипте добавить и больше головой не болеть?
Вложения
ucoz2bb.zip
Версия 0.9 скрипта
(11.11 КБ) 613 скачиваний
FryPpy
phpBB 1.2.0
Сообщения: 13
Стаж: 13 лет 3 месяца
Поблагодарили: 5 раз

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

Сообщение FryPpy »

ЛЮДИ - может кто знает где в дампе ucoz находятся описания этих "дополнительных" групп пользователей - все перерыл - ничего не могу понять...
http://forum.ucoz.ru/forum/34-29187-6 тут тоже ничего
А ведь из-за этого половина проблем при использовании скрипта...
yarik133
phpBB 1.0.0
Сообщения: 2
Стаж: 12 лет 6 месяцев

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

Сообщение yarik133 »

Мега-уважение программистам, за этот скрипт. Уже собрался долго сидеть разбираться самому, - как уже здесь есть готовое решение. СПАСИБО.

Есть несколько вопросов: спойлеры отображаются как и на укозе в виде кнопки и НЕ открываются - это поправимо?
Видео не отображается с ютуба, рутуба. Как с этим можно справиться?

Или это уже нужно заменять "вручную" соответствующие ББкоды на phpBB-шные?
Аватара пользователя
FEAR93
Former team member
Сообщения: 666
Стаж: 15 лет 6 месяцев
Откуда: Кривой Рог, Украина
Благодарил (а): 23 раза
Поблагодарили: 76 раз
Контактная информация:

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

Сообщение FEAR93 »

yarik133 писал(а):Или это уже нужно заменять "вручную"
Нужно, а ещё нужно сделать их репарсинг с помощью STK.
А где твоя Родина, сынок?! Сдал Горбачёв твою Родину американцам, чтобы тусоваться красиво.

Шаблон запроса.
Правила.
FryPpy
phpBB 1.2.0
Сообщения: 13
Стаж: 13 лет 3 месяца
Поблагодарили: 5 раз

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

Сообщение FryPpy »

>> помощью STK.
А это что за зверь????

PS
У меня не было спойлеров и клипов в переносимом форуме... поэтому не натыкался... но заметил 1 особенность - многое оформление УКОЗ хранит не как ббкоды (если так можно сказать), а прям как ХТМЛ... т.е (МХО) обработка идет только 1 раз при добавлении сообщения (ониж все хвалятся о высокоэффективном подходе)... тогда возможно все будет проще - стоит разобраться с проблемой и поправить хтмл-код в дампе... хотя это и против религии - но phpBB вполне допускает хранение сообщений в виде отформатированного ХТМЛ (хотя это и опасно)...
yarik133
phpBB 1.0.0
Сообщения: 2
Стаж: 12 лет 6 месяцев

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

Сообщение yarik133 »

Перенес спойлеры, видео путем замены укозовского бб-кода на хтмл (через программку).

А стили с укоза на phpBB не пробовали перекинуть?
PaShKinG
phpBB 1.0.0
Сообщения: 2
Стаж: 12 лет 1 месяц

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

Сообщение PaShKinG »

Люди, тут живые есть?:)
Помощь нужна. Скрипт справился со своей задачей на 95%. Все что нужно импортировал. Но вот пароли пользователей не подходят. Есть ли способы борьбы с этим?)
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 13 лет 11 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз
Контактная информация:

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

Сообщение HAMMER663 »

Пусть запрашивают восстановление пароля. по-другому никак.
misterzym
phpBB 1.0.0
Сообщения: 1
Стаж: 11 лет 11 месяцев

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

Сообщение misterzym »

Прошу помощи!
тестил скрипт на 3.0.10
пользователи переносятся, категории, форумы, темы
но как только доходит до сообщений - облом!

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

SQL ERROR [ mysqli ]

Column 'user_id' cannot be null [1048]

SQL

INSERT INTO phpbb_topics_posted (user_id, topic_id, topic_posted) VALUES (NULL, 71, 1)

BACKTRACE

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

FILE: [ROOT]/ucoz2bb3.php
LINE: 798
CALL: dbal_mysqli->sql_query()
стал копать - функция get_PHPbb_uid всегда возвращает NULL
не смог понять как в этой функции получаеться проверка

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

function get_PHPbb_uid($ucoz_uid, $for_topic = false)
{
	global $ucoz2PHPbb_UID_map;
	
	$uid = trim($ucoz_uid);
	if($uid == '')
		return 0;
	
	if(array_key_exists($uid, $ucoz2PHPbb_UID_map))
		return $ucoz2PHPbb_UID_map[$uid];
	
	if($for_topic)
		return USER_FOR_ABANDOONED_TOPICS;
	return USER_FOR_ABANDOONED_POSTS;
}
хомс
phpBB 1.4.4
Сообщения: 115
Стаж: 12 лет 8 месяцев
Благодарил (а): 10 раз

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

Сообщение хомс »

подскажите решение проблемы пожалуйста. ошибки:
Изображение
lesha20
phpBB 1.4.0
Сообщения: 31
Стаж: 11 лет 7 месяцев
Благодарил (а): 7 раз
Поблагодарили: 2 раза

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

Сообщение lesha20 »

HAMMER663 писал(а):Пусть запрашивают восстановление пароля. по-другому никак.
На самом деле, по-другому, можно.
Хэш пароля в ucoz формируется с помощью функции crypt(). Проверку введенного пароля можно сделать как в примере #1 в документации PHP по функции crypt() (http://www.php.net/manual/ru/function.crypt.php):

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

if (crypt($введеный пароль, $хэш_uCoz) == $хэш_uCoz) {
   echo "Пароль верен!";
}
Проверку добавляем в функцию login_db() в файле auth_db.php:
найти:

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

if ((strlen($row['user_password']) == 34 && (phpbb_check_hash(md5($password_old_format), $row['user_password']) 
				|| phpbb_check_hash(md5(utf8_to_cp1252($password_old_format)), $row['user_password'])))
				|| (strlen($row['user_password']) == 32  && (md5($password_old_format) == $row['user_password'] || md5(utf8_to_cp1252($password_old_format)) == $row['user_password'])))
изменить на:

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

if ((strlen($row['user_password']) == 34 && (phpbb_check_hash(md5($password_old_format), $row['user_password']) 
				|| phpbb_check_hash(md5(utf8_to_cp1252($password_old_format)), $row['user_password'])))
				|| (strlen($row['user_password']) == 32  && (md5($password_old_format) == $row['user_password'] || md5(utf8_to_cp1252($password_old_format)) == $row['user_password'])) 
				|| crypt($password_old_format, $row['user_password']) == $row['user_password'])
После входа пользователя в базе данных хэш_uCoz изменится на хэш_phpBB. Но перед этим надо в базе данных в таблицу пользователей добавить в поле user_password = хэш_uCoz, в поле user_pass_convert = 1. Смотрите следующее мое сообщение...
lesha20
phpBB 1.4.0
Сообщения: 31
Стаж: 11 лет 7 месяцев
Благодарил (а): 7 раз
Поблагодарили: 2 раза

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

Сообщение lesha20 »

Тестировал скрипт на phpBB v3.0.11, на Denwer3_Base_2012-06-27 (Apache 2.2.22 + PHP 5.3.13 + MySQL 5.5.25) - работу скрипт свою выполнил, но заметил незначительные ошибки:

1. Если у разных пользователей одинаковый E-mail, то phpBB выдает ошибку в строке 581, необходимо выше в строке 574 дополнить SQL-запрос:вместо SELECT user_id написать SELECT user_id, username.
2. Строки в базе данных uCoz и phpBB хранятся в кодировке UTF-8, а файл скрипта в Windows-1251, поэтому когда выводятся сообщения с русскими символами, например, "У пользователя ляйсанчик такой же e-mail leisan-badertdnva@mail.ru как и у уже зарегистрированного Амировна", вместо ляйсанчик и Амировна выводятся крякозябры. Чтобы этого небыло, файл скрипта преобразовал в UTF-8 без BOM, а в самом файле скрипта для формирования заголовка добавил: header('Content-Type: text/html;charset=utf-8');.
3. Для того, чтобы пользователи входили на форум со своими логином и паролем из uCoz в карте пользователя строку 592: 'user_password' => make_password($r_user[7], $r_user[0], $r_user[16], $user_id, $r_user[2]), изменил на 'user_password' => _E($r_user[2]), и добавил 'user_pass_convert' => 1, . Дополнил функцию login_db() в файле includes\auth\auth_db.php для проверки хэша пароля из uCoz.
4. Удалил функцию make_password() как ненужную, см. пункт 3.
5. В переменную $groups_map добавил группу из uCoz 251 "Друзья" сопоставил c группой 2 "Зарегистрированные" в phpBB.

Огромное спасибо дударику и фрайппайю за скрипт - сэкономило кучу времени.
Вложения
uCoz2BB.zip
Обновление конвертора и файла авторизации
(13.88 КБ) 450 скачиваний
Последний раз редактировалось lesha20 20.09.2012 19:37, всего редактировалось 1 раз.
lesha20
phpBB 1.4.0
Сообщения: 31
Стаж: 11 лет 7 месяцев
Благодарил (а): 7 раз
Поблагодарили: 2 раза

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

Сообщение lesha20 »

После конвертации заметил проблемы с аватарами, размеры которых больше заданных максимальных размеров в phpBB:
1. Анимированные аватары .gif перестали быть анимированными.
2. Если аватар был прямоугольным, то он растягивался до квадратных размеров и искажался, что нехорошо.
Также, в алгоритме программы сначала идёт попытка открыть аватар с сайта uCoz, а не с папки avatar, что увеличивает время работы скрипта.

В скрипте конвертора сделал следующие изменения:
1. В функции ucoz_add_avatar() изменил порядок поиска аватар - сначала с папки avatar, затем с сайта uCoz. Закомментировал вставку в базу данных удаленных аватар, которые не загружаются с uCoz, так как по умолчанию аватары отображаемые с других сайтов запрещены.
2. Функцию postprocess_avatar() переделал так, чтобы аватары не подгонялись до маленьких размеров, и размеры аватар передавались в базу данных неизменными. Я думаю, что лучше увеличить параметры аватар до максимальных размеров как в uCoz (у меня в uCoz максимальные размеры аватар 140x140, 150Кб).
3. Для подстраховки ввел глобальные переменные максимальных и минимальных размеров аватар, которые корректируются в функции postprocess_avatar() и выводятся в конце работы скрипта (у меня размеры аватар вывелись 140x140, ~100Кб, что совпало с максимальными размерами ширины и высоты аватар в uCoz).

Файл auth_db.php (для phpBB v3.0.11) копируем в .\includes\auth с заменой для успешной авторизации в phpBB с логином и паролем из uCoz.
Вложения
ucoz2bb.zip
Обновление конвертора, auth_db.php не обновлялся
(14.53 КБ) 372 скачивания
lesha20
phpBB 1.4.0
Сообщения: 31
Стаж: 11 лет 7 месяцев
Благодарил (а): 7 раз
Поблагодарили: 2 раза

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

Сообщение lesha20 »

Изменения в скрипте:
1. Чтобы не замусоривать корневую папку, изменил расположения файлов из дампа ucoz. Файл конвертора ucoz2bb.php нужно распологать в корневой папке, всё остальное в папке ucoz: в "./ucoz/_fr/" - вложенные файлы, в "./ucoz/_s1/" - файлы базы данных, в "./ucoz/avatar" - аватарки, т.е. надо просто разархивировать дамп в папку ucoz.
2. Добавил функцию html2bbcodes() для преобразования текста сообщений из html в BB-коды, чтобы можно было их редактировать.
3. Добавил функцию upload_attachments() для загрузки вложенных файлов и прикрепления их к сообщениям. Теперь, помимо файлов базы данных и аватар, нужна будет папка с вложенными файлами _fr.
4. Добавил функцию add_allow_ext(), которая разрешает группы вложенных файлов: 'IMAGES', 'ARCHIVES', 'PLAIN_TEXT', 'DOCUMENTS'.
5. Добавил функцию add_bbcode_in_db(), которая добавляет код следующих bb-кодов из ucoz, которых по умолчанию нет в базе phpBB3:[o], [l], [c], [r], [j], [sub], [sup], [font=], [hr], [video], [audio],
Скрытый текст
,
 
. Если в базе есть какие-нибудь bb-коды из этих перечисленных, то нужно или удалить их или закомментировать соответствующие строчки в функции add_bbcode_in_db(). BB-код спойлера работает на jQuery, поэтому его надо подключить, например в шаблоне шапки. <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>. А лучше BB-код спойлера переписать, так как когда на одной странице несколько спойлер, то он не работает.
6. Добавил функцию mime_content_type() на случай, если в php она не подключена. MIME-типы файлов прописал только те, которые у меня использовались. Для более полного набора надо раскомментировать второй вариант функции.
7. Добавил функцию update_params(), которая обновляет параметры в таблице CONFIG_TABLE: параметры аватар, максимальный размер вложенных файлов, максимальный размер шрифта и др.

Для авторизации с паролем из ucoz добавить строчку "|| crypt($password_old_format, $row['user_password']) == $row['user_password']" в условие в файле auth_db.php. В какое условие добавлять ищем в файле auth_db.php, который идёт в комплекте. Или просто заменить этот файл для версии 3.0.11, если он не редактировался.

В конце работы скрипта:
1. Чистим кэш (в админке на главной)
2. Делаем синхронизацию (в админке на главной)
3. Делаем индексацию (в разделе обслуживание -> база данных)


Тестировал скрипт на чистом phpBB v3.0.11, на Denwer3_Base_2012-06-27 (Apache 2.2.22 + PHP 5.3.13 + MySQL 5.5.25).

Дальше скрипт буду доделывать и тестировать для phpBBex, поэтому новые версии скрипта ищите на http://phpbbex.com/forum/viewtopic.php?t=131
Вложения
ucoz2bb_final_for_phpBB.zip
(24.08 КБ) 597 скачиваний
Закрыто

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