Intellect Board — cистема управления сайтом

Построение сайта на основе форума

Intellect Board — cистема управления сайтом »   Техническая поддержка конверторов »   Конвертор phpBB => Intellect Board
RSS

Конвертор phpBB => Intellect Board

Обсуждение программы

Выводить сообщения

<<Назад  Вперед>>Страницы: 1 2 3
Модераторы: aerograf, wsx
Печать
 
Эта тема создана для обсуждения программы "Конвертор phpBB => Intellect Board" (12 марта 2005 17:25)
Hryamzik
Новичок


Всего сообщений: 21
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 апр. 2005
Доброе время суток! \":)\"

Возникла проблема при конвертации базы:

[q]
реобразование базы данных Проверка пароля пользователя System - Ok Идет преобразование... Это может занять некоторое время Преобразование таблицы категорий - Ok Преобразование таблицы форумов - Ok Преобразование таблицы пользователей - Глобальная ошибка: SELECT MAX(u_id)+1 FROM User WHERE u_id<> 1064: 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 1
[/q]


Возможно это связанно с наличием какого-то мода в пхпбб2. Скорее всего это нотификатор регистрации юзеров. Вот инфа из ридмика:

ридмик \":)\" написал:
[q]
#-----[ SQL ]------------------------------------------ # or run the included db_update.php # change phpbb_ to the database prefix you use # INSERT INTO phpbb_config VALUES ('registration_notify', 1);
[/q]

Подскажите, как бороться? Хотел прикрепить db_update.php но тут аттачей не нашел.

---
Кривость рук и никакого мошенничества!

lame [leim] adj. (-er, -est) (a) unable to walk propperly
©HARRAP'S POCKET English DICTIONARY
Hryamzik
Новичок


Всего сообщений: 21
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 апр. 2005
Вот файлик. Я так понимаю достаточно написать "обратный" скрипт.
<?php  define('IN_PHPBB', true);  $phpbb_root_path = './';  include($phpbb_root_path . 'extension.inc');  include($phpbb_root_path . 'common.'.$phpEx);    //  // Start session management  //  $userdata = session_pagestart($user_ip, PAGE_INDEX);  init_userprefs($userdata);  //  // End session management  //      if( !$userdata['session_logged_in'] )  {          $header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';          header($header_location . append_sid("login.$phpEx?redirect=db_update.$phpEx", true));          exit;  }    if( $userdata['user_level'] != ADMIN )  {          message_die(GENERAL_MESSAGE, 'You are not authorised to access this page');  }      $page_title = 'Updating the database';  include($phpbb_root_path . 'includes/page_header.'.$phpEx);    echo '<table width="100%" cellspacing="1" cellpadding="2" border="0" class="forumline">';  echo '<tr><th>Updating the database</th></tr><tr><td><span class="genmed"><ul type="circle">';      $sql = array();  $sql[] = "INSERT INTO " . $table_prefix . "config VALUES ('registration_notify', 1)";    for( $i = 0; $i < count($sql); $i++ )  {          if( !$result = $db->sql_query ($sql[$i]) )          {                  $error = $db->sql_error();                    echo '<li>' . $sql[$i] . '<br /> +++ <font color="#FF0000"><b>Error:</b></font> ' . $error['message'] . '</li><br />';          }          else          {                  echo '<li>' . $sql[$i] . '<br /> +++ <font color="#00AA00"><b>Successfull</b></font></li><br />';          }  }      echo '</ul></span></td></tr><tr><td class="catBottom" height="28">&nbsp;</td></tr>';    echo '<tr><th>End</th></tr><tr><td><span class="genmed">Installation is now finished. Please be sure to delete this file now.</span></td></tr>';  echo '<tr><td class="catBottom" height="28" align="center"><span class="genmed"><a href="' . append_sid("index.$phpEx") . '">Have a nice day</a></span></td></table>';    include($phpbb_root_path . 'includes/page_tail.'.$phpEx);    ?>

---
Кривость рук и никакого мошенничества!

lame [leim] adj. (-er, -est) (a) unable to walk propperly
©HARRAP'S POCKET English DICTIONARY
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
Нет, наличие модов не должно никак сказываться (если они не удаляют существующие поля из базы данных).
Ошибка здесь в другом: в конверторе некорректно обрабатывается ситуация, когда на форуме нет уже существующих пользователей (т.е. форум конвертируется в полностью чистый IntB). Для этого нужно исправить следующее:
$sqldata="user_id<>".implode($oldusers," OR user_id<>");
$sqldata2="u_id<>".implode($oldusers," OR u_id<>");

на
if (count($oldusers)>0) {
$sqldata="user_id<>".implode($oldusers," OR user_id<>");
$sqldata2="u_id<>".implode($oldusers," OR u_id<>");
}

Еще нужно зайти на Intellect Board и удалить все разделы и категории (в противном случае они будут в форуме 2 раза).
Быстро это можно сделать с помощью двух SQL-запросов:
DELETE FROM prefix_Category
DELETE FROM prefix_Forum
Аттачи в Intellect Board есть (просто у меня на форуме уровень для их применения выставлен равным "Участник проекта"), но конвертор их не преобразовывает, (я так и не нашел, где они хранятся в стандартном phpBB).

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
Hryamzik
Новичок


Всего сообщений: 21
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 апр. 2005
Пошел по короткому пути, создал нового юзера.

[q]
Глобальная ошибка: INSERT INTO User (u_id, u__active, u__name, u__password, u__regdate,u__level, u_timeregion, u_sformat, u_lformat, u_usesignature, u_usesmiles, u_nomails, u__avatar, u_avatartype, u__email, u_showmail, u_icq, u_homepage, u_location, u_signature, u_aol, u_yahoo, u_msn, u_interests, u_encrypted, u__key, u_tperpage, u_mperpage, u_aperpage, u_gender) SELECT user_id+5, user_active, username, user_password, user_regdate, user_level, user_timezone*60*60, user_dateformat, user_dateformat, user_attachsig, user_allowsmile, 1-user_notify, user_avatar, user_avatar_type, user_email, user_viewemail, user_icq, user_website, user_from, REPLACE(user_sig,CONCAT(":",user_sig_bbcode_uid),""), user_aim, user_yim, user_msnm, user_interests, 1, MD5(RAND()), 10, 10, 20, 2 FROM phpbb_users WHERE user_id<>2 1062: Duplicate entry '4' for key 1
[/q]


Мне всетаки кажется что какие-то изменения в префиксах эта штука произвела.

Добавлено через 10 минут:

Удалил юзверей из нового форума, поменял конвертор. Вот что теперь он мне выдает:

[q]
Глобальная ошибка: INSERT INTO User (u_id, u__active, u__name, u__password, u__regdate,u__level, u_timeregion, u_sformat, u_lformat, u_usesignature, u_usesmiles, u_nomails, u__avatar, u_avatartype, u__email, u_showmail, u_icq, u_homepage, u_location, u_signature, u_aol, u_yahoo, u_msn, u_interests, u_encrypted, u__key, u_tperpage, u_mperpage, u_aperpage, u_gender) SELECT user_id+4, user_active, username, user_password, user_regdate, user_level, user_timezone*60*60, user_dateformat, user_dateformat, user_attachsig, user_allowsmile, 1-user_notify, user_avatar, user_avatar_type, user_email, user_viewemail, user_icq, user_website, user_from, REPLACE(user_sig,CONCAT(":",user_sig_bbcode_uid),""), user_aim, user_yim, user_msnm, user_interests, 1, MD5(RAND()), 10, 10, 20, 2 FROM phpbb_users 1062: Duplicate entry '3' for key 1
[/q]
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
Что-то странное: duplicate key значит, что форум пытается вставить двух пользователей с одинаковым uid...

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
Hryamzik
Новичок


Всего сообщений: 21
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 апр. 2005
Можно сделать что-нить типа "if (такой id уже есть) {ignor}"

??

---
Кривость рук и никакого мошенничества!

lame [leim] adj. (-er, -est) (a) unable to walk propperly
©HARRAP'S POCKET English DICTIONARY
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
Вообще, проверка есть (только не по uidу, а по имени). Только вот происходит там что-то странное...
Кстати, а не могло быть ситуации, что одновременно с преобразованием зарегистрировался какой-то пользователь? Это может привести к таким ошибкам...
И еще попробуй вот что:
после
$sql = "SELECT MAX(u_id)+1 FROM ".$GLOBALS['DBprefix']."User ";
if ($sqldata2) $sql.="WHERE $sqldata2";
$res = db_query($sql,$link);
list($uid)=db_fetch_row($res);
if (!$uid) $uid="0";

Впиши
echo "UID max: $uid";
Это должно вывести базовый номер, который добавляется к uidу пользователей при конвертации (по-моему, ошибка в том, что этот номер неправильно считается, вот и возникают проблемы).

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
Hryamzik
Новичок


Всего сообщений: 21
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 апр. 2005
[q]
Преобразование базы данных Проверка пароля пользователя System - Ok Идет преобразование... Это может занять некоторое время Преобразование таблицы категорий - Ok Преобразование таблицы форумов - Ok Преобразование таблицы пользователей - UID max: 4 Глобальная ошибка: INSERT INTO User (u_id, u__active, u__name, u__password, u__regdate,u__level, u_timeregion, u_sformat, u_lformat, u_usesignature, u_usesmiles, u_nomails, u__avatar, u_avatartype, u__email, u_showmail, u_icq, u_homepage, u_location, u_signature, u_aol, u_yahoo, u_msn, u_interests, u_encrypted, u__key, u_tperpage, u_mperpage, u_aperpage, u_gender) SELECT user_id+4, user_active, username, user_password, user_regdate, user_level, user_timezone*60*60, user_dateformat, user_dateformat, user_attachsig, user_allowsmile, 1-user_notify, user_avatar, user_avatar_type, user_email, user_viewemail, user_icq, user_website, user_from, REPLACE(user_sig,CONCAT(":",user_sig_bbcode_uid),""), user_aim, user_yim, user_msnm, user_interests, 1, MD5(RAND()), 10, 10, 20, 2 FROM phpbb_users 1062: Duplicate entry '3' for key 1
[/q]

---
Кривость рук и никакого мошенничества!

lame [leim] adj. (-er, -est) (a) unable to walk propperly
©HARRAP'S POCKET English DICTIONARY
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001
Что-то вообще странное: номер определяется абсолютно правильно - 4.
Сделай SHOW KEYS FROM prefix_Users или SHOW INDEXES FROM prefix_Users, возможно, где-то есть лишний индекс, который я не учел.

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
<<Назад  Вперед>>Страницы: 1 2 3
Модераторы: aerograf, wsx
Печать
Intellect Board — cистема управления сайтом »   Техническая поддержка конверторов »   Конвертор phpBB => Intellect Board
RSS

1 посетитель просмотрел эту тему за последние 10 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
Ограничение доступа
не отображаются разделы
Архив версий
Установка стиля на Intellect Board 2.22
Завершилась работа над новой версией 3.00

Самые активные 5 тем RSS


Время выполнения скрипта: 0.0735. Количество выполненных запросов: 17, время выполнения запросов 0.0000
Creative Commons License Rambler's Top100 Rambler's Top100 Рейтинг@Mail.ru Valid HTML 4.01 Transitional Valid CSS!