<?

$thisprog="setuser.php";
require("adminglobal.php");
include("datafile/config.php");

print <<<EOT
	<tr><td bgcolor=#80809b colspan=2><font color=#FFFFFF>
	<b>欢迎来到讨论区管理程式 / 用户管理</b>
	</td></tr>
EOT;
if (empty($action)) setuser_index();
elseif ($action=="updatecount") update_list();
elseif ($action=="view") view_user();
elseif ($action=="edit") edit_user();
elseif ($action=="kill") kill_user();
exit;

function view_user() {
global $member,$tab_top,$tab_bottom,$id_unique,$thisprog;
	echo "<tr>
		<td bgcolor=#FFFFFF align=center colspan=2>
		<b>查看用户资料</b><br>";
	if (empty($member) || $member=="." || $member==".." || !file_exists("$id_unique/$member")) { print ("<br>$tab_top<b>非法的用户名</b>$tab_bottom</td></tr></table></body>$tab_bottom"); exit; }
	list($name,$userpwd,$usericon,$useremail,
	   $usericq,$regdate,$sign,$homepage,$area,
	   $introduction,$honor,$last_post,$postamount)
	  = explode("|",readfromfile("$id_unique/$member"));
	  $regdate=getfulldate($regdate);
	print <<<EOT
    <tr>
    <td bgcolor=#EEEEEE colspan=2 align=center><font face=verdana><b>"$member"</b> 的详细资料 　 [ <a href="$thisprog?action=edit&member=$member">编辑</a> ] | [ <a href="$thisprog?action=kill&member=$member">删除</a> ]</font></td></tr>
    <tr>
    <td bgcolor=#FFFFFF width=30%><b>注册时间：</b></td>
    <td bgcolor=#FFFFFF>$regdate</td></tr>
    <tr>
    <td bgcolor=#FFFFFF><b>用户密码：</b></td>
    <td bgcolor=#FFFFFF>$userpwd</td></tr>
    <tr>
    <td bgcolor=#FFFFFF><b>电子信箱：</b></td>
    <td bgcolor=#FFFFFF>$useremail</td></tr>
    <tr>
    <td bgcolor=#FFFFFF><b>QQ号码：</b></td>
    <td bgcolor=#FFFFFF>$usericq</td></tr>
    <tr>
    <td bgcolor=#FFFFFF><b>用户头衔：</b></td>
    <td bgcolor=#FFFFFF>$honor</td></tr>
    <tr>
    <td bgcolor=#FFFFFF><b>发表总数：</b></td>
    <td bgcolor=#FFFFFF>$postamount 篇<br><br></td></tr>
    <tr>
    <td bgcolor=#EEEEEE colspan=2><b>&nbsp;</b>
    >> <a href="javascript:history.go(-1)">返回前页</a>
    </td></tr>
    </td></tr></table></body></html>
EOT;
}

function edit_user() {
global $id_unique,$tab_top,$tab_bottom,$thisprog,$member,$checkaction;
	echo "<tr>
		<td bgcolor=#FFFFFF align=center colspan=2>
		<b>编辑用户</b><br>";
	$memberfile="$id_unique/$member";
	if (empty($member) || $member=="." || $member==".." || !file_exists($memberfile)) { print ("<br>$tab_top<b>非法的用户名</b>$tab_bottom</td></tr></table></body>$tab_bottom"); exit; }

	list($name,$userpwd,$usericon,$useremail,
	   $usericq,$regdate,$sign,$homepage,$area,
	   $introduction,$honor,$last_post,$postamount)
	  = explode("|",readfromfile($memberfile));

	if ($checkaction!="yes") {
	print <<<EOT
    <form action="$thisprog" method=post>
    <input type=hidden name="action" value="edit">
    <input type=hidden name="checkaction" value="yes">
    <input type=hidden name="member" value="$member">
    <tr>
    <td bgcolor=#EEEEEE colspan=2><b>要编辑的用户名称： </b>$member</td>
    </tr>
    <tr>
    <td bgcolor=#FFFFFF><b>用户头衔：</b></td>
    <td bgcolor=#FFFFFF><input type=text name="newhonor" value="$honor"></td>
    </tr>
    <tr>
    <td bgcolor=#FFFFFF><b>发表总数：</b></td>
    <td bgcolor=#FFFFFF><input type=text name="newpostamount" value="$postamount"></td>
    </tr>
    <tr>
    <td bgcolor=#FFFFFF><b>密码：</b></td>
    <td bgcolor=#FFFFFF><input type=password name="newuserpwd" value="$userpwd"></td>
    </tr>
    <tr>
    <td bgcolor=#FFFFFF><b>邮件地址：</b></td>
    <td bgcolor=#FFFFFF><input type=text name="newuseremail" value="$useremail"></td>
    </tr><tr>
    <td bgcolor=#FFFFFF><b>主页地址：</b></td>
    <td bgcolor=#FFFFFF><input type=text name="newhomepage" value="$homepage"></td>
    </tr><tr>
    <td bgcolor=#FFFFFF><b>OICQ 号：</b></td>
    <td bgcolor=#FFFFFF><input type=text name="newusericq" value="$usericq"></td>
    </tr><tr>
    <td bgcolor=#FFFFFF><b>来自何方：</b></td>
    <td bgcolor=#FFFFFF><input type=text name="newarea" value="$area">
    </td>
    <tr>
    <td colspan=2 bgcolor=#EEEEEE align=center><input type=submit value="提 交" name=submit></td>
    </tr></form>
    <tr><td colspan=2>
    <br><br>$tab_top 如果确实需要更多的编辑，可以查看用户密码档，然后以用户身份登录进行编辑，但请注意不要侵犯他人隐私 $tab_bottom
    </td></tr>
    </tr><tr>
<tr>
EOT;
	} else {
global  $newuserpwd,$newuseremail,
	$newusericq,$newhomepage,$newarea,
	$newhonor,$newpostamount;
	if (!empty($newuserpwd)) $userpwd=$newuserpwd;
	if (!empty($newuseremail)) $useremail=$newuseremail;
	if (!empty($newusericq)) $usericq=$newusericq;
	if (!empty($newhomepage)) $homepage=$newhomepage;
	if (!empty($newarea)) $area=$newarea;
	if (!empty($newhonor)) $honor=$newhonor;
	if (!empty($newpostamount)) $postamount=$newpostamount;
	writetofile($memberfile,"$name|$userpwd|$usericon|$useremail|$usericq|$regdate|$sign|$homepage|$area|$introduction|$honor|$last_post|$postamount");
	print"
        <tr>
        <td bgcolor=#EEEEEE align=center colspan=2>
        <b>用户数据已经被成功的编辑</b>
        </td></tr>";
	}
echo "</td></tr></table></body></html>";
exit;
}

function kill_user() {
global $id_unique,$tab_top,$tab_bottom,$thisprog,$member;
	echo "<tr>
		<td bgcolor=#FFFFFF align=center colspan=2>
		<b>删除用户</b><br>";
	if (empty($member) || $member=="." || $member==".." || !file_exists("$id_unique/$member")) { print ("<br>$tab_top<b>非法的用户名</b>$tab_bottom</td></tr></table></body>$tab_bottom"); exit; }
	
	$userinfofile="datafile/newuser.php";
	list($lastmember,$usernum,$postamount)=explode("|",readfromfile($userinfofile));
	$usernum--;
	writetofile($userinfofile,"$lastmember|$usernum|$postamount");
	
	$filetounlink="$id_unique/$member";
	if (unlink( $filetounlink )) print "
        <tr>
        <td bgcolor=#EEEEEE align=center colspan=2>
        <b>用户已经从数据库中完全删除了</b>
        </td></tr>";
	else print "
        <tr>
        <td bgcolor=#EEEEEE align=center colspan=2>
        <b>删除用户发生了未知错误，请检查用户目录属性</b>
        </td></tr>";
	echo "</td></tr></table></body></html>";
	exit;
}

function update_list() {
global $upcount,$uplist,$thisprog,$tab_top,$tab_bottom,$id_unique;
	$dh=opendir("$id_unique/");
	while ($userfile=readdir($dh)) {
		if (($userfile!=".") && ($userfile!="..") && !strpos($userfile,".snd") && !strpos($userfile,".rec")) {
			$user_array[]=$userfile;
		}
	}
	closedir($dh);
	//reset($user_array);
	$count=count($user_array);

	if (!empty($upcount)) {
		$olddata=readfromfile("datafile/newuser.php");
		if (empty($olddata)) $olddata=" |0|0";
		list($newuser,$oldcount,$postamount)=explode("|",$olddata);
		$newdata="$newuser|$count|$postamount";
		writetofile("datafile/newuser.php",$newdata);
	print ("<tr>
	<td bgcolor=#FFFFFF align=center colspan=2>
	<b>计算用户总数</b><br><br>
	$tab_top
	当前共有 $count 个注册用户，数据已经更新！
	$tab_bottom
	<br></td></tr>");
	}
	if (!empty($upcount)) {
		writetofile("datafile/userlist.php",implode("\n",$user_array));
	print ("<tr>
	<td bgcolor=#FFFFFF align=center colspan=2>
	<b>更新用户列表</b><br><br>
	$tab_top
	用户列表已经更新！
	$tab_bottom
	<br></td></tr>");
	}
echo "<tr><td><br>&gt;&gt; <a href=viboard.php>论坛首页</a> <a href=$thisprog>修改用户</a>
</td></tr></table></body></html>";
	exit;
}

function setuser_index() {
global $thisprog,$tab_bottom,$tab_top;
print <<<EOT
    <tr>
    <td bgcolor=#EEEEEE align=center colspan=2>
    <b>请选择一项</b>
    </td>
    </tr>          
                
    <tr>
    <td bgcolor=#FFFFFF colspan=2>
    <b><a href="$thisprog?action=updatecount">更新用户信息</a></b><br><br>
	<form action="$thisprog" method=post>
	$tab_top
    将更新首页显示的用户数，这样可以用来恢复正确总用户数。<br>
    同时也可以更新用户列表，使得用户列表程序显示正确信息。<br><br>
<input type=checkbox name="upcount" value="yes" checked>更新用户数
<input type=checkbox name="uplist" value="yes">更新用户列表
<input type=hidden name="action" value="updatecount">
<input type=submit value="提  交">
	$tab_bottom
    </form><br><br>
    <b>查看/编辑用户</b><br><br>
	<form action="$thisprog" method=post>
	$tab_top
    输入用户名，将可以看到详细资料， 并可编辑、改变用户的信息。<br>
    删除用户：只要找到用户，点击删除就可以。<br><br>
        <input type=text name="member" size=10 maxlength=16>
        <input type=submit value="提  交"> ---［
        <input type=radio checked name="action" value="view">查看 <input type=radio name="action" value="edit">编辑 <input type=radio name="action" value="kill">删除 ］
	$tab_bottom
    </form><BR><br>
    <b>注意事项：</b><br><br>
	$tab_top
    Vieky不希望有人滥用此种程式。请注意用户的隐私权。多谢合作~
	$tab_bottom
    </td>
    </tr></td></tr></table></body></html>
EOT;
	exit;
}
function getfulldate($datetime){
	$t=getdate($datetime);
	$hour=$t['hours'];
	$min=$t['minutes'];
	if (strlen($min)==1) $min="0".$min;
	$year=$t['year'];
	$mon=$t['mon'];
	$mday=$t['mday'];
	return "{$year}年{$mon}月{$mday}日{$hour}:{$min}";
}
