📄 members.inc.php
字号:
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>
<tr><td bgcolor="<?=ALTBG1?>" width="60%"><b><?=$lang['members_edit_groups_validity']?></b><br><span class="smalltxt"><?=$lang['members_edit_groups_validity_comment']?></span></td>
<td bgcolor="<?=ALTBG2?>" width="40%">
<input type="radio" name="expirytype" value="date" checked> <input type="text" name="expirydatenew" value="<?=$expirydate?>" size="15"> <?=$lang['members_edit_groups_validity_date']?><br>
<input type="radio" name="expirytype" value="days"> <input type="text" name="expirydaysnew" value="<?=$expirydays?>" size="15"> <?=$lang['members_edit_groups_validity_days']?><br></td></tr>
<tr><td bgcolor="<?=ALTBG1?>" width="60%"><b><?=$lang['members_edit_groups_orig_groupid']?></b></td><td bgcolor="<?=ALTBG2?>" width="40%">
<select name="expadminidnew">
<option value="0" <?=$selecteaid[0]?>><?=$lang['usergroups_system_0']?></option>
<option value="1" <?=$selecteaid[1]?>><?=$lang['usergroups_system_1']?></option>
<option value="2" <?=$selecteaid[2]?>><?=$lang['usergroups_system_2']?></option>
<option value="3" <?=$selecteaid[3]?>><?=$lang['usergroups_system_3']?></option>
</select></td></tr>
<tr><td bgcolor="<?=ALTBG1?>" width="60%"><b><?=$lang['members_edit_groups_orig_adminid']?></b></td><td bgcolor="<?=ALTBG2?>" width="40%">
<select name="expgroupidnew"><?=$expgroups?></select></td></tr>
</table><br>
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="100%" align="center" class="tableborder">
<tr><td colspan="2" class="header"><?=$lang['members_edit_reason']?></td></tr>
<tr><td bgcolor="<?=ALTBG1?>" width="60%"><b><?=$lang['members_edit_groups_ban_reason']?></b><br><span class="smalltxt"><?=$lang['members_edit_groups_ban_reason_comment']?></span></td>
<td bgcolor="<?=ALTBG2?>" width="40%"><textarea name="reason" rows="5" cols="30"></textarea></td></tr>
</table><br><br><center><input type="submit" name="editsubmit" value="<?=$lang['submit']?>"></center>
</td></tr></table>
</td></tr>
</table>
<?
} else {
$query = $db->query("SELECT groupid, radminid, type FROM {$tablepre}usergroups WHERE groupid='$groupidnew'");
if(!$group = $db->fetch_array($query)) {
cpmsg('undefined_action');
}
if(strlen(is_array($extgroupidsnew) ? implode("\t", $extgroupidsnew) : '') > 60) {
cpmsg('members_edit_groups_toomany');
}
switch($group['type']) {
case 'member':
$groupidnew = in_array($adminidnew, array(1, 2, 3)) ? $adminidnew : $groupidnew;
break;
case 'special':
if($group['radminid']) {
$adminidnew = $group['radminid'];
} elseif(!in_array($adminidnew, array(1, 2, 3))) {
$adminidnew = -1;
}
break;
case 'system':
$adminidnew = in_array($groupidnew, array(1, 2, 3)) ? $groupidnew : -1;
break;
}
$groupterms = array();
if($expirytype == 'date' && $expirydatenew) {
$maingroupexpirynew = strtotime($expirydatenew) - date('Z') + $timeoffset * 3600;
} elseif($expirytype == 'days' && $expirydaysnew) {
$maingroupexpirynew = $timestamp + $expirydaysnew * 86400;
} else {
$maingroupexpirynew = 0;
}
if($maingroupexpirynew) {
$query = $db->query("SELECT groupid, radminid, type FROM {$tablepre}usergroups WHERE groupid='$expgroupidnew'");
if(!$group = $db->fetch_array($query)) {
$expgroupidnew = in_array($expadminidnew, array(1, 2, 3)) ? $expadminidnew : $expgroupidnew;
} else {
switch($group['type']) {
case 'special':
if($group['radminid']) {
$expadminidnew = $group['radminid'];
} elseif(!in_array($expadminidnew, array(1, 2, 3))) {
$expadminidnew = -1;
}
break;
case 'system':
$expadminidnew = in_array($expgroupidnew, array(1, 2, 3)) ? $expgroupidnew : -1;
break;
}
}
if($expgroupidnew == $groupidnew) {
cpmsg('members_edit_groups_illegal');
} elseif($maingroupexpirynew > $timestamp) {
if($expgroupidnew || $expadminidnew) {
$groupterms['main'] = array('time' => $maingroupexpirynew, 'adminid' => $expadminidnew, 'groupid' => $expgroupidnew);
} else {
$groupterms['main'] = array('time' => $maingroupexpirynew);
}
$groupterms['ext'][$groupidnew] = $maingroupexpirynew;
}
}
if(is_array($extgroupexpirynew)) {
foreach($extgroupexpirynew as $extgroupid => $expiry) {
if(is_array($extgroupidsnew) && in_array($extgroupid, $extgroupidsnew) && !isset($groupterms['ext'][$extgroupid]) && $expiry && ($expiry = strtotime($expiry) - date('Z') + $timeoffset * 3600) > $timestamp) {
$groupterms['ext'][$extgroupid] = $expiry;
}
}
}
$grouptermsnew = addslashes(serialize($groupterms));
$groupexpirynew = groupexpiry($groupterms);
$extgroupidsnew = $extgroupidsnew && is_array($extgroupidsnew) ? implode("\t", $extgroupidsnew) : '';
$db->query("UPDATE {$tablepre}members SET groupid='$groupidnew', adminid='$adminidnew', extgroupids='$extgroupidsnew', groupexpiry='$groupexpirynew' WHERE uid='$member[uid]'");
$db->query("UPDATE {$tablepre}memberfields SET groupterms='$grouptermsnew' WHERE uid='$member[uid]'");
if($groupidnew != $member['groupid'] && (in_array($groupidnew, array(4, 5)) || in_array($member['groupid'], array(4, 5)))) {
banlog($member['username'], $member['groupid'], $groupidnew, $groupexpirynew, $reason);
}
cpmsg('members_edit_groups_succeed', "admincp.php?action=editgroups&uid=$member[uid]");
}
} elseif($action == 'editcredits' && $uid && $extcredits) {
$query = $db->query("SELECT username, extcredits1, extcredits2, extcredits3, extcredits4, extcredits5, extcredits6, extcredits7, extcredits8 FROM {$tablepre}members WHERE uid='$uid'");
if(!$member = $db->fetch_array($query)) {
cpmsg('members_edit_nonexistence');
}
if(!submitcheck('creditsubmit')) {
$count = 0;
$width = round(100 / count($extcredits)).'%';
$creditscols = $creditsvalue = '';
foreach($extcredits as $id => $extcredit) {
$creditscols .= "<td width=\"$width\">$extcredit[title]</td>";
$creditsvalue .= '<td class="altbg'.($count++ %2 + 1).'"><input type="text" size="3" name="extcreditsnew['.$id.']" value="'.$member['extcredits'.$id].'"> '.$extcredit['unit'].'</td>';
}
?>
<form method="post" action="admincp.php?action=editcredits&uid=<?=$uid?>">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="70%" align="center" class="tableborder">
<tr class="header"><td colspan="8"><?=$lang['members_edit_credits']?> - <?=$member['username']?></td></tr>
<tr class="category" align="center"><?=$creditscols?></tr>
<tr align="center"><?=$creditsvalue?></tr>
</table><br>
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="70%" align="center" class="tableborder">
<tr><td colspan="2" class="header"><?=$lang['members_edit_reason']?></td></tr>
<tr><td bgcolor="<?=ALTBG1?>" width="60%"><b><?=$lang['members_edit_credits_reason']?></b><br><span class="smalltxt"><?=$lang['members_edit_credits_reason_comment']?></span></td>
<td bgcolor="<?=ALTBG2?>" width="40%"><textarea name="reason" rows="5" cols="30"></textarea></td></tr>
</table><br><center>
<input type="submit" name="creditsubmit" value="<?=$lang['submit']?>">
</center></form>
<?
} else {
$diffarray = array();
$sql = $comma = '';
if(is_array($extcreditsnew)) {
foreach($extcreditsnew as $id => $value) {
if($member['extcredits'.$id] != ($value = intval($value))) {
$diffarray[$id] = $value - $member['extcredits'.$id];
$sql .= $comma."extcredits$id='$value'";
$comma = ', ';
}
}
}
if($diffarray) {
if(empty($reason)) {
cpmsg('members_edit_reason_invalid');
}
@$fp = fopen(DISCUZ_ROOT.'./forumdata/ratelog.php', 'a');
@flock($fp, 2);
foreach($diffarray as $id => $diff) {
@fwrite($fp, "$timestamp\t".dhtmlspecialchars($discuz_userss)."\t$adminid\t".dhtmlspecialchars($member['username'])."\t$id\t$diff\t0\t\t$reason\n");
}
$db->query("UPDATE {$tablepre}members SET $sql WHERE uid='$uid'");
@fclose($fp);
}
cpmsg('members_edit_credits_succeed', "admincp.php?action=editcredits&uid=$uid");
}
} elseif($action == 'editmedals' && $uid) {
$query = $db->query("SELECT m.uid, m.username, mf.medals
FROM {$tablepre}memberfields mf, {$tablepre}members m
WHERE mf.uid='$uid' AND m.uid=mf.uid");
if(!$member = $db->fetch_array($query)) {
cpmsg('members_edit_nonexistence');
}
if(!submitcheck('medalsubmit')) {
$medals = '';
$membermedals = explode("\t", $member['medals']);
$query = $db->query("SELECT * FROM {$tablepre}medals WHERE available='1'");
while($medal = $db->fetch_array($query)) {
$medals .= "<tr align=\"center\">\n".
"<td bgcolor=\"".ALTBG1."\"><img src=\"images/common/$medal[image]\"></td>\n".
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -