📄 naboard20to3x.php
字号:
<?
//////////////////////////////////ready
include "connect.php";
include "lib.php";
include "header.inc";
//////////////////////////////////check
chk_level(1,0,"login.php?go=root.php");
chk_memo();
if(!$path20){$path20="../";}
$result = mysql_list_tables ("$connect_db");
$i=0;
$j=0;
while ($i < mysql_num_rows ($result)) {
$tb_names[$i] = mysql_tablename ($result, $i);
if(!eregi("na_com_",$tb_names[$i]) && !eregi("na_conf_",$tb_names[$i]) && eregi("na_",$tb_names[$i]) && !eregi("na_cat_",$tb_names[$i]))
{
$tb_names[$i] = str_replace( "na_", "",$tb_names[$i] );
$tables[$j] = $tb_names[$i];
$j++;
}
$i++;
}
?>
<script language=javascript>
function input_state(str){
convert.state.value=str;
}
function input_process(str){
convert.process.value=str;
}
function input_per(str){
convert.per.value=str;
}
function input_block(block_width){
document.block.width=block_width;
}
</script>
<link rel=StyleSheet HREF=style.css type=text/css title=style>
<table width=100%><tr><td valign=top><br><br>
<table align=center width=450 cellpadding=2 cellspacing=0 border=0 bgcolor=white>
<tr><td colspan=2 bgcolor=white><img src=image/logo.gif><br><br></td></tr>
<tr><td colspan=2 bgcolor=white>
<table width=100% cellpadding=0 cellspacing=0>
<tr>
<td><font color=#008CD6 size=4><b> <a href=root.php>管理页面</a>>n@board 转化工具</b></font></td>
<td align=right><?=$logout?> <?=$help?> <?=$memo_list?></td>
</tr></table>
</td></tr>
<tr><td colspan=2 height=3 bgcolor=#2CBBFF></td></tr>
<tr><td colspan=2 height=5></td></tr>
<form method=post action=<?echo $PHP_SELF;?> name=convert>
<input type=hidden name=check_submit value=1>
<tr>
<td style="padding:2;"><font size=3><b>n@board 2.x to 3.x 转化工具</b></font></td>
<td align=right><font size=2><b>> <a href=zero40to3x.php>zero4 到 n@board 3.x</a></b></font></td>
</tr>
<tr><td style="padding:2;" colspan=2><br>
这是个转化程序. 它会把n@board 2.x转化为n@board 3.x.<br>
即使被转化,数据列表2.x版本的依然保留的.
<br><br>
首先,输入你的n@board 2.x路径, <br>
接着,选择2.x版本的论坛转化 <br>
最后,为3.x版本的论坛命名,并且跟这点击转化按钮<br><br>
<tr><td colspan=2 style="padding:2;"><input type=text size=20 name=path20 value='<?=$path20?>' class=input> n@board 2.x 路径(ex: ../naboard20)<br>加入在同一目录,输入 ./</td></tr>
<tr><td colspan=2 style="padding:2;"><select name=from>
<?
$table_count=count($tables);
for($i=0;$i<$table_count;$i++){
if($bd==$tables[$i]){$selected="selected";}
else{$selected="";}
echo "<option value='$tables[$i]'>$tables[$i]</option>";
}
?>
</select> n@board 2.x 论坛转化 </td></tr>
<tr><td colspan=2 style="padding:2;"><input type=text size=10 name=to class=input> n@board 3.x 论坛命名为 </td></tr>
<tr><td colspan=2 style="padding:2;"><input type=submit value=转化 class=input><br><br></td></tr>
<tr><td colspan=2 style="padding:2;"><input type=text readonly name=state value="输入转化信息" size=60 class=input2> < state</td></tr>
<tr><td colspan=2 style="padding:2;"><input type=text readonly name=process value="Is not working" size=60 class=input2> < 进程</td></tr>
<tr><td colspan=2 style="padding:2;"><img src=image/block.gif width=320 height=12 name=block align=absmiddle> < <input type=text readonly name=per value="0" size=3 class=input2>%</td></tr>
<tr><td colspan=2 height=5></td></tr></form>
<tr><td colspan=2 height=3 bgcolor=#2CBBFF></td></tr>
<tr><td colspan=2 bgcolor=white><?=$copyright?></td></tr>
</table>
</td></tr></table>
<?
if(!$path20){$path20="../";}
if($check_submit){
if(!$path20){error($error.'输入n@board 2.x\\\原路径');}
if(!$to){error($error.'输入n@board 3.x\\\要命名的名');}
$path20=eregi_replace("/$","",$path20);
$fp = @fopen("${path20}/naboard.php3", "r");
if(!$fp){error($error.'错误的n@board 2.x\\\原始版本路径\\n 确认后再次输入');}
$new_board=trim($to);
chk_word($new_board,"&");
$tables=list_bd();
$total=count($tables);
for($i=0;$i<$total;$i++){
$board_name=str_replace("$board_table","",$tables[$i]);
if($board_name==$new_board){error($error.'现存论坛名称');}
}
echo"<script>input_state('开始转化. $from 到 $to');</script>";
echo"<script>input_process('正在建表.');</script>";
echo"<script>input_block(0);</script>";
$t=bd($new_board);
include"naboard_schema.php";
$input="delete from $cat_table$to";
mysql_query($input,$connect);
flush(stdout);
usleep(50000);
echo"<script>input_block(320);</script>";
echo"<script>input_per(100);</script>";
echo"<script>input_process('建立完整列表');</script>";
echo"<script>input_process('正在建立类别');</script>";
echo"<script>input_block(0);</script>";
$total=total("na_cat_$from","");$i=1;
$query="select * from na_cat_$from order by no";
$result=mysql_query($query,$connect);
while($data=mysql_fetch_array($result))
{
$input="insert into $cat_table$to (no,name) values ('$data[no]','$data[name]')";
mysql_query($input,$connect);
$width=round(($i/$total)*320);
$per=round(($i/$total)*100);
echo"<script>input_block($width);</script>";
echo"<script>input_per($per);</script>";
flush(stdout);
usleep(50000);
$i++;
}
flush(stdout);
usleep(50000);
echo"<script>input_block(320);</script>";
echo"<script>input_per(100);</script>";
echo"<script>input_process('完成类别创建');</script>";
echo"<script>input_process('正在提交注析');</script>";
echo"<script>input_block(0);</script>";
$total=total("na_com_$from","");$i=1;
$query="select * from na_com_$from";
$result=mysql_query($query,$connect);
while($data=mysql_fetch_array($result))
{
$input="insert into $com_table$to (no,name,memo,pass,date) values ('$data[no]','$data[comname]','$data[commemo]',password('$data[compass]'),'$data[date]')";
mysql_query($input,$connect);
$width=round(($i/$total)*320);
$per=round(($i/$total)*100);
echo"<script>input_block($width);</script>";
echo"<script>input_per($per);</script>";
flush(stdout);
usleep(50000);
$i++;
}
flush(stdout);
usleep(50000);
echo"<script>input_block(320);</script>";
echo"<script>input_per(100);</script>";
echo"<script>input_process('完成注析提交');</script>";
echo"<script>input_process('正在提交文章');</script>";
echo"<script>input_block(0);</script>";
$total=total("na_$from","");$i=1;
$query="select * from na_$from order by no";
$result=mysql_query($query,$connect);
while($data=mysql_fetch_array($result))
{
echo"<script>input_process('正在提交文章');</script>";
$attach_dir=time()."a".(double)microtime();
$attach2_dir=time()."b".(double)microtime();
$input="insert into $board_table$to values (
'$data[no]',
'',
'$data[name]',
'$data[memo]',
'$data[home]',
'$data[mail]',
'$data[title]',
'$data[date]',
'$data[hit]',
'password($data[passwd])',
'$data[ip]',
'$data[cat]',
'$data[abs]',
'$data[step]',
'$data[level]',
'$data[secret]',
'$data[html]',
'$data[remail]',
'$data[attach_name]',
'$data[attach_size]',
'$attach_dir',
'$data[attach_hit]',
'$data[attach_name2]',
'$data[attach_size2]',
'$attach2_dir',
'$data[attach_hit2]',
'$data[url]',
'$data[url_hit]',
'$data[link]',
'$data[link_hit]',
'',
''
)";
mysql_query($input,$connect);
$width=round(($i/$total)*320);
$per=round(($i/$total)*100);
echo"<script>input_block($width);</script>";
echo"<script>input_per($per);</script>";
if($data[attach_name]){
echo"<script>input_process('正在复制附件 1');</script>";
@mkdir("file/$attach_dir",0777);
@copy("$path20/file/$data[attach_dir]/$data[attach_name]","file/$attach_dir/$data[attach_name]");
}
if($data[attach_name2]){
echo"<script>input_process('正在复制附件 2');</script>";
@mkdir("file/$attach2_dir",0777);
@copy("$path20/file/$data[attach_dir2]/$data[attach_name2]","file/$attach2_dir/$data[attach_name2]");
}
flush(stdout);
usleep(50000);
$i++;
}
flush(stdout);
usleep(50000);
echo"<script>input_state('完成转化 $from 到 $to');</script>";
echo"<script>input_process('');</script>";
}//check
mysql_close($connect);
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -