📄 admin.php
字号:
}
$setting[30]*=60;
$filecontent="<?
require('bbsdata/config.php');
\$time_1 = $setting[1];
";
writetofile("bbsdata/time.php",$filecontent);
print <<<EOT
$admintopad
<tr>
<td bgcolor=#e8f4ff valign=middle colspan=2>
<center><b>所有信息已经被成功保存。</b></center>
</td></tr></table></body></html>
EOT;
exit;
}
if($adminjob==addadmin)
{
require("bbsdata/config.php");
$thisprog="admin.php?adminjob=addadmin";
if(file_exists("userdata/admin/$username.php"))
{
$checkpower=checkpower($username,$password);
if($checkpower !=1) {
print "$admintopad<br><td bgcolor=#e8f4ff colspan=3>权限错误 ,你不是超级管理员,只有论坛的创始者才拥有此权限! </td></tr></td></tr></table></body></html>";
exit;}
}
print "$admintopad
";
if (empty($action)) {
$user_info='';
$dh=opendir("userdata/admin/");
while ($userfile=readdir($dh)) {
if (($userfile!=".") && ($userfile!="..") && ($userfile!="") && strpos($userfile,".php")) {
$useri=explode("|",readfromfile("userdata/admin/$userfile"));
unset($powe);unset($powe1);
if($useri[3]==1) $powe='selected'; else $powe1='selected';
$user_info.="
<tr>
<form action=$thisprog method=POST><input type=hidden name=action value='edit'>
<input type=hidden name=oldname value=\"$useri[1]\">
<td height=26 width=25% align=center>
<input type=text name=\"name\" size=12 value=\"$useri[1]\"></td>
<td height=26 width=25% align=center>
<input type=text name=\"usrpwds\" size=12 value=\"$useri[2]\"></td>
<td height=26 width=25% align=center>
<select name=\"usrpower\"><option value=0 $powe1>普通管理员</option><option value=1 $powe>超级管理员</option></select></td>
<td height=26 width=25% align=center>
<b><input type=\"submit\" name=\"Submit\" value=\"修改\"> <input type=button value=\"删除\" onClick=\"location.href='$thisprog&action=del&name=$useri[1]'\" ></b></td></form>
</tr>
";
}
}
closedir($dh);
print <<<EOT
<tr><td bgcolor=#e8f4ff colspan=3>
<form action="$thisprog" method=POST><input type=hidden name="action" value="addnew">
$tab_top
<b>1.新增管理员:</b></td></tr>
<tr><td bgcolor=#f2f8ff>
<input type=text name="name" size=12> 密码:<input type=text name="usrpwd" size=12> 权限:<select name="usrpower"><option value=0>普通管理员</option><option value=1>超级管理员</option></select>
<input type=submit value="提 交">
$tab_bottom</form>
$tab_top
<b>2.管理员资料修改:</b>(密码留空无效,仍旧是原来的密码)</td></tr>
<tr><td bgcolor=#f2f8ff>
<div align="center">
<center>
<table width=100% border="0" cellspacing="0" cellpadding="0" >
<tr>
<td height="26" width="25%"align="center">
<b>用户名</b></td>
<td height="26" width="25%" align="center">
<b>密码</b></td>
<td height="26" width="25%" align="center">
<b>权限</b></td>
<td height="26" width="25%" align="center">
<b>操作</b></td>
</tr>
$user_info
</table>
</center>
</div>
$tab_bottom
<br>
$tab_top
<b>3.注意</b></td></tr>
<tr><td bgcolor=#f2f8ff>
超级管理员可以进行所有功能的操作,
普通管理员无法添加修改用户与权限。<br>考虑到论坛的安全性,论坛创始人不在此列,所以论坛创始人是不能删除与修改的,请放心!<br>
超级管理员与论坛创始人拥有一模一样的权限,请慎重,而普通管理员只是后台无添加管理员的权限!前台都是相同的!
$tab_bottom
</td></tr></td></tr>$adminbottomad</table></body></html>
EOT;
exit;
}elseif ($action=="edit") {
print "<tr><td bgcolor=#99ccff valign=middle align=center colspan=2><b>修改用户</b></td></tr>
<tr><td bgcolor=#e8f4ff colspan=2>";
if(file_exists("userdata/admin/".$oldname.".php")){$useri=explode("|",readfromfile("userdata/admin/$oldname.php"));
if($usrpwds=="")$addpwd=$useri[2];
else
$addpwd=$usrpwds;
if ($name==$oldname) {
$user_info="$useri[0]|$useri[1]|$addpwd|$usrpower|$useri[4]|";
writetofile("userdata/admin/".$name.".php",$user_info);}
else{
$user_info="$useri[0]|$name|$addpwd|$usrpower|$useri[4]|";
if(file_exists("$userpath/$name.php"))
writetofile("userdata/admin/".$name.".php",$user_info);
else {echo "<br><br>发生错误,管理员必须是论坛注册用户<b></b><br><br><br><a href=$thisprog>返回执行其他动作</a>";exit;}
if(file_exists("userdata/admin/".$oldname.".php")) unlink("userdata/admin/".$oldname.".php");
}
echo "<br><br>成功修改<b></b><br>";
}else{echo"有错误发生";}
}elseif ($action=="addnew") {
print "<tr><td bgcolor=#99ccff valign=middle align=center colspan=2><b>新用户</b></td></tr>
<tr><td bgcolor=#e8f4ff colspan=2>";
$name=str_replace("\t","",$name);
$name=str_replace("\r","",$name);
$name=str_replace("\n","",$name);
$name=kick_out($name);
$date_reg=$timestamp;
$addpwd=$usrpwd;
$user_info="<?echo\"想看密码?没那么容易!!\";exit;?>|$name|$addpwd|$usrpower|$login_time|";
if(file_exists("$userpath/$name.php")){
writetofile("userdata/admin/".$name.".php",$user_info);
echo "<br><br>成功添加管理员 $name<b></b><br>";
}
else echo "<br><br>发生错误,管理员必须是论坛注册用户<b></b><br>";
}elseif ($action=="del") {
print "<tr><td bgcolor=#99ccff valign=middle align=center colspan=2><b>删除用户</b></td></tr>
<tr><td bgcolor=#e8f4ff colspan=2>";
if(file_exists("userdata/admin/$name.php")) unlink("userdata/admin/$name.php");
echo "<br><br>成功删除<b></b><br>";
}
print "<br><b> 操作完成</b><br><br> >> <a href=$thisprog>返回执行其他动作</a></td></tr>$adminbottomad</table></body></html>";
exit;
}
if($adminjob==sendmsg)
{
$thisprog="admin.php?adminjob=sendmsg";
include("bbsdata/config.php");
$timestamp = time();
$idm_unique=$userpath;
if ($action!="send") {
print <<<EOT
$admintopad
<tr>
<td bgcolor=#e8f4ff valign=middle align=center colspan=2>
<font color=#333333><b>短消息 群发</b>
</td></tr>
<form action="$thisprog" method="post">
<input type=hidden name="action" value="process">
<tr>
<td bgcolor=#f2f8ff valign=middle colspan=2>
$tab_top
<b>功能说明:</b></td></tr>
<tr><td bgcolor=#f2f8ff>
<font color=#000000>如非必要,请不要利用本程序乱发群体短消息,不然你被人暴K可别找我啊~~<br>
PS: 使用本程序前,确定用户列表已经存在(已经使用过统计用户数目/用户列表功能)
$tab_bottom
</td>
</tr>
<tr bgcolor="#f2f8ff" valign=middle>
<td width="20%" align=right><b>每批发送个数:</b></td>
<td width="80%"><input type="text" value=100 name="pertime"></td>
</tr>
<tr bgcolor="#f2f8ff" valign=middle>
<td width="20%" align=right><b>主题:</b></td>
<td width="80%"><input type="text" name="subject"></td>
</tr>
<tr bgcolor="#f2f8ff" valign=top>
<td align=right><b>内容:</b></td>
<td><textarea size=20 name="text" cols="60" rows="10">你好,欢迎光临流星论坛,请记住本站域名http://www.ofstar.com/bbs \$username</textarea></td>
</tr>
<tr>
<td bgcolor=#f2f8ff valign=middle colspan=2>
$tab_top
<b>变量使用说明:</b></td></tr>
<tr><td bgcolor=#f2f8ff>
<b>你可以在内容中使用 \$username , \$password , \$email 三个变量</b><br>
\$username代表用户名 \$password代表用户密码 \$email代表用户email
$tab_bottom
</td>
</tr>
<tr>
<td colspan="2" align="center" width="100%" bgcolor=#f2f8ff>
<SELECT name="sendto" style="HEIGHT: 22px; WIDTH: 148px">
<OPTION selected value="members">所有注册用户</OPTION>
<OPTION value="moderators">论坛所有版主</OPTION>
</SELECT>
<input type=hidden name="action" value="send">
<input type="submit" value="提 交"> <input type="reset" value="重 置">
</td>
</tr>
</form>
$adminbottomad
</table></td></tr></table>
</td></tr></table></body></html>
EOT;
exit;
}
elseif ($action=="send") {
print "$admintopad";
if (empty($subject) || empty($text)) {
print <<<EOT
<tr>
<td bgcolor=#e8f4ff valign=middle colspan=2>
<center><b>请填入完整信息,主题和内容不能为空!!</b></center><br><br>
<br><br><br><center><b><a href='javascript:history.go(-1)'>返回修改</a></b></center>
</td></tr></table></body></html>
EOT;
exit;
}
if (empty($pertime)) $pertime=100;
if (empty($step)) $step=1;
if (empty($sendto)) $sendto='members';
if ($sendto=='members') $userlist=file('bbsdata/userlist.php');
elseif ($sendto=='moderators') {
if (file_exists('bbsdata/admin.php')) {
$adminlist=file('bbsdata/admin.php');
$count=count($adminlist);
for ($i=0; $i<$count; $i++) {
$detail=explode("|", trim($adminlist[$i]));
$userlist[]=$detail[1];
}
}
$userlist = array_unique ($userlist);
}
$count=count($userlist);
if ($count>($step*$pertime)) {$lastpage=0; $max=$step*$pertime;}
else {$lastpage=1; $max=$count; }
$min=($step-1)*$pertime;
for ($i=$min; $i<$max; $i++) {
unset($msg);
$usertosend=trim($userlist[$i]);
$memberfile=$userpath."/".$usertosend."."."php";
list($fb,$currentusername,$currentpassword,$usericon,$currentuseremail,$nouse) = explode("|",readfromfile($memberfile));
if($usertosend && file_exists($memberfile)){
if (file_exists("userdata/$msgpath/{$usertosend}1.php")) $msg=file("userdata/$msgpath/{$usertosend}1.php"); else $msg[0]="";
$subject=stripslashes(safe_convert($subject));
$sendmessage=$text;
$sendmessage=stripslashes(safe_convert($sendmessage));
$sendmessage=str_replace("\$email",$currentuseremail,$sendmessage);
$sendmessage=str_replace("\$username",$currentusername,$sendmessage);
$sendmessage=str_replace("\$password",$currentpassword,$sendmessage);
$new="<?die;?>|系统信息|".$subject."|".$timestamp."|".$sendmessage."|0|\n";
$oldcount=count($msg);
$old=implode("",$msg);
writetofile("userdata/$msgpath/{$usertosend}1.php",$new.$old);}
}
$step++;
if ($lastpage) echo "
<tr>
<td bgcolor=#f2f8ff colspan=2>
<center><b>发送成功</b></center>
</td>
</tr>
<tr bgcolor=#f2f8ff>
<td colspan=2>
<br><br><br>
一共发送了 $count 个用户
</td></tr></table></body></html>";
else print <<<EOT
<tr>
<td bgcolor=#f2f8ff colspan=2>
<center><b>正在发送</b></center>
</td>
</tr>
<form action="$thisprog" method=POST>
<tr bgcolor=#f2f8ff>
<td colspan=2>
<input type=hidden name=step value="$step">
<input type=hidden name=text value="$text">
<input type=hidden name=pertime value="$pertime">
<input type=hidden name=subject value="$subject">
<input type=hidden name=sendto value="$sendto">
<input type=hidden name=action value="send">
一共要发送 $count 个用户,目前已经发送了 $i 个用户<br><br><br>
<input type=submit value="点击这里进行下一批用户的短消息发送">
</td></tr></form></table></body></html>
EOT;
exit;
}
}
if($adminjob==userback)
{
$thisprog="admin.php?adminjob=userback";
require("bbsdata/config.php");
print "$admintopad";
if (empty($action)) {
print <<<EOT
<tr>
<td bgcolor=#e8f4ff align=center colspan=2>
<b>请选择动作</b>
</td>
</tr>
<tr>
<td bgcolor=#f2f8ff colspan=2><br> $tab_top
<b>声明</b></td></tr>
<tr><td bgcolor=#f2f8ff>
本程式使得文本用户数据可以象数据库一样方便的管理。<br>导出时不会在本地生成文件造成安全问题和还要FTP的麻烦,<br>在导入恢复时又不会破坏现有增加数据。
$tab_bottom <br><br>
$tab_top
<b><a onfocus=this.blur() href="job.php?duserjob=dump">导出用户数据库</a></b></td></tr>
<tr><td bgcolor=#f2f8ff>
可以防止用户数据破坏,也可以方便转移用户库数据。<br>
<br>>><a onfocus=this.blur() href="job.php?duserjob=dump">点击这里生成并下载用户数据包</a>
$tab_bottom
<br><br>
<form method="post" action="$thisprog" enctype="multipart/form-data">
$tab_top
<b>还原用户数据库</b></td></tr>
<tr><td bgcolor=#f2f8ff>
转移用户库数据后,或者用户数据被破坏,就可以使用此功能把导入原有的用户库数据。<BR>
注意:不同于 LeoBoard,这种导入<b>不会</b>影响导出后新注册的数据<BR><BR>
<input type="file" name="user_file"> <input type="submit" value="提 交"><br>
<input type=hidden name="action" value="restore">遇到相同名称用户:
<input type="radio" name="cover" checked value="no">跳过
<input type="radio" name="cover" value="yes">覆盖
$tab_bottom
</form>
</td>
</tr>
</td></tr>$adminbottomad</table></body></html>
EOT;
exit;
} else {
$check=1;
if(empty($user_file) || $user_file == "none" || !ereg("^php[0-9A-Za-z_.-]+$", basename($user_file))) {$check=0; $reason="请选择文件并导入"; }
if ($check==1 && !ereg("(\.ftb)$",$user_file_name)) { $check=0; $reason="请确定导入文件是由ftb管理程序生成"; }
if ($check==1) {
if ($cover!="yes") $cover="no";
$user_jump=file($user_file);
$count=count($user_jump);
$subcover=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -