форум vBSupport.ru > vBulletin > ImpEx (Вопросы по конвертации)
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
Rebound
Знаток
 
Rebound's Avatar
Default Исправление файлов Impex
2

Текущая программа Impex устарела и нужно проделать некоторые изменения в файле, прежде чем начать процесс импортирования, чтобы снизить вероятность появления ошибок.

Внимание: пользователям Windows, не следует использовать стандартный блокнот для изменения этих файлов. Используйте Notepad2, либо Notepad++. (Обе программы бесплатны и их можно найти в Google.)

Правка №1. Для начала откройте файл index.php в директории /impex/.

На строке/или рядом со строкой 271, найдите следующий код:

Code:
   ) TYPE=MyISAM";
Замените на

Code:
  ) ENGINE=MyISAM";
Сохраните изменения. TYPE объявлена устаревшей в новых версиях MySQL и может привести к ошибке базы данных.

Правка №2. Откройте файл ImpExDatabaseCore.php в директории /impex/.

На строке/или рядом со строкой 1857, найдите следующий код:

Code:
'" . $caption . "',
Замените на

Code:
'" . addslashes($caption) . "',
Сохраните изменения. Это необходимо для исправления ошибки в коде, в случае, если любое вложение содержало одинарные кавычки ', то это приводило к ошибке базы данных.

Правка №3 (Исправляем импорт CMS). Откройте файл ImpExDatabase_cms_001.php в папке /impex/.

На строке/или рядом со строкой 848, найдите следующий код:

Code:
'" . addslashes($this->get_value('nonmandatory', 'workflowstatus')) . "',
Замените на

Code:
'$vbenumval',
Затем немного выше (около строки 832) вы увидите следующий код:

Code:
// MySQL database
case 'mysql':
{
$Db_object->query("
Теперь, прямо над строкой $Db_object->query... добавьте пустые строки и вставьте код:

Code:
$vbenumval = addslashes($this->get_value('nonmandatory', 'workflowstatus'));
if (empty($vbenumval))
{
$vbenumval = "NULL";
}
В конечном итоге вы должны получить такой код:

Code:
           // MySQL database
            case 'mysql':
            {
            
$vbenumval = addslashes($this->get_value('nonmandatory', 'workflowstatus'));
if (empty($vbenumval))
{
$vbenumval = "NULL";
}
                $Db_object->query("
Сохраните изменения.


Источник
Перевод сделан специально для проекта VBSupport.org
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
Luvilla
Гость
Default

Quote:
Originally Posted by Rebound View Post
Текущая программа Impex устарела
это тот импекс, который можно скачать в мемберке, у них до сих пор написан по-старинке?
ай, молодцi...
с каждым днём я всё больше люблю эту контору...

про замену TYPE на ENGINE тут писано уже тысяча и один раз... ну, пусть будет тысячавторой, не помешает
остальные правки тоже были
хорошо, что это будет компактно, в одном посте

тема отправляется в раздел по импексу
 
 
alexper20
Продвинутый
Default
0

Здавствуйте, а имеется ли ли IMPEX для версии PHP выше чем 7.1? А то попытался перенести данные со старого форума на новый и уже только при нажатии в админке на кнопку импекс выдало такую каку function mysql_connect() called though not supported in the PHP build, на сколько я понял версия PHPне поддерживается!
 
 
OldEr
Специалист
Master
 
OldEr's Avatar
Default
0

@alexper20, свежую версию отсюда https://sypex.net/ru/products/dumper/downloads/ пробовали?
 
 
alexper20
Продвинутый
Default
0

Так это же скрипты совершенно разного назначения на сколько я понимаю, мне нужно то чтоб перенести все данные с одной базы в базу другого форума, я сохраняю другим средством MySQLDumper называется, это то же самое что вы предлагаете, но он копирует 1 к одному, а я хучу именно только перенести данные с одной базы данных в базу другого форума. Дело в том что у базы старого форума была не правильная кодировка LATIN1 с самого начала, и в связи с этим у меня появлялись регулярно проблемы разного характера, хотя я и решал их часто при помощи вашего форума, но теперь решил просто сделать всё по человечески, сразу установил в правильной кодировке и решил просто перенести все данные из неправильной базы в правильную!

alexper20 добавил 28.12.2018 в 00:00
Да и честно сказать для меня это самый лёгкий выход из ситуации, так как знаний программирования у меня нет, но вот ваш форум очень хорошо выручает!

Last edited by alexper20 : 12-28-2018 at 01:00 AM. Reason: Добавлено сообщение
 
 
OldEr
Специалист
Master
 
OldEr's Avatar
Default
0

@alexper20, пардон, тормажу. = )

В официальном репозитории Impex на github-е последнее обновление было 4 года назад. На vbulletin.org также пишут о том, что необходимо адаптировать скрипт. Самый просто вариант: запускать Impex на более старой версии PHP.
 
 
alexper20
Продвинутый
Default
0

Так возможности нет запустить скрипт на более старой версии, я скачал последний скрипт IMPEX, но он с меня требует код булки, код то конечно у меня имеется и он даже запустился как не странно, но нажимая дальше место под код только очищается и ничего дальше не происходит! Форум у меня официальный, правда лицуха только до версии 3.7.4, а так как единственная версия на новом хосте PHP 7.2, то стояла уже версия 3.8.11(и то что у старого провайдера так как была поддержка PHP5.5), есть ещё какие нибудь варианты, просто форум существует с 2006 года, жалко начинать всё с нуля, или есть какие нибудь импекс версии для новых версий булки, ну как то же люди переносят свои данные, ну не могу я поверить что на старом скрипте всё закончилось!
 
 
Luvilla
Гость
Default

Quote:
Originally Posted by alexper20 View Post
есть ещё какие нибудь варианты
конечно
привести базу в порядок
для этого не нужен Импекс
 
 
OldEr
Специалист
Master
 
OldEr's Avatar
Default
1

@alexper20, если ваша проблема исключительно в кодировке, то нет никакой необходимости использовать Impex. Достаточно привести БД к нормальному виду и обновить форум до актуальной версии.
 
 
alexper20
Продвинутый
Default
0

Проблема решена, я просто на старом хостинге обновил форум до версии 3.8.12 которая поддерживает PHP 7.2.x, и сразу же сделал бэкап базы, это всё перенёс и даже импекс не понадобился! Если честно, то моих знаний не хватило бы на приведение базы в порядок, так как мне как то говорили что изменение кодировки базы данных не изменит кодировку записанных туда таблиц, что нужно писать какой то скрипт для этого. А тут база оказалась именно в нужной кодировке какую я хотел, и та которая у меня на новом хосте стояла! Так что за попытку помочь огромное спасибо, всё же хорошие люди здесь, не раз уже убеждался! Ещё раз огромное спасибо!

alexper20 добавил 28.12.2018 в 20:08
Кстати если такое возможно то было бы не плохо видеть такую тему по изменению кодировки базы данных без переустановки форума, эта тема была бы очень полезной.

Last edited by alexper20 : 12-28-2018 at 09:08 PM. Reason: Добавлено сообщение
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 09:30 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...