📄 user.php
字号:
}
if ($homepage!="") {
$condition.=" AND INSTR(LCASE(homepage),'".addslashes(strtolower($homepage))."')>0";
}
if ($icq!="") {
$condition.=" AND INSTR(LCASE(icq),'".addslashes(strtolower($icq))."')>0";
}
if ($oicq!="") {
$condition.=" AND INSTR(LCASE(oicq),'".addslashes(strtolower($oicq))."')>0";
}
if ($joindateafter!="") {
$condition.=" AND joindate>UNIX_TIMESTAMP('".addslashes($joindateafter)."')";
}
if ($joindatebefore!="") {
$condition.=" AND joindate<UNIX_TIMESTAMP('".addslashes($joindatebefore)."')";
}
if ($lastvisitafter!="") {
if (strval($lastvisitafter)==strval(intval($lastvisitafter))) {
$condition.=" AND lastvisit>'".addslashes($lastvisitafter)."'";
} else {
$condition.=" AND lastvisit>UNIX_TIMESTAMP('".addslashes($lastvisitafter)."')";
}
}
if ($lastvisitbefore!="") {
$condition.=" AND lastvisit<UNIX_TIMESTAMP('".addslashes($lastvisitbefore)."')";
}
if ($aipaddress!="") {
$condition.=" AND INSTR(LCASE(ipaddress),'".addslashes(strtolower($aipaddress))."')>0";
}
if ($orderby=="") {
$orderby="username";
}
if ($limitstart=="") {
$limitstart=0;
} else {
$limitstart--;
}
if ($limitnumber=="") {
$limitnumber=300;
}
$users=$DB_site->query("SELECT userid,username,usergroupid,email,homepage,icq,oicq,FROM_UNIXTIME(joindate) AS joindate,
FROM_UNIXTIME(lastvisit) AS lastvisit,ipaddress
FROM ".$table["user"]."
WHERE $condition
ORDER BY $orderby $direction LIMIT $limitstart,$limitnumber");
$countusers=$DB_site->query_first("SELECT COUNT(*) AS users FROM ".$table["user"]." WHERE $condition");
if ($countusers['users']==1) {
//show a user if there is just one found
$user=$DB_site->fetch_array($users);
echo "<p>只找到一个符合条件的用户! 正在返回到该用户的页面...</p>";
cpredirect("user.php?s=$session[sessionhash]&action=edit&userid=$user[userid]");
exit;
} else if ($countusers['users']==0) {
// no users found!
echo "<p>没有找到符合条件的用户.</p>";
} else {
$limitfinish=$limitstart+$limitnumber;
echo "<p>显示总共 $countusers[users] 条记录中的 ".($limitstart+1)." 到 ".iif($limitfinish>$countusers[users],$countusers[users],$limitfinish)." 条 . 点击用户名查看个人资料.</p>";
//echo "<table border=1>";
doformheader("","");
echo "<tr class='tblhead'>";
if ($displayusername==1) {
echo "<td><p><b><span class='tblhead'>用户名</span></b></p></td>";
}
if ($displayoptions==1) {
echo "<td><p><b><span class='tblhead'>选项</span></b></p></td>";
}
if ($displayusergroup==1) {
echo "<td><p><b><span class='tblhead'>用户组</span></b></p></td>";
}
if ($displayemail==1) {
echo "<td><p><b><span class='tblhead'>Email地址</span></b></p></td>";
}
if ($displayhomepage==1) {
echo "<td><p><b><span class='tblhead'>主页的URL</span></b></p></td>";
}
if ($displayicq==1) {
echo "<td><p><b><span class='tblhead'>ICQ号</span></b></p></td>";
}
if ($displayoicq==1) {
echo "<td><p><b><span class='tblhead'>OICQ号</span></b></p></td>";
}
if ($displayjoindate==1) {
echo "<td><p><b><span class='tblhead'>加入日期</span></b></p></td>";
}
if ($displaylastvisit==1) {
echo "<td><p><b><span class='tblhead'>最后访问时间</span></b></p></td>";
}
if ($displayipaddress==1) {
echo "<td><p><b><span class='tblhead'>IP 地址</span></b></p></td>";
}
echo "</tr>\n";
while ($user=$DB_site->fetch_array($users)) {
echo "<tr class='".getrowbg()."'>";
if ($displayusername==1) {
echo "<td><p><a href='user.php?s=$session[sessionhash]&action=edit&userid=$user[userid]' target='_blank'>$user[username]</a> </p></td>";
}
if ($displayoptions==1) {
echo "<td><p>".
makelinkcode("编辑","user.php?s=$session[sessionhash]&action=edit&userid=$user[userid]").
makelinkcode("发送密码邮件","user.php?s=$session[sessionhash]&action=emailpassword&email=$user[email]").
makelinkcode("删除","user.php?s=$session[sessionhash]&action=remove&userid=$user[userid]").
"</p></td>";
}
if ($displayusergroup==1) {
$getusergroup=$DB_site->query_first("SELECT title FROM ".$table["usergroup"]." WHERE usergroupid=$user[usergroupid]");
echo "<td><p>$getusergroup[title] </p></td>";
}
if ($displayemail==1) {
echo "<td><p><a href='mailto:$user[email]'>$user[email]</a> </p></td>";
}
if ($displayhomepage==1) {
if ($user[homepage]=="") {
$user[homepage]=" ";
}
echo "<td><p><a href='$user[homepage]' target=_new>$user[homepage]</a> </p></td>";
}
if ($displayicq==1) {
if ($user[icq]=="") {
$user[icq]=" ";
}
echo "<td><p>$user[icq]</p></td>";
}
if ($displayoicq==1) {
if ($user[oicq]=="") {
$user[oicq]=" ";
}
echo "<td><p>$user[oicq]</p></td>";
}
if ($displayjoindate==1) {
echo "<td><p>$user[joindate]</p></td>";
}
if ($displaylastvisit==1) {
echo "<td><p>$user[lastvisit]</p></td>";
}
if ($displayipaddress==1) {
echo "<td><p>".iif($user[ipaddress]!="","$user[ipaddress] (".gethostbyaddr($user[ipaddress]).")"," ")."</p></td>";
}
echo "</tr>\n";
}
echo "</table></td></tr></table></form>";
if ($limitnumber!=99999999 AND $limitfinish<$countusers[users]) {
doformheader("user","find");
makehiddencode("ausername",$ausername);
makehiddencode("apassword",$apassword);
makehiddencode("usergroupid",$usergroupid);
makehiddencode("email",$email);
makehiddencode("homepage",$homepage);
makehiddencode("icq",$icq);
makehiddencode("oicq",$oicq);
makehiddencode("joindateafter",$joindateafter);
makehiddencode("joindatebefore",$joindatebefore);
makehiddencode("lastvisitafter",$lastvisitafter);
makehiddencode("lastvisitbefore",$lastvisitbefore);
makehiddencode("aipaddress",$aipaddress);
makehiddencode("orderby",$orderby);
makehiddencode("direction",$direction);
makehiddencode("limitstart",$limitstart+$limitnumber+1);
makehiddencode("limitnumber",$limitnumber);
makehiddencode("displayusername",$displayusername);
makehiddencode("displayoptions",$displayoptions);
makehiddencode("displayusergroup",$displayusergroup);
makehiddencode("displayemail",$displayemail);
makehiddencode("displayhomepage",$displayhomepage);
makehiddencode("displayicq",$displayicq);
makehiddencode("displayoicq",$displayoicq);
makehiddencode("displayjoindate",$displayjoindate);
makehiddencode("displaylastvisit",$displaylastvisit);
makehiddencode("displayipaddress",$displayipaddress);
echo "<input type=submit value=\"显示下一页\">";
}
}
}
// ###################### Start moderate + coppa #######################
if ($action=="moderate") {
/*
// delete coppa entries older than 30 days
$datecut=time()-(30*60*60*24);
$DB_site->query("DELETE FROM ".$table["user"]." WHERE joindate<$datecut AND usergroupid=4");
*/
$users=$DB_site->query("SELECT userid,username,email FROM ".$table["user"]." WHERE usergroupid=4 ORDER BY username");
if ($DB_site->num_rows($users)==0) {
echo "<p>没有等待验证的会员</p>";
} else {
doformheader("user","domoderate");
echo "<tr class='tblhead'><td><p><b><span class='tblhead'>通过验证?</span></b></p></td><td><p><b><span class='tblhead'>用户名</span></b></p></td><td><p><b><span class='tblhead'>Email</span></b></p></td><td><p><b><span class='tblhead'>选项</span></b></p></td></tr>\n";
while ($user=$DB_site->fetch_array($users)) {
echo "<tr class='".getrowbg()."'><td><p> 是<input type=\"radio\" checked name=\"validate[$user[userid]]\" value=\"1\"> 否 <input type=\"radio\" name=\"validate[$user[userid]]\" value=\"0\"></p></td>";
echo "<td><p>$user[username]</p></td><td><p><a href=\"mailto:$user[email]\">$user[email]</a></p></td><td><p><a href=\"user.php?s=$session[sessionhash]&action=edit&userid=$user[userid]\" target=_blank>显示个人信息</a></p></td></tr>\n";
}
maketableheader("给批准的用户发送电子邮件:","",1,4);
echo "<tr class='".getrowbg()."'><td>主题:</td><td colspan='3'><input type=text name=subject size=50 value=\"你在 $webtitle 的帐号已被激活!\"></td></tr>\n";
$gettemp=$DB_site->query_first("SELECT template FROM ".$table["template"]." WHERE title='email_validated'"); //kludgy!!
$template=$gettemp[template];
echo "<tr class='".getrowbg()."'><td>内容:</td><td colspan='3'><textarea rows=10 cols=50 name=email>".htmlspecialchars($template)."</textarea></td></tr>\n";
doformfooter("继续进行","Reset",4);
}
}
// ###################### Start do moderate and coppa #######################
if ($HTTP_POST_VARS['action']=="domoderate") {
while (list($key,$val)=each($validate)) {
if ($val==1) {
$user=$DB_site->query_first("SELECT username,email FROM ".$table["user"]." WHERE userid=$key");
$username=unhtmlspecialchars($user[username]);
eval("\$message = \"".ereg_replace("\"","\\\"",$email)."\";");
eval("\$subject = \"".ereg_replace("\"","\\\"",$subject)."\";");
mail ($user[email],$subject,$message,"From: $webmasteremail");
$DB_site->query("UPDATE ".$table["user"]." SET usergroupid=2 WHERE userid=$key");
}
}
echo "<p>帐号已经激活,且会员已经得到通知</p>";
}
// ############################# start referrers #########################
if ($action=="referrers") {
echo "<p>请输入你需要的报告时间段,留空将显示所有时期</p>";
doformheader("user","showreferrers");
maketableheader("会员介绍人");
makeinputcode("起始日期<br>(格式: yyyy-mm-dd hh:mm:ss)","startdate",date("Y-m-d",time()-24*60*60*31));
makeinputcode("结束日期<br>(格式: yyyy-mm-dd hh:mm:ss)","enddate",date("Y-m-d",time()));
doformfooter("显示");
}
if ($HTTP_POST_VARS['action']=="showreferrers") {
if ($startdate and $enddate) {
$datequery = "AND users.joindate>=UNIX_TIMESTAMP('".addslashes($startdate)."') ";
$datequery .= "AND users.joindate<=UNIX_TIMESTAMP('".addslashes($enddate)."')";
}
$users = $DB_site->query("SELECT COUNT(*) AS count, ".$table["user"].".username, ".$table["user"].".userid FROM ".$table["user"]." AS users
LEFT JOIN ".$table["user"]." ON (users.referrerid = ".$table["user"].".userid)
WHERE users.referrerid <> 0
$datequery
GROUP BY users.referrerid
ORDER BY count DESC");
if ($DB_site->num_rows($users)==0) {
echo "<p>这段时间没有经过介绍的会员加入</p>";
} else {
echo "<p><b>会员介绍人</b>";
if ($datequery) {
echo " - from $startdate to $enddate";
} else {
echo " - 涵盖所有时间";
}
echo "</p><p>点击用户名查看他们所介绍加入的会员信息</p>";
echo "<table border=2 cellspacing=0 cellpadding=4>";
echo "<tr><td align=\"center\"><b>用户名</b></td><td align=\"center\"><b>介绍的会员</b></td></tr>";
while ($user=$DB_site->fetch_array($users)) {
echo "<tr><td align=\"center\"><a href=\"user.php?s=$session[sessionhash]&action=showreferrals&referrerid=$user[userid]&startdate=$startdate&enddate=$enddate\">$user[username]</a>";
echo "</td><td align=\"center\">$user[count]</td></tr>";
}
echo "</table>";
}
}
if ($action=='showreferrals') {
if ($startdate and $enddate) {
$datequery = "AND joindate>=UNIX_TIMESTAMP('".addslashes($startdate)."') ";
$datequery .= "AND joindate<=UNIX_TIMESTAMP('".addslashes($enddate)."')";
}
$username=$DB_site->query_first("SELECT username FROM ".$table["user"]." WHERE userid = '$referrerid'");
$users = $DB_site->query("SELECT username, userid, joindate, lastvisit, email
FROM ".$table["user"]."
WHERE referrerid = '$referrerid'
$datequery
ORDER BY joindate");
echo "<p><b><a href=\"user.php?s=$session[sessionhash]&action=edit&userid=$referrerid\">$username[username]</a>所介绍的会员</b>";
if ($datequery) {
echo " - 从 $startdate 到 $enddate";
} else {
echo " - 涵盖所有时间";
}
echo "</p><table border=2 cellspacing=0 cellpadding=4>";
echo "<tr><td align=\"center\"><b>用户名</b></td><td align=\"center\"><b>发帖数量</b></td><td align=\"center\"><b>Email地址</b></td><td align=\"center\"><b>注册日期</b></td><td align=\"center\"><b>最后访问</b></td></tr>";
while ($user=$DB_site->fetch_array($users)) {
$user[joindate] = vbdate($dateformat,$user[joindate]) . " " . vbdate($timeformat,$user[joindate]);
$user[lastvisit] = vbdate($dateformat,$user[lastvisit]) . " " . vbdate($timeformat,$user[lastvisit]);
$profile = "<a href=\"user.php?s=$session[sessionhash]&action=edit&userid=$user[userid]\">$user[username]</a>";
echo "<tr><td align=\"center\">$profile</td><td align=\"center\">$user[posts]</td>";
echo "<td align=\"center\">$user[email]</td><td align=\"center\">$user[joindate]</td>";
echo "<td align=\"center\">$user[lastvisit]</td></tr>";
}
echo "</table>";
}
cpfooter();
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -