📄 install.php
字号:
<?
//-----------------------------------------------------------
// Blue Magic Board 蓝色魔法论坛 BMB 安装程序 Installer
//-----------------------------------------------------------
// 获取最新升级资讯: http://down.bmforum.com
// 版权所有 (C) 未经允许不得删除版权信息
// 官方站点: http://www.bmforum.com
//-----------------------------------------------------------
$register_globals = @get_cfg_var("register_globals");
if ($register_globals!=1) {
@extract($HTTP_SERVER_VARS, EXTR_SKIP);
@extract($HTTP_COOKIE_VARS, EXTR_SKIP);
@extract($HTTP_SESSION_VARS, EXTR_SKIP);
@extract($HTTP_POST_FILES, EXTR_SKIP);
@extract($HTTP_POST_VARS, EXTR_SKIP);
@extract($HTTP_GET_VARS, EXTR_SKIP);
@extract($HTTP_ENV_VARS, EXTR_SKIP);
}
error_reporting(E_ERROR | E_WARNING | E_PARSE);
?>
<html><head><title>BMForum 免检验安装程序</title>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<style type="text/css">
.t {font-family: Verdana, Arial, Sans-serif;font-size : 12px;padding-left: 10px;font-weight: normal;line-height: 150%;color : #333366;}
.e {font-family: Arial, Sans-serif;font-size : 12px;font-weight: normal;line-height: 200%;color : #0000EE;}
.w {font-family: Arial, Sans-serif;font-size : 12px;font-weight: normal;line-height: 200%;color : #EE0000;}
.h {font-family: Arial, Sans-serif;padding-top: 5px;padding-left: 10px;font-size : 20px;font-weight: bold;color : #000000;}
.i {font-family: Arial, Sans-serif;padding-top: 5px;padding-left: 10px;font-size : 14px;font-weight: bold;color : #000000;}
table {width : 80%;align : center;vertical-align: top;background-color: #e8f4ff;}
input {font-family : "Courier New", Courier, monospace;width : 95%;border-top :#000000 solid thin;border-bottom:#000000 solid thin;border-left :#000000 solid thin;border-right :#000000 solid thin;background-color: #EEEEEE;}
</style>
<body bgcolor=#f2f8ff leftmargin=0 topmargin=10 marginwidth="0" marginheight="0">
<table cellspacing=0 cellpadding=0 align=center bgcolor=#99ccff border=0>
<form action=install.php method=post>
<tr>
<td class=h valign=top align=left colspan=2><span
style="COLOR: #cc0000">>></span> Blue Magic 论坛免检验安装向导
<hr color=#000000 noShade size=1>
</td></tr>
<tr>
<td class='t' valign='top' align='left' colspan='2'>
欢迎来到 BMB 安装程序. 请确定您在运行本程序前已经<b>仔细阅读安装说明</b>. <Br>请您仔细检查您输入的信息,以免安装后出现问题.
<hr noshade size=1 color='#000000'><b>注意:</b>
<br>
<span class='e'>此种状况表示状态正确.</span>
<br>
<span class='w'>此种状况表示状态发生错误.</span><hr noshade size=1 color='#000000'>
</td>
</tr>
<?
if (!$step) {
$check=1;
$filestocheck=array(
'install.php');
$count=count($filestocheck);
echo "
<INPUT type=hidden value=2 name=step>
<TR><td class='i' colspan='2' align='left'>
<span style='color:#CC0000'>></span>检查程序组件完整</td></tr>
<tr><td class='t' colspan='2' align='left'>";
$correct='<font class=e>OK</font>';
$incorrect='<font class=w>不行,检测不通过</font>';
for ($i=0; $i<$count; $i++) {
echo "$filestocheck[$i] ....... ";
if (file_exists($filestocheck[$i])) echo $correct;
else { echo $incorrect; $check=0; }
echo "<br>";
}
echo "</TD></TR>";
if ($check) {
$writeablefiletocheck=array(
'datafile');
echo "
<TR><td class='i' colspan='2' align='left'>
<span style='color:#CC0000'>></span>检查必要目录和文件是否可写入,如果发生错误,请更改文件/目录属性</td></tr>
<tr><td colspan=2 align=left class='t'>";
echo "讨论区根目录 ....... ";
if ($fp=fopen('test.test',"w")) {echo $correct; fclose($fp);}
else { echo $incorrect; $check=0; }
echo "<br>";
$count=count($writeablefiletocheck);
for ($i=0; $i<$count; $i++) {
echo "$writeablefiletocheck[$i] ....... ";
if (is_writable($writeablefiletocheck[$i])) echo $correct;
else { echo $incorrect; $check=0; }
echo "<br>";
}
echo "</TD></TR>";
}
if ($check) {
unlink('test.test');
echo '
<TR><td class="i" colspan=2 align=left>
<span style="color:#CC0000">></span>检查完成,请填写您的用户目录名(如果此目录不存在,程序将尝试建立)</td></tr>
<tr>
<td class=t align=left width="40%"><span style="color:#CC0000">></span>您所指定的用户目录</td>
<td class=t align=left width="60%"><INPUT name=userdir></td></tr>
<tr><TD align=left class=t align=middle colSpan=2>这个目录将储存所有的用户信息,请注意目录名应当不容易被猜出。如果让程序自行建立,可以填写一个简单名称,比如 "UserDir_98653"。如果手工建立在其他目录,请填写完整绝对路径,比如 "/home/myaccount/user_dir"(Unix/Linux) 或者 "c:/user_dir"(NT)<br>
注意:如果您将此目录建立在其他目录比如WEB目录外或者CGI目录内以取得更高安全性,程序无法自动建立。请您手动先建立好并设定其属性至 777</TD></TR>
<TR><td class="i" colspan=2 align=left>
<span style="color:#CC0000">></span>请填写您的贴子存放目录名(与用户目录不同的是要在贴子目录后面加"/")</td></tr>
<tr>
<td class=t align=left width="40%"><span style="color:#CC0000">></span>您所指定的贴子目录</td>
<td class=t align=left width="60%"><INPUT name=forumdir></td></tr>
<tr><TD align=left class=t align=middle colSpan=2>这个目录将储存所有的贴子信息,请注意目录名应当不容易被猜出。如果让程序自行建立,可以填写一个简单名称,比如 "ForumDir_98653"。如果手工建立在其他目录,请填写完整绝对路径,比如 "/home/myaccount/forum_dir/"(Unix/Linux) 或者 "c:/forum_dir/"(NT)<br>
注意:如果您将此目录建立在其他目录比如WEB目录外或者CGI目录内以取得更高安全性,程序无法自动建立。请您手动先建立好并设定其属性至 777</TD></TR>
<tr><TD class=i align=middle colSpan=2><INPUT style="WIDTH: 50%; FONT-FAMILY: Verdana" type=submit value="下一步"></TD></TR>';
}
}elseif ($step==2) {
$check=1;
echo '
<INPUT type=hidden value=3 name=step>
<TR><td class="i" colspan=2 align=left>
<span style="color:#CC0000">></span>检查用户目录</td></tr>';
if (!$userdir) {
echo '<tr><TD align=left class=w align=middle colSpan=2>您没有指定目录,请返回</TD></TR>';
$check=0;
}
if ($check && !file_exists($userdir) && !mkdir("$userdir", 0777)) {
echo '<tr><TD align=left class=w align=middle colSpan=2>您没有建立该目录,程序尝试建立失败</TD></TR>';
$check=0;
}
if ($check && !is_dir($userdir)) {
echo '<tr><TD align=left class=w align=middle colSpan=2>您所指定的目录是一个文件名,请返回</TD></TR>';
$check=0;
}
if ($check && !is_writable($userdir)) {
echo '<tr><TD align=left class=w align=middle colSpan=2>您所指定的目录无法被写入,请更改属性</TD></TR>';
$check=0;
}
echo '
<INPUT type=hidden value=3 name=step>
<TR><td class="i" colspan=2 align=left>
<span style="color:#CC0000">></span>检查贴子目录</td></tr>';
if (!$forumdir) {
echo '<tr><TD align=left class=w align=middle colSpan=2>您没有指定目录,请返回</TD></TR>';
$check=0;
}
if ($check && !file_exists($forumdir) && !mkdir("$forumdir", 0777)) {
echo '<tr><TD align=left class=w align=middle colSpan=2>您没有建立该目录,程序尝试建立失败</TD></TR>';
$check=0;
}
if ($check && !is_dir($forumdir)) {
echo '<tr><TD align=left class=w align=middle colSpan=2>您所指定的目录是一个文件名,请返回</TD></TR>';
$check=0;
}
if ($check && !is_writable($forumdir)) {
echo '<tr><TD align=left class=w align=middle colSpan=2>您所指定的目录无法被写入,请更改属性</TD></TR>';
$check=0;
}
if ($check) {
writetofile('datafile/idpath.php',"<? \$idpath='$forumdir';");
writetofile('datafile/idunique.php',"<? \$id_unique='$userdir';");
echo '<tr><TD align=left class=e align=middle colSpan=2>用户和贴子目录检测完毕,信息已经记录</TD></TR>';
echo "<tr>
<td class='i' colspan='2' align='left'><span style='color:#CC0000'>></span>建立超级用户帐号<br> </td>
</tr><tr>
<td class='t' align='left' width='40%'> 请输入您的用户名</td>
<td class='t' align='left' width='60%'><input type='text' name='MEMBER_NAME'></td>
</tr><tr>
<td class='t' align='left' width='40%'> 请输入您的密码</td>
<td class='t' align='left' width='60%'><input type='text' name='MEMBER_PASS'></td>
</tr><tr>
<td class='t' align='left' width='40%'> 请重复输入密码</td>
<td class='t' align='left' width='60%'><input type='text' name='MEMBER_PASS_TWO'></td>
</tr><tr>
<td class='t' align='left' width='40%'> 您的EMAIL 地址</td>
<td class='t' align='left' width='60%'><input type='text' name='EMAIL'></td>
</tr><tr>
<td class='t' align='left' width='40%'> 重复输入您的EMAIL 地址</td>
<td class='t' align='left' width='60%'><input type='text' name='EMAIL_TWO'></td>
</tr><tr>
<td class='i' colspan='2' align='center'><INPUT type=hidden value='$userdir' name=userdir><INPUT type=hidden value='$forumdir' name=forumdir><input type='submit' value='下一步' style='font-family:Verdana;width:50%'></td>
<tr>";
} else echo "
</tr><tr>
<td class='i' colspan='2' align='center'><input onclick='history.go(-1)' type='button' value='发生错误,点击这里返回' style='font-family:Verdana;width:50%'></td>
<tr>";
}elseif ($step==3) {
$check=1;
echo '<TR><td class="i" colspan=2 align=left>
<span style="color:#CC0000">></span>最后:检查输入资料并写入</td></tr>';
if ($MEMBER_PASS != $MEMBER_PASS_TWO) {
echo '<tr><TD align=left class=w align=middle colSpan=2>您所输入的2个密码不一致</TD></TR>';
$check=0;
}
if ($EMAIL != $EMAIL_TWO) {
echo '<tr><TD align=left class=w align=middle colSpan=2>您所输入的2个EMAIL不一致</TD></TR>';
$check=0;
}
if ($check) {
writetofile('datafile/superadmin.php',"<? \$admin_name='$MEMBER_NAME'; \$admin_password='$MEMBER_PASS';");
writetofile("$userdir/$MEMBER_NAME","$MEMBER_NAME|$MEMBER_PASS||$EMAIL||".time()."|||||||0||none||||0|||||||||||||");
$newuserfile = "datafile/newuser.php";
if (file_exists($newuserfile)) $newuserinfo=readfromfile($newuserfile);
else $newuserinfo="|0|0";
$newuser_info=explode("|",$newuserinfo);
$newuser_info[1]++;
$newuser_info[0]=$MEMBER_NAME;
writetofile($newuserfile,$newuser_info[0]."|".$newuser_info[1]."|".$newuser_info[2]);
writetofile('datafile/userlist.php',$MEMBER_NAME."\n",'a');
echo '<tr><TD align=left class=e align=middle colSpan=2>OK,超级用户资料已经写入并已经注册成功</TD></TR>';
echo "<tr><td class='i' colspan='2' align='left'><span style='color:#CC0000'>></span>您的BMB已经成功安装<br> </td>
</tr><tr>
<td class='t' align='left' width='40%'> 你的帐户信息:</td>
<td class='t' align='left' width='60%'><b>Name</b>: $MEMBER_NAME <br><b>Password: $MEMBER_PASS </b></td>
</tr><tr><td class='i' colspan='2' align='left'>
<span style='color:#CC0000'>></span><a href='adminindex.php'>现在就进入管理面板,设置您的详细资料并创建版块</a></td></tr>";
if (!unlink('install.php'))
echo '<tr><TD align=left class=e align=middle colSpan=2>请记住用FTP删除本安装程序</TD></TR>';
}else echo "
</tr><tr>
<td class='i' colspan='2' align='center'><input onclick='history.go(-1)' type='button' value='发生错误,点击这里返回' style='font-family:Verdana;width:50%'></td>
<tr>";
}
?>
</form></table></body></html>
<?
function writetofile($file_name,$data,$method="w") {
$filenum=fopen($file_name,$method);
flock($filenum,LOCK_EX);
$file_data=fwrite($filenum,$data);
fclose($filenum);
return $file_data;
}
function readfromfile ($path) {
// returns all data in $path, or nothing if it does not exist
if(file_exists($path)==0) {
return "";
} else {
$filesize=filesize($path);
$filenum=fopen($path,"r");
flock($filenum,LOCK_SH);
$filestuff=fread($filenum,$filesize);
fclose($filenum);
return $filestuff;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -