📄 members.inc.php
字号:
<center><input type="submit" name="accesssubmit" value="<?=$lang['submit']?>"></center></form>
<?
} else {
$accessarray = array();
if(is_array($_DCACHE['forums'])) {
foreach($_DCACHE['forums'] as $fid => $forum) {
if($forum['type'] != 'group') {
if(!$defaultnew[$fid] && ($allowviewnew[$fid] || $allowpostnew[$fid] || $allowreplynew[$fid] || $allowgetattachnew[$fid] || $allowpostattachnew[$fid])) {
$accessarray[$fid] = "'$allowviewnew[$fid]', '$allowpostnew[$fid]', '$allowreplynew[$fid]', '$allowgetattachnew[$fid]', '$allowpostattachnew[$fid]'";
}
}
}
}
$db->query("DELETE FROM {$tablepre}access WHERE uid='$uid'");
$db->query("UPDATE {$tablepre}members SET accessmasks='".($accessarray ? 1 : 0)."' WHERE uid='$uid'");
foreach($accessarray as $fid => $access) {
$db->query("INSERT INTO {$tablepre}access (uid, fid, allowview, allowpost, allowreply, allowgetattach, allowpostattach)
VALUES ('$uid', '$fid', $access)");
}
updatecache('forums');
cpmsg('access_succeed');
}
} elseif($action == 'memberprofile') {
$query = $db->query("SELECT m.*, mf.*, o.*, u.type, u.allowsigbbcode, u.allowsigimgcode FROM {$tablepre}members m
LEFT JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
LEFT JOIN {$tablepre}onlinetime o ON o.uid=m.uid
LEFT JOIN {$tablepre}usergroups u ON u.groupid=m.groupid
WHERE m.uid='$uid'");
if(!$member = $db->fetch_array($query)) {
cpmsg('undefined_action');
}
require_once DISCUZ_ROOT.'./forumdata/cache/cache_profilefields.php';
$fields = array_merge($_DCACHE['fields_required'], $_DCACHE['fields_optional']);
if(!submitcheck('editsubmit')) {
$styleselect = "<select name=\"styleidnew\">\n<option value=\"\">$lang[use_default]</option>";
$query = $db->query("SELECT styleid, name FROM {$tablepre}styles");
while($style = $db->fetch_array($query)) {
$styleselect .= "<option value=\"$style[styleid]\" ".($style['styleid'] == $member['styleid'] ? 'selected="selected"' : '').">$style[name]</option>\n";
}
$styleselect .= '</select>';
$tfcheck = array($member['timeformat'] => 'checked');
$gendercheck = array($member['gender'] => 'checked');
$pscheck = array($member['pmsound'] => 'checked');
$member['dateformat'] = str_replace('n', 'mm', $member['dateformat']);
$member['dateformat'] = str_replace('j', 'dd', $member['dateformat']);
$member['dateformat'] = str_replace('y', 'yy', $member['dateformat']);
$member['dateformat'] = str_replace('Y', 'yyyy', $member['dateformat']);
$member['regdate'] = gmdate('Y-n-j h:i A', $member['regdate'] + $timeoffset * 3600);
$member['lastvisit'] = gmdate('Y-n-j h:i A', $member['lastvisit'] + $timeoffset * 3600);
echo "<br><form method=\"post\" action=\"admincp.php?action=memberprofile&uid=$uid&formhash=".FORMHASH."\">";
showtype("$lang[members_edit] - $member[username]", 'top');
showsetting('members_edit_username', 'usernamenew', $member['username'], 'text');
showsetting('members_edit_password', 'passwordnew', '', 'text');
showsetting('members_edit_clearquestion', 'clearquestion', !$member['secques'], 'radio');
showsetting('members_edit_nickname', 'nicknamenew', $member['nickname'], 'text');
showsetting('members_edit_gender', '', '', '<input type="radio" name="gendernew" value="1" '.$gendercheck[1].'> '.$lang['members_edit_gender_male'].' <input type="radio" name="gendernew" value="2" '.$gendercheck[2].'> '.$lang['members_edit_gender_female'].' <input type="radio" name="gendernew" value="0" '.$gendercheck[0].'> '.$lang['members_edit_gender_secret']);
showsetting('members_edit_email', 'emailnew', $member['email'], 'text');
showsetting('members_edit_posts', 'postsnew', $member['posts'], 'text');
showsetting('members_edit_digestposts', 'digestpostsnew', $member['digestposts'], 'text');
showsetting('members_edit_pageviews', 'pageviewsnew', $member['pageviews'], 'text');
showsetting('members_edit_online_total', 'totalnew', $member['total'], 'text');
showsetting('members_edit_online_thismonth', 'thismonthnew', $member['thismonth'], 'text');
showsetting('members_edit_regip', 'regipnew', $member['regip'], 'text');
showsetting('members_edit_regdate', 'regdatenew', $member['regdate'], 'text');
showsetting('members_edit_lastvisit', 'lastvisitnew', $member['lastvisit'], 'text');
showsetting('members_edit_lastip', 'lastipnew', $member['lastip'], 'text');
showtype('members_edit_info');
showsetting('members_edit_site', 'sitenew', $member['site'], 'text');
showsetting('members_edit_qq', 'qqnew', $member['qq'], 'text');
showsetting('members_edit_icq', 'icqnew', $member['icq'], 'text');
showsetting('members_edit_yahoo', 'yahoonew', $member['yahoo'], 'text');
showsetting('members_edit_msn', 'msnnew', $member['msn'], 'text');
showsetting('members_edit_location', 'locationnew', $member['location'], 'text');
showsetting('members_edit_bday', 'bdaynew', $member['bday'], 'text');
showsetting('members_edit_avatar', 'avatarnew', $member['avatar'], 'text');
showsetting('members_edit_avatar_width', 'avatarwidthnew', $member['avatarwidth'], 'text');
showsetting('members_edit_avatar_height', 'avatarheightnew', $member['avatarheight'], 'text');
showsetting('members_edit_avatarshowid', 'avatarshowidnew', $member['avatarshowid'], 'text');
showsetting('members_edit_bio', 'bionew', $member['bio'], 'textarea');
showsetting('members_edit_signature', 'signaturenew', $member['signature'], 'textarea');
showtype('members_edit_option');
showsetting('members_edit_style', '', '', $styleselect);
showsetting('members_edit_tpp', 'tppnew', $member['tpp'], 'text');
showsetting('members_edit_ppp', 'pppnew', $member['ppp'], 'text');
showsetting('members_edit_cstatus', 'cstatusnew', $member['customstatus'], 'text');
showsetting('members_edit_timeformat', '', '', '<input type="radio" name="timeformatnew" value="0" '.$tfcheck[0].'> '.$lang['default'].' <input type="radio" name="timeformatnew" value="1" '.$tfcheck[1].'> '.$lang['members_edit_timeformat_12'].' <input type="radio" name="timeformatnew" value="2" '.$tfcheck[2].'> '.$lang['members_edit_timeformat_24']);
showsetting('members_edit_dateformat', 'dateformatnew', $member['dateformat'], 'text');
showsetting('members_edit_timeoffset', 'timeoffsetnew', $member['timeoffset'], 'text');
showsetting('members_edit_pmsound', '', '', '<input type="radio" value="0" name="pmsoundnew" '.$pscheck[0].'>'.$lang['none'].' <input type="radio" value="1" name="pmsoundnew" '.$pscheck[1].'><a href="images/sound/pm_1.wav">#1</a> <input type="radio" value="2" name="pmsoundnew" '.$pscheck[2].'><a href="images/sound/pm_2.wav">#2</a> <input type="radio" value="3" name="pmsoundnew" '.$pscheck[3].'><a href="images/sound/pm_3.wav">#3</a>');
showsetting('members_edit_invisible', 'invisiblenew', $member['invisible'], 'radio');
showsetting('members_edit_showemail', 'showemailnew', $member['showemail'], 'radio');
showsetting('members_edit_newsletter', 'newsletternew', $member['newsletter'], 'radio');
showsetting('members_edit_ignorepm', 'ignorepmnew', $member['ignorepm'], 'textarea');
if($fields) {
showtype('members_edit_profilefield');
foreach($fields as $field) {
if($field['selective']) {
$fieldselect = "<select name=\"field_$field[fieldid]new\"><option value=\"\"> </option>";
foreach($field['choices'] as $index => $choice) {
$fieldselect .= "<option value=\"$index\" ".($index == $member['field_'.$field['fieldid']] ? 'selected="selected"' : '').">$choice</option>";
}
$fieldselect .= '</select>';
showsetting($field['title'], '', '', $fieldselect);
} else {
showsetting($field['title'], "field_$field[fieldid]new", $member['field_'.$field['fieldid']], 'text');
}
}
}
showtype('', 'bottom');
echo '<br><br><center><input type="submit" name="editsubmit" value="'.$lang['submit'].'"></center></form>';
} else {
require_once DISCUZ_ROOT.'./include/discuzcode.func.php';
$usernameold = addslashes($member['username']);
if($usernamenew && $usernameold != $usernamenew) {
$query = $db->query("SELECT uid FROM {$tablepre}members WHERE username='$usernamenew'");
if(($db->result($query, 0)) && ($db->result($query, 0)) != $member['uid']) {
cpmsg('members_edit_duplicate');
}
$db->query("UPDATE {$tablepre}announcements SET author='$usernamenew' WHERE author='$usernameold'");
$db->query("UPDATE {$tablepre}banned SET admin='$usernamenew' WHERE admin='$usernameold'");
$db->query("UPDATE {$tablepre}forums SET lastpost=REPLACE(lastpost, '\t$usernameold', '\t$usernamenew')");
$db->query("UPDATE {$tablepre}members SET username='$usernamenew' WHERE uid='$member[uid]'");
$db->query("UPDATE {$tablepre}pms SET msgfrom='$usernamenew' WHERE msgfromid='$member[uid]'");
$db->query("UPDATE {$tablepre}posts SET author='$usernamenew' WHERE authorid='$member[uid]'");
$db->query("UPDATE {$tablepre}threads SET author='$usernamenew' WHERE authorid='$member[uid]'");
$db->query("UPDATE {$tablepre}threads SET lastposter='$usernamenew' WHERE lastposter='$usernameold'");
$db->query("UPDATE {$tablepre}threadsmod SET username='$usernamenew' WHERE uid='$member[uid]'");
$username = $usernamenew;
}
$creditsnew = intval($creditsnew);
$regdatenew = strtotime($regdatenew);
$lastvisitnew = strtotime($lastvisitnew);
$passwordadd = $passwordnew ? ", password='".md5($passwordnew)."'" : '';
$secquesadd = $clearquestion ? ", secques=''" : '';
$dateformatnew = str_replace('mm', 'n', $dateformatnew);
$dateformatnew = str_replace('dd', 'j', $dateformatnew);
$dateformatnew = str_replace('yyyy', 'Y', $dateformatnew);
$dateformatnew = str_replace('yy', 'y', $dateformatnew);
$signaturenew = censor($signaturenew);
$sigstatusnew = $signaturenew ? 1 : 0;
$sightmlnew = addslashes(discuzcode(stripslashes($signaturenew), 1, 0, 0, 0, $member['allowsigbbcode'], $member['allowsigimgcode'], 0));
$oltimenew = round($totalnew / 60);
$fieldadd = '';
foreach(array_merge($_DCACHE['fields_required'], $_DCACHE['fields_optional']) as $field) {
$field_key = 'field_'.$field['fieldid'];
$field_val = trim(${'field_'.$field['fieldid'].'new'});
if($field['selective'] && $field_val != '' && !isset($field['choices'][$field_val])) {
cpmsg('undefined_action');
} else {
$fieldadd .= ", $field_key='".dhtmlspecialchars($field_val)."'";
}
}
$db->query("UPDATE {$tablepre}members SET gender='$gendernew', email='$emailnew', posts='$postsnew', digestposts='$digestpostsnew',
pageviews='$pageviewsnew', regip='$regipnew', regdate='$regdatenew', lastvisit='$lastvisitnew', lastip='$lastipnew', bday='$bdaynew',
styleid='$styleidnew', tpp='$tppnew', ppp='$pppnew', timeformat='$timeformatnew', dateformat='$dateformatnew', oltime='$oltimenew',
avatarshowid='$avatarshowidnew', showemail='$showemailnew', newsletter='$newsletternew', invisible='$invisiblenew', timeoffset='$timeoffsetnew',
pmsound='$pmsoundnew', sigstatus='$sigstatusnew' $passwordadd $secquesadd WHERE uid='$uid'");
$db->query("UPDATE {$tablepre}memberfields SET nickname='$nicknamenew', site='$sitenew', qq='$qqnew', icq='$icqnew', yahoo='$yahoonew', msn='$msnnew',
location='$locationnew', bio='$bionew', customstatus='$cstatusnew', ignorepm='$ignorepmnew', avatar='$avatarnew',
avatarwidth='$avatarwidthnew', avatarheight='$avatarheightnew', signature='$signaturenew', sightml='$sightmlnew'
$fieldadd WHERE uid='$uid'");
$db->query("REPLACE INTO {$tablepre}onlinetime (uid, thismonth, total)
VALUES ('$uid', '$thismonthnew', '$totalnew')");
cpmsg('members_edit_succeed');
}
} elseif($action == 'profilefields') {
if(!submitcheck('fieldsubmit') && !submitcheck('editsubmit') && !$edit) {
$query = $db->query("SELECT * FROM {$tablepre}profilefields");
while($field = $db->fetch_array($query)) {
$profilefields .= "<tr align=\"center\"><td bgcolor=\"".ALTBG1."\"><input type=\"checkbox\" name=\"delete[{$field[fieldid]}]\" value=\"$field[fieldid]\"></td>\n".
"<td bgcolor=\"".ALTBG2."\"><input type=\"text\" size=\"18\" name=\"titlenew[{$field[fieldid]}]\" value=\"$field[title]\">\n".
"<td bgcolor=\"".ALTBG1."\"><input type=\"checkbox\" name=\"availablenew[{$field[fieldid]}]\" value=\"1\" ".($field['available'] ? 'checked' : '')."></td>\n".
"<td bgcolor=\"".ALTBG2."\"><input type=\"checkbox\" name=\"invisiblenew[{$field[fieldid]}]\" value=\"1\" ".($field['invisible'] ? 'checked' : '')."></td>\n".
"<td bgcolor=\"".ALTBG1."\"><input type=\"checkbox\" name=\"unchangeablenew[{$field[fieldid]}]\" value=\"1\" ".($field['unchangeable'] ? 'checked' : '')."></td>\n".
"<td bgcolor=\"".ALTBG2."\"><input type=\"checkbox\" name=\"showinthreadnew[{$field[fieldid]}]\" value=\"1\" ".($field['showinthread'] ? 'checked' : '')."></td>\n".
"<td bgcolor=\"".ALTBG1."\"><input type=\"text\" size=\"2\" name=\"displayordernew[{$field[fieldid]}]\" value=\"$field[displayorder]\"></td>\n".
"<td bgcolor=\"".ALTBG2."\"><a href=\"admincp.php?action=profilefields&edit=$field[fieldid]\">[$lang[detail]]</a></td></tr>\n";
}
?>
<form method="post" action="admincp.php?action=profilefields">
<input type="hidden" name="formhash" value="<?=FORMHASH?>">
<table cellspacing="<?=INNERBORDERWIDTH?>" cellpadding="<?=TABLESPACE?>" width="90%" align="center" class="tableborder">
<tr class="header" align="center">
<td width="48"><input type="checkbox" name="chkall" class="header" onclick="checkall(this.form)"><?=$lang['del']?></td>
<td><?=$lang['fields_title']?></td><td><?=$lang['available']?></td><td><?=$lang['fields_invisible']?></td><td><?=$lang['fields_unchangeable']?></td><td><?=$lang['fields_show_in_thread']?></td><td><?=$lang['display_order']?></td><td><?=$lang['edit']?></td></tr>
<?=$profilefields?>
<tr><td colspan="7" class="singleborder"> </td></tr>
<tr align="center"><td bgcolor="<?=ALTBG1?>"><?=$lang['add_new']?></td>
<td bgcolor="<?=ALTBG2?>"><input type='text' name="newtitle" size="18"></td>
<td colspan="6" bgcolor="<?=ALTBG2?>"> </td>
</tr></table><br>
<center><input type="submit" name="fieldsubmit" value="<?=$lang['submit']?>"></center></form>
<?
} elseif(submitcheck('fieldsubmit')) {
if(is_array($titlenew)) {
foreach($titlenew as $id => $val) {
$db->query("UPDATE {$tablepre}profilefields SET title='$titlenew[$id]', available='$availablenew[$id]', invisible='$invisiblenew[$id]', displayorder='$displayordernew[$id]', unchangeable='$unchangeablenew[$id]', showinthread='$showinthreadnew[$id]' WHERE fieldid='$id'");
}
}
if(is_array($delete)) {
$ids = implode('\',\'', $delete);
$dropfields = implode(',DROP field_', $delete);
$db->query("DELETE FROM {$tablepre}profilefields WHERE fieldid IN ('$ids')");
$db->query("ALTER TABLE {$tablepre}memberfields DROP field_$dropfields");
}
if($newtitle) {
$db->query("INSERT INTO {$tablepre}profilefields (available, invisible, title, size)
VALUES ('1', '0', '$newtitle', '50')");
$fieldid = $db->insert_id();
$db->query("ALTER TABLE {$tablepre}memberfields ADD field_$fieldid v
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -