📄 members.inc.php
字号:
"<td bgcolor=\"".ALTBG2."\">$medal[name]</td>\n".
"<td bgcolor=\"".ALTBG1."\"><input type=\"checkbox\" name=\"medals[$medal[medalid]]\" value=\"1\" ".(in_array($medal['medalid'], $membermedals) ? 'checked' : '')."></td></td>\n";
}
if(!$medals) {
cpmsg('members_edit_medals_nonexistence');
}
?>
<form method="post" action="admincp.php?action=editmedals&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="3"><?=$lang['medals_edit']?> - <?=$member['username']?></td></tr>
<tr class="category" align="center"><td><?=$lang['medals_image']?></td><td><?=$lang['name']?></td><td><?=$lang['medals_grant']?></td></tr>
<?=$medals?>
</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_medals_reason']?></b><br><span class="smalltxt"><?=$lang['members_edit_medals_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="medalsubmit" value="<?=$lang['submit']?>">
</center></form>
<?
} else {
$medalsarray = array();
if(is_array($medals)) {
foreach($medals as $medalid => $newgranted) {
if($newgranted) {
$medalsarray[] = intval($medalid);
}
}
}
$medalsnew = implode("\t", $medalsarray);
$reason = preg_replace("/(\r\n|\r|\n)/", '<br />', dhtmlspecialchars(trim($reason)));
if($member['medals'] != $medalsnew) {
if(empty($reason)) {
cpmsg('members_edit_reason_invalid');
} else {
$db->query("UPDATE {$tablepre}memberfields SET medals='$medalsnew' WHERE uid='$uid'");
}
}
$origmedalsarray = explode("\t", $member['medals']);
@$fp = fopen(DISCUZ_ROOT.'./forumdata/medalslog.php', 'a');
@flock($fp, 2);
foreach(array_unique(array_merge($origmedalsarray, $medalsarray)) as $medalid) {
if($medalid) {
$orig = in_array($medalid, $origmedalsarray);
$new = in_array($medalid, $medalsarray);
if($orig != $new) {
if($orig && !$new) {
$medalaction = 'revoke';
} elseif(!$orig && $new) {
$medalaction = 'grant';
}
@fwrite($fp, "$timestamp\t".dhtmlspecialchars($discuz_userss)."\t$onlineip\t".dhtmlspecialchars($member['username'])."\t$medalid\t$medalaction\t$reason\n");
}
}
}
@fclose($fp);
cpmsg('members_edit_medals_succeed', "admincp.php?action=editmedals&uid=$uid");
}
} elseif($action == 'editmember') {
if(empty($uid) && empty($username)) {
?>
<br><br><form method="post" action="admincp.php?action=editmember">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="70%" align="center" class="tableborder">
<tr class="header"><td colspan="2"><?=$lang['members_edit']?></td></tr>
<tr bgcolor="<?=ALTBG2?>">
<td><?=$lang['username']?>:</td><td><input type="text" name="username"></td></tr>
</table><br><center>
<input type="submit" name="membersubmit" value="<?=$lang['submit']?>">
</center></form><br>
<?
} else {
$query = $db->query("SELECT m.*, mf.*, u.type AS grouptype, u.allowsigbbcode, u.allowsigimgcode FROM {$tablepre}members m
LEFT JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
LEFT JOIN {$tablepre}usergroups u ON u.groupid=m.groupid
WHERE ".($uid ? "m.uid='$uid'" : "m.username='$username'"));
if(!$member = $db->fetch_array($query)) {
cpmsg('members_edit_nonexistence');
} elseif(($member['grouptype'] == 'system' && in_array($member['groupid'], array(1, 2, 3, 6, 7, 8))) || $member['grouptype'] == 'special') {
cpmsg('members_edit_illegal');
}
$member['groupterms'] = unserialize($member['groupterms']);
if(!submitcheck('editsubmit')) {
if($member['groupid'] == 4) {
$check['post'] = 'checked';
} elseif($member['groupid'] == 5) {
$check['visit'] = 'checked';
} else {
$check['none'] = 'checked';
}
echo "<br><form method=\"post\" action=\"admincp.php?action=editmember&uid=$member[uid]&formhash=".FORMHASH."\">";
if($allowbanuser) {
$member['banexpiry'] = $member['banexpiry'] && ($member['groupid'] == 4 || $member['groupid'] == 5) ? gmdate('Y-n-j', $member['groupterms']['main']['time'] + $timeoffset * 3600) : '';
showtype("$lang[members_edit_ban_user] - $member[username]", 'top');
showsetting('members_edit_ban', '', '', '<input type="radio" name="bannew" value="" '.$check['none'].'> '.$lang['members_edit_ban_none'].'<br><input type="radio" name="bannew" value="post" '.$check['post'].'> '.$lang['members_edit_ban_post'].'<br><input type="radio" name="bannew" value="visit" '.$check['visit'].'> '.$lang['members_edit_ban_visit']);
showsetting('members_edit_ban_validity', 'banexpirynew', $member['banexpiry'], 'text');
showsetting('members_edit_ban_reason', 'reason', '', 'textarea');
showtype('', 'bottom');
}
if($allowedituser) {
showtype($lang['members_edit'], ($allowbanuser ? '' : 'top'));
showsetting('members_edit_location', 'locationnew', $member['location'], 'text');
showsetting('members_edit_bio', 'bionew', $member['bio'], 'textarea');
showsetting('members_edit_signature', 'signaturenew', $member['signature'], 'textarea');
showtype('', 'bottom');
}
echo '<br><br><center><input type="submit" name="editsubmit" value="'.$lang['submit'].'"></center></form>';
} else {
$sql = 'uid=uid';
if($allowbanuser) {
$reason = trim($reason);
if(!$reason && ($reasonpm == 1 || $reasonpm == 3)) {
cpmsg('members_edit_reason_invalid');
}
if($bannew == 'post' || $bannew == 'visit') {
$groupidnew = $bannew == 'post' ? 4 : 5;
$banexpirynew = intval(@strtotime($banexpirynew) - $timeoffset * 8 + date('Z'));
$banexpirynew = $banexpirynew > $timestamp ? $banexpirynew : 0;
if($banexpirynew) {
$member['groupterms']['main'] = array('time' => $banexpirynew, 'adminid' => $member['adminid'], 'groupid' => $member['groupid']);
$member['groupterms']['ext'][$groupidnew] = $banexpirynew;
$sql .= ', groupexpiry=\''.groupexpiry($member['groupterms']).'\'';
}
$adminidnew = -1;
} elseif($member['groupid'] == 4 || $member['groupid'] == 5) {
if(!empty($member['groupterms']['main']['groupid'])) {
$groupidnew = $member['groupterms']['main']['groupid'];
$adminidnew = $member['groupterms']['main']['adminid'];
unset($member['groupterms']['main']);
unset($member['groupterms']['ext'][$member['groupid']]);
$sql .= ', groupexpiry=\''.groupexpiry($member['groupterms']).'\'';
} else {
$query = $db->query("SELECT groupid FROM {$tablepre}usergroups WHERE type='member' AND creditshigher<'$member[credits]' AND creditslower>'$member[credits]'");
$groupidnew = $db->result($query, 0);
$adminidnew = 0;
}
} else {
cpmsg('undefined_action');
}
$sql .= ", adminid='$adminidnew', groupid='$groupidnew'";
}
if($allowedituser) {
require_once DISCUZ_ROOT.'./include/discuzcode.func.php';
$sightmlnew = addslashes(discuzcode(stripslashes($signaturenew), 1, 0, 0, 0, $member['allowsigbbcode'], $member['allowsigimgcode'], 0));
$locationnew = dhtmlspecialchars($locationnew);
$sql .= ', sigstatus=\''.($signaturenew ? 1 : 0).'\'';
$db->query("UPDATE {$tablepre}memberfields SET location='$locationnew', bio='$bionew', signature='$signaturenew', sightml='$sightmlnew' WHERE uid='$member[uid]'");
}
$db->query("UPDATE {$tablepre}members SET $sql WHERE uid='$member[uid]'");
if($allowbanuser && ($db->affected_rows($query))) {
banlog($member['username'], $member['groupid'], $groupidnew, $banexpirynew, $reason);
}
$db->query("UPDATE {$tablepre}memberfields SET groupterms='".($member['groupterms'] ? addslashes(serialize($member['groupterms'])) : '')."' WHERE uid='$member[uid]'");
cpmsg('members_edit_succeed', 'admincp.php?action=editmember');
}
}
} elseif($action == 'access') {
$query = $db->query("SELECT username FROM {$tablepre}members WHERE uid='$uid'");
if(!$member = $db->fetch_array($query)) {
cpmsg('undefined_action');
}
require_once DISCUZ_ROOT.'./forumdata/cache/cache_forums.php';
if(!submitcheck('accesssubmit')) {
$accessmasks = array();
$query = $db->query("SELECT * FROM {$tablepre}access WHERE uid='$uid'");
while($access = $db->fetch_array($query)) {
$accessmasks[$access['fid']] = $access;
}
$members = '';
foreach($_DCACHE['forums'] as $fid => $forum) {
if($forum['type'] != 'group') {
if(isset($accessmasks[$fid])) {
$check = array( 'default' => '',
'view' => ($accessmasks[$fid]['allowview'] ? 'checked' : ''),
'post' => ($accessmasks[$fid]['allowpost'] ? 'checked' : ''),
'reply' => ($accessmasks[$fid]['allowreply'] ? 'checked' : ''),
'getattach' => ($accessmasks[$fid]['allowgetattach'] ? 'checked' : ''),
'postattach' => ($accessmasks[$fid]['allowpostattach'] ? 'checked' : ''));
} else {
$check = array( 'default' => 'checked',
'view' => '',
'post' => '',
'reply' => '',
'getattach' => '',
'postattach' => '');
}
$members .= "<tr><td bgcolor=\"".ALTBG1."\" width=\"22%\"><a href=\"admincp.php?action=forumdetail&fid=$forum[fid]\">$forum[name]</a></td>".
"<td bgcolor=\"".ALTBG2."\" width=\"13%\" align=\"center\"><input type=\"checkbox\" name=\"defaultnew[$fid]\" value=\"1\" $check[default]></td>\n".
"<td bgcolor=\"".ALTBG1."\" width=\"13%\" align=\"center\"><input type=\"checkbox\" name=\"allowviewnew[$fid]\" value=\"1\" $check[view]></td>\n".
"<td bgcolor=\"".ALTBG2."\" width=\"13%\" align=\"center\"><input type=\"checkbox\" name=\"allowpostnew[$fid]\" value=\"1\" $check[post]></td>\n".
"<td bgcolor=\"".ALTBG1."\" width=\"13%\" align=\"center\"><input type=\"checkbox\" name=\"allowreplynew[$fid]\" value=\"1\" $check[reply]></td>\n".
"<td bgcolor=\"".ALTBG2."\" width=\"13%\" align=\"center\"><input type=\"checkbox\" name=\"allowgetattachnew[$fid]\" value=\"1\" $check[getattach]></td>\n".
"<td bgcolor=\"".ALTBG1."\" width=\"13%\" align=\"center\"><input type=\"checkbox\" name=\"allowpostattachnew[$fid]\" value=\"1\" $check[postattach]></td></tr>";
}
}
?>
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="90%" align="center" class="tableborder">
<tr class="header"><td><?=$lang['tips']?></td></tr>
<tr bgcolor="<?=ALTBG1?>"><td>
<br><?=$lang['access_tips']?>
</td></tr></table>
<form method="post" action="admincp.php?action=access&uid=<?=$uid?>">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="90%" align="center" class="tableborder">
<tr class="header"><td colspan="7"><?=$lang['access_edit']?> - <?=$member['username']?></td></tr>
<tr class="category" align="center">
<td><?=$lang['forum']?></td><td><?=$lang['access_default']?></td><td><?=$lang['access_view']?></td><td><?=$lang['access_post']?></td><td><?=$lang['access_reply']?></td><td><?=$lang['access_getattach']?></td><td><?=$lang['access_postattach']?></td></tr>
<?=$members?>
</table><br>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -