Klia Опубликовано 27 Марта 2005 Жалоба Поделиться Опубликовано 27 Марта 2005 дело было вечером, делать было нечего тут не реализована поддержка нескольких аватаров( Mod_avatar - берется установленный по умолчанию аватар, если по умолчанию аватара нет - он не показывается, даже если массив avatars не пуст), не реализована поддержка голосований( mod_poll ) после запуска скрипта не забудьте обновить кэш форума и группы.. и перестроить форум в админке <META HTTP-EQUIV="Charset" CONTENT="windows-1251"><? 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 = "rroll";$db_pwd = "rrP123";$db_name = "fru";iconv_set_encoding("internal_encoding", "UTF-8");iconv_set_encoding("output_encoding", "ISO-8859-1");$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);#echo $qry."<br>"; while ($row = mysql_fetch_array($result)){$title=iconv("UTF-8","Latin1",$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);#echo $qry."<br>"; while ($row = mysql_fetch_array($result)){echo $id=$row['forum_id'];echo "<Br>";echo $name=iconv("UTF-8","Latin1",$row['name']);echo "<Br>";echo $desc=iconv("UTF-8","Latin1",$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);#echo $qur."<br>";echo mysql_error();echo $id."<br>"; $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="html/forum/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("html/forum/uploads/av-".$ra['user_id'].".".strtolower($ext[(count($ext)-1)]))){$upload="html/forum/uploads/av-".$ra['user_id'].".".strtolower($ext[(count($ext)-1)]);$av=0;}else{$upload="html/forum/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=iconv("UTF-8","Latin1",$ra['filename']);$up=iconv("UTF-8","Latin1",basename($upload));#echo "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.", '".$ext[$exten]."'"."<br>";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);}#echo $q."<br>";$hasattach[$ra['message_id']]=1;} $sql="select * from phorum_messages;";$result1 = mysql_query($sql);echo mysql_error();#echo $sql."<br>"; 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"]);#echo $id=$row['forum_id'];#if ((!stristr($arr[$rec["message_id"]]['subject'],"Re:")) and (!stristr($arr[$rec["message_id"]]['subject'],"Re2:"))) #{$subject[]=iconv("UTF-8","Latin1",$arr[$rec["message_id"]]['subject']);$author=$arr[$rec["message_id"]]['author'];#echo "INSERT INTO `ibf_topics` VALUES (".$row1['thread'].", '".iconv("UTF-8","Latin1",$row1['subject'])."', '', 'open', ".$row['thread_count'].", ".$row[''].", 1069075118, 1, 1069075118, 0, '".$author."', 'Invision Power Board Team', '0', 0, 1, 2, 1, 0, 0, NULL, NULL, 0, 0, 1, 0);";$meta=$arr[$rec["message_id"]]["meta"];echo "<p>";if ($arr[$rec["message_id"]]["message_id"]=="2106"){print_r($meta["mod_poll"])."<br>";}#echo "<br>INSERT INTO `ibf_topics` VALUES (".$arr[$rec["message_id"]]['thread'].", '".iconv("UTF-8","Latin1",$arr[$rec["message_id"]]['subject'])."', '', 'open', ".$arr[$rec["message_id"]]['thread_count'].", ".$arr[$rec["message_id"]]['user_id'].", 1069075118, ".$meta['recent_post']['user_id'].", 1069075118, 0, '".$arr[$rec["message_id"]]['author']."', '".$meta['recent_post']['author']."', 0, 0, 0, ".((int)$rec['forum_id']).", 1, 0, 0, NULL, NULL, 0, 0, 1, 0);";if ($arr[$rec["message_id"]]['sort']==1) $pinned=1;else$pinned=0;$qq="REPLACE INTO `ibf_topics` VALUES (".$arr[$rec["message_id"]]['thread'].", '".iconv("UTF-8","Latin1",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, '".iconv("UTF-8","Latin1",addslashes($arr[$rec["message_id"]]['author']))."', '".iconv("UTF-8","Latin1",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>";#echo $qq."<Br>";if(!empty($meta['message_ids'])){foreach ($meta['message_ids'] as $msg_id => $msg_val){#$qq1="REPLACE INTO `ibf_posts` VALUES (".$arr[$rec["message_id"]]['message_id'].", 0,".(int)$meta['edit_date'].",".(int)$arr[$rec["message_id"]]['user_id'].", '".iconv("UTF-8","Latin1",addslashes($arr[$rec["message_id"]]['author']))."', 1,1,'".$arr[$rec["message_id"]]['ip']."',".(int)$arr[$rec["message_id"]]['datestamp'].", 0, '".iconv("UTF-8","Latin1",addslashes(htmlspecialchars($arr[$rec["message_id"]]['body'])))."', 0, ".(int)$arr[$rec["message_id"]]['thread'].",'".addslashes($arr[$rec["message_id"]]['post_title'])."',0,'".addslashes($meta['edit_username'])."',0,".(int)$arr[$rec["message_id"]]['parent_id'].",0);";$qq1="REPLACE INTO `ibf_posts` VALUES (".$msg_val.", 0,".(int)$meta['edit_date'].",".(int)$arr[$msg_val]['user_id'].", '".iconv("UTF-8","Latin1",addslashes($arr[$msg_val]['author']))."', 1,1,'".gethostbyname($arr[$msg_val]['ip'])."',".(int)$arr[$msg_val]['datestamp'].", 0, '".iconv("UTF-8","Latin1",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>";#echo $qq1."<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']); #echo $arr1[$rec1["user_id"]]["user_id"]."<br>"; #if (($arr1[$rec1["user_id"]]["user_id"])!=1)#{#echo $userid;$salt = generate_password_salt(5);$salt = str_replace( '\\', "\\\\", $salt );echo "<pre>";#print_r($arr1[$rec1["user_id"]]);$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 "REPLACE INTO `ibf_member_extra` VALUES (".(int)$arr1[$rec1["user_id"]]["user_id"].", NULL, NULL, NULL, NULL, '', '', '', '', 0, '', '', '', '', '', '', '".iconv("UTF-8","Latin1",addslashes($arr1[$rec1["user_id"]]["signature"]))."', '".$avs[$user['mod_avatar']['default_avatar']]['filename']."', '', 'local');";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, '', '', '', '', '', '', '".iconv("UTF-8","Latin1",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, '', '', '', '', '', '', '".iconv("UTF-8","Latin1",addslashes($arr1[$rec1["user_id"]]["signature"]))."', '".$avs[$ava[0]]['filename']."', '".$avs[$ava[0]]['size']."', '".$tye."');";}mysql_query($qme);echo $qme."<Br>";#echo "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"].", '".$arr1[$rec1["user_id"]]["password"]."', '');<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"].", '".iconv("UTF-8","Latin1",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);";mysql_query($qc);echo $qc."<br>"; #} }} } echo "<pre>";#print_r($arr1);#echo "Subjects";#print_r($subject);#echo "Posts";#print_r($posts);#print_r($avs);echo "</pre>"; ?> Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
sM1Le Опубликовано 27 Марта 2005 Жалоба Поделиться Опубликовано 27 Марта 2005 Хм-м....Klia, если Вы написали модификацию (как я пологаю), то её нужно было разместить вот тут: Моды Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
soko1 Опубликовано 8 Марта 2008 Жалоба Поделиться Опубликовано 8 Марта 2008 Klia, прошу прощения, но не могли бы вы помочь мне? Дело в том что код без комментариев и очень сложно вот так с ходу определить что там делается=) Насколько я понял в $db_host, $db_name, ... я должен вписать данные о базе где у меня лежат данные к phorum'у, так? А где тогда будет конечный вариант лежать сконвертированной базы??БлагоДарю. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.