Перейти к контенту

Разработка конвертера ucoz to IPB


Рекомендуемые сообщения

Наболевшая тема - написание рабочего конвертера БД юкоза в БД IPB. За основу взял IPB 2.3.6. Приступаю к описанию.

 

В ипб, сообщения привязываются одновременно к нескольким переменным: пользователь, форум и тема. Соответственно, мало перенести одну базу сообщений - они просто не будут отображаться, т.к. форумы и разделы не созданы или их ID не совпадают. Значит нужно перерести ВСЮ базу пользователей, с сохранением ID, а так же перенести базу форумов, или создать таблицу с форумами в пхпмайАдмин вручную.

 

Нам понадобятся таблицы из IBP 2.3.6:

ibf_forums,

ibf_members,

ibf_posts,

ibf_topics.

Именно в этих таблицах содержатся 99% необходимых данных. Для начала экспортируем все три таблицы из мускула в CSV, очистив поле "ограничители полей", а в поле "разделитель" поставить символ "|" без кавычек. Сохраняем полученные файлы на компьютер. Чтобы нашим многоуважаемым пользователям не терять время и нервы - предлагаю кусочки из этих таблиц с указанием значения полей (для нормального просмотра скопируйте этот текст в блокнот отключив автоперенос слов):

ibf_members:

id|  name|  mgroup| email| joined| ip_address| posts| title| allow_admin_mails| time_offset| hide_email| email_pm| email_full| skin| warn_level| warn_lastwarn| language| last_post|  restrict_post| view_sigs| view_img|  view_avs| view_pop| bday_day| bday_month|  bday_year| new_msg| msg_total| show_popup| misc| last_visit|  last_activity| dst_in_use| view_prefs| coppa_user| mod_posts|  auto_track| temp_ban| sub_end| login_anonymous| ignored_users| mgroup_others| org_perm_id| member_login_key| member_login_key_expire| subs_pkg_chosen| has_blog|  has_gallery| members_markers| members_editor_choice| members_auto_dst| members_display_name|  members_created_remote| members_cache| members_disable_pm|  members_l_display_name| members_l_username| failed_logins| failed_login_count| members_profile_views

1| Mylogin| 4| 123@mail.ru| 1236570978| 127.0.0.1| 12| Администратор| NULL| NULL| NULL| 1| NULL| 5| NULL| 0| ru| 1237026930| 0| 1| 1| 1| 1| NULL| NULL| NULL| 0| 0| 0| NULL| 1237121322| 1237371907| 0| -1&-1| 0| 0| 0| 0| 0| 0&1| NULL|  | | 5e1717959a76b3d0bdd7718045a48f10|  1237976707| 0| 0| 0| NULL| std| 1| 123| 0| a:1:{s:7:"friends";a:0:{}}| 0| 123| 123| | 0| 0

Аналогия этой таблицы в юкозе (т.е. то, что необходимо сконвертировать в вариант выше):

Mylogin| 0| $1$password| path to avatar| 0| MyName| 1| 123@mail.ru| Mysite| | 204| Adress| City| Signature| | 1208496325| 127.0.0.1| 8domain| | | | 0| 1986-04-26| 0| | 1228195079
Yourlogin| 0| $1$password| path to avatar| 19| 223@mail.ru| 1| 223@mail.ru| | | 169| | | sz| | 1230674316| 92.101.6.173| 8domain| | | | 0| 1994-09-27| 0| | 1230674555

здесь нет почему то ID пользователя, но в БД все пользователи идут в строгом порядке, значит можно просто все строки пронумеровать

 

теперь идет ibf_topics:

tid|title|description|state|posts|starter_id|start_date|last_poster_id|last_post
|icon_id|starter_name|last_poster_name|poll_state|last_vote|views|forum_id|appro
v
ed|author_mode|pinned|moved_to|total_votes|topic_hasattach|topic_firstpost|topic
_
queuedposts|topic_open_time|topic_close_time|topic_rating_total|topic_rating_hit
s
1|Добро пожаловать||open|2|1|1236570978|1|1236571381|0|123|123|0|0|9|2|1|0|0|0|0|0|1|0|0
|0|0|0

аналогия на юкозе:

ид_темы| ид_форума| -| -| -| -| -| -| название| описание| автор| -| последний ответ от| -| -| -
5| 22| 0| 1| 1236797560| 0| 57| 2| Книги серии S.T.A.L.K.E.R.| Обсуждение книг, входящих в серию S.T.A.L.K.E.R.| NoName| 1| WFOX| 1| 1| 3

как быть с ibf_forums - я не знаю, т.к. в БД юкоза прямых ссылок и указаний на них нет (кроме указания ИД у тем, которые в этих форумах лежат)

потому создавайте форумы вручную из мускула, вручную же указывая ID каждого форума.

ну и самое главное - ibf_posts:

pid| append_edit| edit_time| author_id| author_name| use_sig| use_emo| ip_address| post_date| icon_id| post| queued| topic_id| post_title| new_topic| edit_name| post_key| post_parent| post_htmlstate| post_edit_reason
1| 0| NULL| 1| IBResource Team| 0| 1| 127.0.0.1| 1236570978| 0| Добро пожаловать в ваш новый форум| 0| 1| NULL| 1| NULL| 0| 0| 0|

аналогия юкоза:

-|-|-|id_поста(номер поста в топике)|текст поста|-|Автор_поста|0|кто_правил|-|-|-|ип_автора|-|-|-|-
3|2|1209281287|1|В данном разделе будут вестись обсуждения относительно хода съемок<br /> В данный момент идет подготовка к съемкам тизера|1|Бармен|0|NoName|1209561669|````|````|80.81.000.00|0|0|1|1209561669

 

ну вот - теперь нужно второе перегнать в первое, причем можно смириться даже с потерей всех данных из профиля, главное чтобы сохранялся логин, ид, и пароль (кстате, где он хранится на борде я так и не нашел, возможно даже кодировка паролей не будет совпадать), я совершено не знаю PHP, потому пытаюсь делать все при помощи скрипов JS и jQ, если что получится - отпишусь. И мне не помешала бы помощь опытных кодеров, которые могут представить себе, как подбная система должна работать и как ее реализовать. Если нужны дополниетльные данные - могу предоставить без проблем. надеюсь на вашу поддержку, все таки не для себя любимого делаю. Если нужно - могу прикрепить исходники всех необходимых баз и юкоза и ипб.

Ссылка на комментарий
Поделиться на других сайтах

  • 5 недель спустя...
Нашел способ конвертирования вручную, все работает, так что если есть желание и деньги (платно же) буду помогать. Правда времени у меня не так уж и много, работа, учеба там... Стучите в асю 499056067 тока заранее сообщайте что вы по поводу конвертации. От вас тоже кое-что потребуется кое-какая помощь, но там по мелочи.
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.