📄 members.inc.php
字号:
<input type="submit" name="editsubmit" value="<?=$lang['submit']?>"></center>
</form>
<?
} elseif(submitcheck('deletesubmit')) {
if(!$confirmed) {
$extra = '';
$query = $db->query("SELECT uid FROM {$tablepre}members WHERE $conditions");
while($member = $db->fetch_array($query)) {
$extra .= '<input type="hidden" name="uidarray[]" value="'.$member['uid'].'">';
}
cpmsg('members_delete_confirm', "admincp.php?action=members&deletesubmit=yes", 'form', $extra);
} else {
$uids = is_array($uidarray) ? '\''.implode('\', \'', $uidarray).'\'' : '0';
$query = $db->query("DELETE FROM {$tablepre}members WHERE uid IN ($uids)");
$numdeleted = $db->affected_rows();
$db->query("DELETE FROM {$tablepre}access WHERE uid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}memberfields WHERE uid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}moderators WHERE uid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}buddys WHERE uid IN ($uids) OR buddyid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}favorites WHERE uid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}moderators WHERE uid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}pms WHERE msgfromid IN ($uids) OR msgtoid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}subscriptions WHERE uid IN ($uids)", 'UNBUFFERED');
updatecache('settings');
cpmsg('members_delete_succeed');
}
}
} elseif(submitcheck('editsubmit')) {
if(is_array($delete) && $membernum = count($delete)) {
if(!$confirmed) {
$extra = '';
foreach($delete as $uid) {
$extra .= '<input type="hidden" name="delete[]" value="'.$uid.'">';
}
cpmsg('members_delete_confirm', "admincp.php?action=members&editsubmit=yes", 'form', $extra);
} else {
$uids = '\''.implode('\', \'', $delete).'\'';
$db->query("DELETE FROM {$tablepre}members WHERE uid IN ($uids)");
$db->query("DELETE FROM {$tablepre}access WHERE uid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}memberfields WHERE uid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}buddys WHERE uid IN ($uids) OR buddyid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}favorites WHERE uid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}moderators WHERE uid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}pms WHERE msgfromid IN ($uids) OR msgtoid IN ($uids)", 'UNBUFFERED');
$db->query("DELETE FROM {$tablepre}subscriptions WHERE uid IN ($uids)", 'UNBUFFERED');
updatecache('settings');
}
}
cpmsg('members_edit_succeed');
}
} elseif($action == 'membersmerge') {
if(!submitcheck('mergesubmit')) {
?>
<br><br><br><br><br>
<form method="post" action="admincp.php?action=membersmerge">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="85%" align="center" class="tableborder">
<tr class="header"><td colspan="3"><?=$lang['members_merge']?></td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="40%"><?=$lang['members_merge_source']?> 1:</td>
<td bgcolor="<?=ALTBG2?>" width="60%"><input type="text" name="source[]" size="20"></td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="40%"><?=$lang['members_merge_source']?> 2:</td>
<td bgcolor="<?=ALTBG2?>" width="60%"><input type="text" name="source[]" size="20"></td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="40%"><?=$lang['members_merge_source']?> 3:</td>
<td bgcolor="<?=ALTBG2?>" width="60%"><input type="text" name="source[]" size="20"></td></tr>
<tr><td colspan="2" class="singleborder"> </td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>" width="40%"><?=$lang['members_merge_target']?>:</td>
<td bgcolor="<?=ALTBG2?>" width="60%"><input type="text" name="target" size="20"></td></tr>
</table><br><center><input type="submit" name="mergesubmit" value="<?=$lang['submit']?>"></center></form>
<?
} else {
$suids = $susernames = $comma = $tuid = $tusername = $sourcemember = $targetmember = '';
if(is_array($source)) {
$query = $db->query("SELECT uid, username FROM {$tablepre}members WHERE username IN ('".implode('\',\'', $source)."') AND username<>''");
while($member = $db->fetch_array($query)) {
$suids .= $comma.$member['uid'];
$susernames .= $comma.'\''.addslashes($member['username']).'\'';
$sourcemember .= $comma.$member['username'];
$comma = ', ';
}
}
$query = $db->query("SELECT uid, username FROM {$tablepre}members WHERE username='$target'");
if(!($member = $db->fetch_array($query)) || !$suids) {
cpmsg('members_merge_invalid');
}
$tuid = $member['uid'];
$tusername = addslashes($member['username']);
$targetmember = $member['username'];
if(!$confirmed) {
$extra = '<input type="hidden" name="target" value="'.dhtmlspecialchars($target).'">';
foreach($source as $username) {
$extra .= '<input type="hidden" name="source[]" value="'.dhtmlspecialchars($username).'">';
}
cpmsg('members_merge_confirm', "admincp.php?action=membersmerge&mergesubmit=yes", 'form', $extra);
} else {
$db->query("DELETE FROM {$tablepre}access WHERE uid IN ($suids)");
$db->query("UPDATE {$tablepre}adminnotes SET admin='$tusername' WHERE admin IN ($susernames)");
$db->query("UPDATE {$tablepre}adminsessions SET uid='$tuid' WHERE uid IN ($suids)");
$db->query("UPDATE {$tablepre}announcements SET author='$tusername' WHERE author IN ($susernames)");
$db->query("UPDATE {$tablepre}banned SET admin='$tusername' WHERE admin IN ($susernames)");
$db->query("DELETE FROM {$tablepre}blogcaches WHERE uid IN ($suids)");
$db->query("DELETE FROM {$tablepre}buddys WHERE uid IN ($suids) OR buddyid IN ($suids)");
$db->query("UPDATE {$tablepre}favorites SET uid='$tuid' WHERE uid IN ($suids)");
$db->query("DELETE FROM {$tablepre}memberfields WHERE uid IN ($suids)");
$db->query("DELETE FROM {$tablepre}moderators WHERE uid IN ($suids)");
$db->query("UPDATE {$tablepre}pms SET msgfromid='$tuid', msgfrom='$tusername' WHERE msgfromid IN ($suids)");
$db->query("UPDATE {$tablepre}pms SET msgtoid='$tuid' WHERE msgtoid IN ($suids)");
$db->query("UPDATE {$tablepre}posts SET author='$tusername', authorid='$tuid' WHERE authorid IN ($suids)");
$db->query("UPDATE {$tablepre}ratelog SET uid='$tuid', username='$tusername' WHERE uid IN ($suids)");
$db->query("DELETE FROM {$tablepre}subscriptions WHERE uid IN ($suids)");
$db->query("UPDATE {$tablepre}threads SET author='$tusername', authorid='$tuid' WHERE authorid IN ($suids)");
$db->query("UPDATE {$tablepre}threads SET lastposter='$tusername' WHERE lastposter IN ($susernames)");
$db->query("UPDATE {$tablepre}threadsmod SET uid='$tuid', username='$tusername' WHERE uid IN ($suids)");
$db->query("UPDATE {$tablepre}validating SET uid='$tuid' WHERE uid IN ($suids)");
$db->query("UPDATE {$tablepre}validating SET admin='$tusername' WHERE admin IN ($susernames)");
$db->query("DELETE FROM {$tablepre}onlinetime WHERE uid IN ($suids)");
$query = $db->query("SELECT SUM(credits) AS credits, SUM(extcredits1) AS extcredits1,
SUM(extcredits2) AS extcredits2, SUM(extcredits3) AS extcredits3,
SUM(extcredits4) AS extcredits4, SUM(extcredits5) AS extcredits5,
SUM(extcredits6) AS extcredits6, SUM(extcredits7) AS extcredits7,
SUM(extcredits8) AS extcredits8, SUM(posts) AS posts,
SUM(digestposts) AS digestposts, SUM(pageviews) AS pageviews,
SUM(oltime) AS oltime
FROM {$tablepre}members WHERE uid IN ($suids)");
$member = $db->fetch_array($query);
$db->query("UPDATE {$tablepre}members SET credits=credits+$member[credits],
extcredits1=extcredits1+$member[extcredits1], extcredits2=extcredits2+$member[extcredits2],
extcredits3=extcredits3+$member[extcredits3], extcredits4=extcredits4+$member[extcredits4],
extcredits5=extcredits5+$member[extcredits5], extcredits6=extcredits6+$member[extcredits6],
extcredits7=extcredits7+$member[extcredits7], extcredits8=extcredits8+$member[extcredits8],
posts=posts+$member[posts], digestposts=digestposts+$member[digestposts],
pageviews=pageviews+$member[pageviews], oltime=oltime+$member[oltime]
WHERE uid='$tuid'");
$db->query("DELETE FROM {$tablepre}members WHERE uid IN ($suids)");
updatecache('settings');
cpmsg('members_merge_succeed');
}
}
} elseif($action == 'editgroups') {
$query = $db->query("SELECT m.uid, m.username, m.adminid, m.groupid, m.groupexpiry, m.extgroupids, m.credits,
mf.groupterms, u.type AS grouptype, u.grouptitle
FROM {$tablepre}members m
INNER JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
LEFT JOIN {$tablepre}usergroups u ON u.groupid=m.groupid
WHERE m.uid='$uid'");
if(!$member = $db->fetch_array($query)) {
cpmsg('members_edit_nonexistence');
}
if(!submitcheck('editsubmit')) {
$checkadminid = array(($member['adminid'] >= 0 ? $member['adminid'] : 0) => 'checked');
$member['groupterms'] = unserialize($member['groupterms']);
if($member['groupterms']['main']) {
$expirydate = gmdate('Y-n-j', $member['groupterms']['main']['time'] + $timeoffset * 3600);
$expirydays = ceil(($member['groupterms']['main']['time'] - $timestamp) / 86400);
$selecteaid = array($member['groupterms']['main']['adminid'] => 'selected');
$selectegid = array($member['groupterms']['main']['groupid'] => 'selected');
} else {
$expirydate = $expirydays = '';
$selecteaid = array($member['adminid'] => 'selected');
$selectegid = array(($member['grouptype'] == 'member' ? 0 : $member['groupid']) => 'selected');
}
$class = 'altbg1';
$extgroupcount = 0;
$extgroups = $expgroups = $curtype = $thisbg = '';
$extgrouparray = explode("\t", $member['extgroupids']);
$groups = array('system' => '', 'special' => '', 'member' => '');
$group = array('groupid' => 0, 'radminid' => 0, 'type' => '', 'grouptitle' => $lang['usergroups_system_0'], 'creditshigher' => 0, 'creditslower' => '0');
$query = $db->query("SELECT groupid, radminid, type, grouptitle, creditshigher, creditslower
FROM {$tablepre}usergroups WHERE groupid NOT IN ('6', '7') ORDER BY creditshigher, groupid");
do {
if($group['groupid'] && !in_array($group['groupid'], array(4, 5, 6, 7, 8)) && ($group['type'] == 'system' || $group['type'] == 'special')) {
$extgroups .= ($extgroupcount++ % 2 == 0 ? '</tr><tr>' : '').
'<td class="altbg2"><input type="checkbox" name="extgroupidsnew[]" value="'.$group['groupid'].'" '.(in_array($group['groupid'], $extgrouparray) ? 'checked' : '').'> '.$group['grouptitle'].'</td><td align="center" class="altbg2"><input type="text" size="8" name="extgroupexpirynew['.$group['groupid'].']" value="'.(in_array($group['groupid'], $extgrouparray) && !empty($member['groupterms']['ext'][$group['groupid']]) ? gmdate('Y-n-j', $member['groupterms']['ext'][$group['groupid']] + $timeoffset * 3600) : '').'"></td>';
}
if($group['groupid'] && $group['type'] == 'member' && !($member['credits'] >= $group['creditshigher'] && $member['credits'] < $group['creditslower']) && $member['groupid'] != $group['groupid']) {
continue;
}
$expgroups .= '<option name="expgroupidnew" value="'.$group['groupid'].'" '.$selectegid[$group['groupid']].'>'.$group['grouptitle'].'</option>';
if($group['groupid'] != 0) {
$thisbg = $curtype == $group['type'] && $thisbg == ALTBG2 ? ALTBG1 : ALTBG2;
$curtype = $group['type'];
$groups[$group['type']] .= '<tr><td bgcolor="'.$thisbg.'"><input type="radio" name="groupidnew" value="'.$group['groupid'].'" '.($member['groupid'] == $group['groupid'] ? 'checked' : '').'> '.$group['grouptitle'].'</td></tr>';
}
} while($group = $db->fetch_array($query));
$extgroups .= $extgroupcount++ % 2 != 0 ? '<td colspan="2" class="altbg2"> </tr><tr>' : '';
if(!$groups['member']) {
$query = $db->query("SELECT groupid, grouptitle FROM {$tablepre}usergroups WHERE type='member' AND creditshigher>='0' ORDER BY creditshigher LIMIT 1");
$group = $db->fetch_array($query);
$groups['member'] = '<tr><td bgcolor="'.ALTBG1.'"><input type="radio" name="groupidnew" value="'.$group['groupid'].'"> '.$group['grouptitle'].'</td></tr>';
}
?>
<form method="post" action="admincp.php?action=editgroups&uid=<?=$member['uid']?>">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="98%" align="center" class="tableborder">
<tr class="header"><td colspan="2"><?=$lang['members_edit_groups']?> - <?=$member['username']?></td></tr>
<tr bgcolor="<?=ALTBG1?>"><td><table cellspacing="0" cellpadding="10" width="100%" align="center">
<tr><td width="22%" valign="top">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%" align="center" class="tableborder">
<tr><td class="header"><?=$lang['usergroup']?></td></tr>
<tr><td class="singleborder"> </td></tr>
<tr><td class="category"><span class="bold"><?=$lang['usergroups_system']?></span></td></tr>
<?=$groups['system']?>
<tr><td class="singleborder"> </td></tr>
<tr><td class="category"><span class="bold"><?=$lang['usergroups_special']?></span></td></tr>
<?=$groups['special']?>
<tr><td class="singleborder"> </td></tr>
<tr><td class="category"><span class="bold"><?=$lang['usergroups_member']?></span></td></tr>
<?=$groups['member']?>
</table></td><td width="78%" align="right" valign="top">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%" align="center" class="tableborder">
<tr><td class="header"><?=$lang['members_edit_groups_related_adminid']?></td></tr>
<tr><td bgcolor="<?=ALTBG2?>"><input type="radio" name="adminidnew" value="0" <?=$checkadminid[0]?>> <?=$lang['usergroups_system_0']?></td></tr>
<tr><td bgcolor="<?=ALTBG1?>"><input type="radio" name="adminidnew" value="1" <?=$checkadminid[1]?>> <?=$lang['usergroups_system_1']?></td></tr>
<tr><td bgcolor="<?=ALTBG2?>"><input type="radio" name="adminidnew" value="2" <?=$checkadminid[2]?>> <?=$lang['usergroups_system_2']?></td></tr>
<tr><td bgcolor="<?=ALTBG1?>"><input type="radio" name="adminidnew" value="3" <?=$checkadminid[3]?>> <?=$lang['usergroups_system_3']?></td></tr>
</table><br>
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%" align="center" class="tableborder">
<tr><td colspan="4" class="header"><?=$lang['members_edit_groups_extended']?></td></tr>
<tr align="center" class="category"><td width="30%"><?=$lang['usergroup']?></td><td width="20%"><?=$lang['validity']?></td><td width="30%"><?=$lang['usergroup']?></td><td width="20%"><?=$lang['validity']?></td></tr>
<?=$extgroups?>
<tr><td colspan="4" class="altbg2"><?=$lang['members_edit_groups_extended_comment']?></td></tr>
</table><br>
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%" align="center" class="tableborder">
<tr><td colspan="2" class="header"><?=$lang['validity']?></td></tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -