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

Конвертирование с различных движков в IPB


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

IPB WARNING [2] Invalid argument supplied for foreach() (Line: 575 of /sources/classes/class_forums.php)

 

Вот такое вылезает при попытке кликнуть на Новые сообщения. Пробую переехать с phpBB на IPB 2.0.0 , мемберы конвертировались нормально, внизу показывает число топиков и постов, в админке в статистике тоже их вижу, в управлении форумами - ноль, на главной странице форума тоже ноль.

 

Короче, куда-то ткнула - и вроде все заработало - а что это было-то??? :D

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

  • 3 недели спустя...
  • Ответы 316
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

нужно конвертировать vbulletin 3.0.7 в ipb 2.0.4 ... ска4ал конвентер .. только трабла .. при установке vbulletin я не указывал префиксов ( их нету ) а конвертер требует указания префикса =((( 4ё делать ?

Как это нет префикса? Если не указывал, там должно было всё остаться по умолчанию. Посмотри первые буквы в именах таблиц. Найди одинаковые. Это оно и есть. vb или что-то такое.

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

  • 2 недели спустя...
Нет, не это. Там большая часть ссылок не работает, на конверторы phpbb в т.ч.
Ссылка на комментарий
Поделиться на других сайтах

Завалялся ли у кого конвертор "Ikonboard mySQL 3.1.1 to Invision Power Board 1.3". а в идеале с Ikonboard 2.1.9 до ipb 1.3 (если вдруг такой появился).

На http://www.invisionpower.com/ip.dynamic/pr...convertors.html ссылки для конверторов на ipb 1.3 что-то подозрительно долго не ремонтируют. :D

Пожалуйста дайте ссылочку или почтой на webmaster плюшка sed.lg.ua

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

  • 3 недели спустя...

Я успешно переехала с phorum 5.0 на IPB 2.0.x используя собственноручно написанный скрипт.

 

единственное, что..

- он не поддерживает голосования - пыталась прикрутить, но безуспешно.

- нет поддержки нескольких аватаров - выбирается аватар установленный по умолчанию.

 

кому надо.. вот:

	function generate_password_salt($len=5)
{
 $salt = '';
 
 srand( (double)microtime() * 1000000 );
 
 for ( $i = 0; $i < $len; $i++ )
 {
	 $num   = rand(33, 126);
	 
	 if ( $num == '92' )
	 {
   $num = 93;
	 }
	 
	 $salt .= chr( $num );
 }
 
 return $salt;
}


function generate_auto_log_in_key($len=60)
{
 $pass = generate_password_salt( 60 );
 
 return md5($pass);
}

set_time_limit(0);
$nd=0;
$db_host = "localhost";
$db_user = "root";
$db_pwd = "";
$db_name = "dban";
$link = mysql_connect( $db_host, $db_user, $db_pwd );
mysql_select_db($db_name);

$qry = "SELECT * FROM phorum_settings where name='title';";
$result = mysql_query($qry);

while ($row = mysql_fetch_array($result))
{
$title=$row['data'];
$qur="REPLACE INTO `ibf_forums` VALUES (1, 0, 0, 0, 0, '', '".$title."', '', 1, 1, 0, 1, '', '', 0, 'last_post', 'Z-A', 30, 1, 0, 1, 1, 1, NULL, -1, 0, '', 0, 0, '', '', '', '', '', 0, '', 'a:5:{s:11:\"start_perms\";s:1:\"*\";s:11:\"reply_perms\";s:1:\"*\";s:10:\"read_perms\";s:1:\"*\";s:12:\"upload_perms\";s:1:\"*\";s:10:\"show_perms\";s:1:\"*\";}', 0, 0, 0);";
mysql_query($qur);
}

$qry = "SELECT forum_id,name,description FROM phorum_forums;";
$result = mysql_query($qry);

while ($row = mysql_fetch_array($result))
{
echo $id=$row['forum_id'];
echo "<Br>";
echo $name=$row['name'];
echo "<Br>";
echo $desc=$row['description'];
echo "<Br>";
$qur="REPLACE INTO `ibf_forums` VALUES (".$id.", 0, 0, 0, 0, 'Klia', '".$name."', '".$desc."', ".($id).", 1, 1, 1, '', '', 1, 'last_post', 'Z-A', 100, 0, 0, 1, 1, 1, NULL, 1, 1, '', 0, 0, '', '', '', '', '', 1, '', 'a:5:{s:11:\"start_perms\";s:1:\"*\";s:11:\"reply_perms\";s:1:\"*\";s:10:\"read_perms\";s:1:\"*\";s:12:\"upload_perms\";s:1:\"*\";s:10:\"show_perms\";s:1:\"*\";}', 0, 0, 0);";
echo "<Br>";

mysql_query($qur);
$table="phorum_messages";
$index = "list_page_float";


$qry1 = "select *
             from
               $table;";

$result3 = mysql_query("select * from phorum_files;");
        while ($ra = mysql_fetch_assoc($result3)){
$ext=explode(".",$ra['filename']);
if ($ra['message_id']>0)
{
$k='post';
$upload="uploads/post-".$ra['user_id']."-".$ra['add_datetime'].".".strtolower($ext[(count($ext)-1)]);
$fp=fopen($upload,"w");
fwrite($fp,base64_decode($ra['file_data']));
fclose($fp);
}
elseif (((int)$ra['message_id'])==0)
{
$k='av';
$avs[$ra['file_id']]['filename']="av-".$ra['user_id']."-".$ra['add_datetime'].".".strtolower($ext[(count($ext)-1)]);
$avs[$ra['file_id']]['user_id']=$ra['user_id'];
if (!file_exists("uploads/av-".$ra['user_id'].".".strtolower($ext[(count($ext)-1)])))
{
$upload="uploads/av-".$ra['user_id'].".".strtolower($ext[(count($ext)-1)]);
$av=0;
}
else
{
$upload="uploads/av-".$ra['user_id']."-".$ra['add_datetime'].".".strtolower($ext[(count($ext)-1)]);
$av++;
}

$info=GetImageSize($upload);
$avs[$ra['file_id']]['size']=$info[0]."x".$info[1];
$fp=fopen($upload,"w");
fwrite($fp,base64_decode($ra['file_data']));
fclose($fp);

}

$info=GetImageSize($upload);
$types = array(1 => "gif", 2 => "jpg", 3 => "png");
$exten=strtolower(count($ext)-1);
if (in_array(strtolower($ext[$exten]),$types))
{
$isimage=1;
}
else
{
$isimage=0;
}
$file=$ra['filename'];
$up=basename($upload);
if ($k!='av')
{
$q="REPLACE INTO `ibf_attachments` VALUES (".$ra['file_id'].", '".$file."', '".addslashes($up)."', '".addslashes($up)."', 0, ".$ra['add_datetime'].", 0, ".$ra['message_id'].", '0', 0, ".$ra['user_id'].", 1, ".$ra['filesize'].", ".$info[0].", ".$info[1].", ".$isimage.", '".strtolower($ext[$exten])."');";
mysql_query($q);
}
$hasattach[$ra['message_id']]=1;
}

$sql="select * from phorum_messages;";
$result1 = mysql_query($sql);
        while ($rec = mysql_fetch_assoc($result1)){
              if($rec["status"]==2){
                  $arr[$rec["message_id"]] = $rec;
                  $arr[$rec["message_id"]]["meta"] = array();
                  if(!empty($rec["meta"])){
             $arr[$rec["message_id"]]["meta"] = unserialize($rec["meta"]);
      $poll[$rec["message_id"]]["meta"] = unserialize($rec["meta"]);
$subject[]=$arr[$rec["message_id"]]['subject'];
$author=$arr[$rec["message_id"]]['author'];
$meta=$arr[$rec["message_id"]]["meta"];
echo "<p>";
if ($arr[$rec["message_id"]]['sort']==1) $pinned=1;
else
$pinned=0;
$qq="REPLACE INTO `ibf_topics` VALUES (".$arr[$rec["message_id"]]['thread'].", '".addslashes(str_replace("Re2: ","",str_replace("Re: ","",$arr[$rec["message_id"]]['subject'])))."', '', 'open', ".(int)$arr[$rec["message_id"]]['thread_count'].", ".(int)$arr[$rec["message_id"]]['user_id'].", 1069075118, ".(int)$meta['recent_post']['user_id'].", 1069075118, 0, '".addslashes($arr[$rec["message_id"]]['author'])."', '".addslashes($meta['recent_post']['author'])."', 0, 0, 0, ".((int)$rec['forum_id']).", 1, 0, ".(int)$pinned.", NULL, NULL, 0, ".(int)$hasattach[$rec["message_id"]].", 1, 0);";
if (!mysql_query($qq))
echo "mysql>".mysql_error()."<br>";
if(!empty($meta['message_ids']))
{
foreach ($meta['message_ids'] as $msg_id => $msg_val)
{
$qq1="REPLACE INTO `ibf_posts` VALUES (".$msg_val.", 0,".(int)$meta['edit_date'].",".(int)$arr[$msg_val]['user_id'].", '".addslashes($arr[$msg_val]['author'])."', 1,1,'".gethostbyname($arr[$msg_val]['ip'])."',".(int)$arr[$msg_val]['datestamp'].", 0, '".addslashes(nl2br(htmlspecialchars($arr[$msg_val]['body'])))."', 0, ".(int)$arr[$msg_val]['thread'].",'".addslashes($arr[$msg_val]['post_title'])."',0,'".addslashes($meta['edit_username'])."',0,".(int)$arr[$msg_val]['parent_id'].",0);";
if (!mysql_query($qq1))
echo "mysql>".mysql_error()."<br>";
}
}
$nd++;
}
}
}


$result2 = mysql_query("select * from phorum_users;");
        while ($rec1 = mysql_fetch_assoc($result2)){
                 $arr1[$rec1["user_id"]] = $rec1;
                  $arr1[$rec1["user_id"]]["user_data"] = array();
                  if(!empty($rec1["user_data"])){
             $arr1[$rec1["user_id"]]["user_data"] = unserialize($rec1["user_data"]);
$user=$arr1[$rec1["user_id"]]["user_data"];
$av=$avs[current($user['mod_avatar'])];
echo current($user['mod_avatar']);

$salt = generate_password_salt(5);
$salt = str_replace( '\\', "\\\\", $salt );
echo "<pre>";
$qm="REPLACE INTO `ibf_members_converge` VALUES (".(int)$arr1[$rec1["user_id"]]["user_id"].", '".$arr1[$rec1["user_id"]]["email"]."', ".(int)$arr1[$rec1["user_id"]]["date_added"].", '".(md5( md5($salt) . $arr1[$rec1["user_id"]]["password"]))."', '".$salt."');";
mysql_query($qm);
echo mysql_error();
echo $qm."<br>";
#print_r($avs[$user['mod_avatar']]['avatars']);
if ($avs[$user['mod_avatar']['default_avatar']]['filename']!='')
{
$tye='upload';
}
else
{
echo $av;
$ava=array_keys($av['avatars']);
if (empty($ava))
{
$tye='local';
}
else
{
$tye='upload'.$ava[0];
}

}
if (!empty($avs[$user['mod_avatar']['default_avatar']]['filename']))
{
$qme="REPLACE INTO `ibf_member_extra` VALUES (".(int)$arr1[$rec1["user_id"]]["user_id"].", NULL, NULL, NULL, NULL, '', '', '', '', 0, '', '', '', '', '', '', '".addslashes($arr1[$rec1["user_id"]]["signature"])."', '".$avs[$user['mod_avatar']['default_avatar']]['filename']."', '".$avs[$user['mod_avatar']['default_avatar']]['size']."', '".$tye."');";
}
else
{
$ava=array_keys($avs[$user['mod_avatar']['avatars']]);
$qme="REPLACE INTO `ibf_member_extra` VALUES (".(int)$arr1[$rec1["user_id"]]["user_id"].", NULL, NULL, NULL, NULL, '', '', '', '', 0, '', '', '', '', '', '', '".addslashes($arr1[$rec1["user_id"]]["signature"])."', '".$avs[$ava[0]]['filename']."', '".$avs[$ava[0]]['size']."', '".$tye."');";
}
mysql_query($qme);
echo mysql_error();
echo $qme."<Br>";

if (($arr1[$rec1["user_id"]]["admin"])==1)
{
$admin=4;
}
else
{
$admin=3;
}
$qc="REPLACE INTO `ibf_members` VALUES (".(int)$arr1[$rec1["user_id"]]["user_id"].",  '".addslashes($arr1[$rec1["user_id"]]['username'])."',".$admin.", '".$arr1[$rec1["user_id"]]["password"]."', '".$arr1[$rec1["user_id"]]["email"]."', ".(int)$arr1[$rec1["user_id"]]["date_added"].", '10.0.0.23', ".(int)$arr1[$rec1["user_id"]]["posts"].", '', ".(int)$user["email_notify"].", ".(int)$user["tz_offset"]." , NULL, NULL, NULL, NULL, NULL, 0, NULL, ".(int)$arr1[$rec1["user_id"]]["date_last_active"].", '0', ".(int)$arr1[$rec1["user_id"]]["show_signature"].", 1, 1, 1, NULL, NULL, NULL, NULL, NULL, NULL, NULL, ".(int)$arr1[$rec1["user_id"]]["date_last_active"].", ".(int)$arr1[$rec1["user_id"]]["date_last_active"].", ".(int)$user["is_dst"].", '-1&-1', 0, '0', '0', NULL, 0, '0&1', '', '', '', '".generate_auto_log_in_key()."', 0,0);";
mysql_query($qc);
echo mysql_error();
echo $qc."<br>";

}
}

}

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

  • 2 недели спустя...

А проблема конвертации phpbb 2.* в IPB 2.1.* ещё не решена?

Только через промежуточную конвертацию в 2.0.4?

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

  • 1 месяц спустя...

http://www.invisionboard.com/?convertors

http://www.invisionboard.com/download.cgi?...pid=conv_phpbb2

там теперь черте что. ни у кого конвертер не завалялся? с пхпбб2 на инвижин 2.1.0 ?

[1131065806:1131070074]нашли

http://www.invisionpower.com/ip.dynamic/pr...convertors.html

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

  • 2 недели спустя...

Я хотел купить русский IPB, но сначала решил попробовать конвертнуть из PhpBB 2.0.13 в IPB 2.1.3 на хостинге у своего друга. Но при конвертировании возникла проблема, может кто сталкивался с такой: количество постов, количество пользователей, форумы и их описания конвертятся нормально. Но вот топики... :-( Некоторые топики конвертнулись, некоторых вообще нет! В некоторых разделах всего один топик, хотя должно быть 10! И еще один баг - в некоторых топиках отображаются имена, а в некоторых нет. В общем я даже и не знаю, что теперь делать - покупать или нет. Вообще на форуме около 3000 сообщений, я думаю что это не очень много.

 

Может быть, мне подскажет кто-нибудь в чем может быть дело? Может кто сталкивался? Конвертер качал стандартный с официального сайта.

 

Заранее благодарю.

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

C этим разобрался. Но вот проблема - в топиках, да и вообще на всем форуме не пишется имя пользователя. Вместо него пустое место. Но вот в постах от анонимных пользователей все пишется. Этот глюк появляется при конвертировании из phpBB. Может кто-нибудь сталкивался? Как решили?
Ссылка на комментарий
Поделиться на других сайтах

Мда... уже не знаю что и сказать. Пофиксил предыдущий баг, появился еще один - при регистрации новых пользователей доступ в систему им запрещен :D Странный глюк. Точнее сначала он пишет "сейчас вы будете перемещены", а потом снова выкидывает обратно.
Ссылка на комментарий
Поделиться на других сайтах

Народ момогите плиз конвертнул я базу из Vbulletin 3.0.7 в IPB 2.0.3 КОнвертнулось вроде нормально , но проблема не я не юзеры не можем войти под своими логинами , что делать ?
Ссылка на комментарий
Поделиться на других сайтах

Вот у меня тоже похожая проблема. В таблице ibf_members есть такие поля legacy_password и member_login_key, последнее используется в последних версиях. legacy_password для совместимости. Только, как выяснилось, этот механизм не совсем правильно работает. Конвертирование, как оказалось, не такой очевидный процесс.
Ссылка на комментарий
Поделиться на других сайтах

Одним словом, как программист скажу - диагноз печален. При конвертировании из phpbb в ipb пришлось устранять несколько глюков, в т.ч. фиксить конвертер. И даже после фикса глюков все равно возникают различные проблемы. Форум постоянно выдает на экран какие-то ошибки, опросы так толком и не перенеслись, залогиниться юзерам вообще невозможно. Одним словом кг/ам.
Ссылка на комментарий
Поделиться на других сайтах

Проблема в том, что перед тем как начать конвертирование из форума phpbb в ipb конвертер показывает неправильные данные, т.е. кол-во тем, юзеров и тд. не совпадают с теми что есть на phpbb...

 

Как можно решить эту проблему???

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

Проблема в том, что перед тем как начать конвертирование из форума phpbb в ipb конвертер показывает неправильные данные, т.е. кол-во тем, юзеров и тд. не совпадают с теми что есть на phpbb...

 

Как можно решить эту проблему???

 

 

please! i need your help...

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

Проблеммка такая.. Был и есть форум №1 (IPB) Поставил форум №2 (лежит в другой папке, тоже IPB) Подключил к существующей базе. Всех разделов, тем, и постов в новом форуме естественно нету.. Как их увидеть в новом форуме? Ниразу не сталкивался с этой проблеммкой. :D
Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.
×
×
  • Создать...

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

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