Конвертация баз allsubmitter 4.8, 4.9 => 4.7

[Удален]
1170
Интро: как известно, при импорте баз оллсаба 4.8 в оллсаб 4.7 при автореге возникают ошибки на куче каталогов. На форуме советуют удалять косячные каталоги руками, что не есть гуд.
Удалить "неправильные" каталоги можно гораздо быстрее, если следовать данной инструкции:

1) Качаем InterBase/FireBird Development studio:http://www.sqlly.com/files/ibds_setup.exe, устанавливаем.
2) Закрываем Allsubmitter, если он был открыт.
3) На всякий случай сохраняем файл ALLSUBMITTER.FDB из папки db allsubmitter'а.
4) Запускаем InterBase/FireBird Development studio, выбираем Редактор баз данных.
5) Жмем клавишу Ins, открывается диалог добавления базы. Указываем путь к файлу allsubmitter.fdb, имя пользователя: SYSDBA, пароль: masterkey, название - какое хотите. Жмем Зарегистрировать.
6) Открываем базу двойным щелчком, на панели инструментов Проект жмем кнопку Открыть мини-редактор SQL.
7) В открывшемся окне вводим строчку:
delete from dbtable where xmldsc like '%urlsub%';

8) Жмем Выполнить (или F9), затем жмем Завершить транзакцию (или Ctrl+Alt+C).
9) Закрываем редактор базы данных.
10) ВСЁ

А теперь немного теории. Blob-поле XMLDSC таблицы DBTABLE базы оллсаба содержит данные в формате xml, в 4.7, 4.8, 4.9 эти данные НЕ зашифрованы (хотя на форуме встречал противоположные мнения). Структура баз этих версий абсолютно одинаковая. А различия вот в чем:
1) оллсаб 4.8:
<?xml version="1.0"?>
<data><site><ver>5</ver><urlsub>http://www.*********.ru/add.php</urlsub><cap>3,6,1</cap><p><n>c1</n><t>_s</t><index>115</index><cat>тут список различных категорий</cat></p><p><n>ttitle</n><t>_i</t><our>title</our><max>0</max><min>0</min></p><p><n>url</n><t>_i</t><our>url</our><max>0</max><min>0</min></p><p><n>email</n><t>_i</t><our>email</our><max>0</max><min>0</min></p><p><n>UXpmdWQ3TkV0K1N6ZkVtc1BIL05idz09</n><t>_t</t><our>description</our><max>0</max><min>0</min></p><p><n>private_key</n><t>_i</t><our>captcha</our><max>3</max><min>0</min></p><p><n></n><t>_b</t><cl>-1</cl><def>Добавить</def></p></site></data>


2) оллсаб 4.7:
<?xml version="1.0"?>
<data><site><ver>4</ver><url>http://ua-host.com/catalogue/add.php</url><cap></cap><p><n>c1[]</n><t>_s</t><index>-1</index><cat>Выберите нужную категорию...0</cat></p><p><n>c1[]</n><t>_s</t><index>-1</index><cat>Выберите нужную категорию...0</cat></p><p><n>c1[]</n><t>_s</t><index>-1</index><cat>Выберите нужную категорию...0</cat></p><p><n>ttitle</n><t>_i</t><our>title</our><max>0</max><min>0</min></p><p><n>url</n><t>_i</t><our>url</our><max>0</max><min>0</min></p><p><n>email</n><t>_i</t><our>email</our><max>0</max><min>0</min></p><p><n>UXpmdWQ3TkV0K1N6ZkVtc1BIL05idz09</n><t>_t</t><our>description_short</our><max>0</max><min>0</min></p><p><n>secretcode</n><t>_i</t><our>captcha</our><max>0</max><min>0</min></p><p><n></n><t>_b</t><cl>-1</cl><def>Добавить</def></p></site></data>


замечаем, что различаются только теги, содержащие адрес URL: <url> в 4.7 и <urlsub> в 4.8 (аналогично с закрывающими тегами). В описанной выше инструкции именно по этому условию и удаляются адреса каталогов.

А теперь самое интересное. Импортировал в 4.7 базу от оллсаба 4.8. Ручками в редакторе исправил <urlsub> на <url> и </urlsub> на </url>. Сохранил изменения, запустил оллсаб 4.7 - ошибки на исправленных каталогах выскакивать перестали. Регистрировать правда пока не пробовал - просто нет сайта который нужно регить.
На днях попробую выкроить время и написать конвертер 4.8->4.7. Если ктото напишет раньше - ради бога.

За сим откланяюсь

Добавлено через 23 минуты
UPDATE: Кажется конвертор писать не придется

Пробуем так:
1) Импортируем в 4.7 базу от 4.8.
2) Сохраняем на всякий случай файл ALLSUBMITTER.FDB.
3) В любом hex-редакторе заменяем все вхождения строки

urlsub>

url >

обратите внимание - между url и > ТРИ ПРОБЕЛА.
4) ВСЁ

Может уже всплывала тема, но всеже, выкладываю, возможно у кого то отпадут лишние вопросы.

SAlex
На сайте с 27.07.2008
Offline
409
#1

К сожалению некорректно работает этот способ, слетает форма авторегистрации. Разработчики Алсаба позаботились об этом ...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий