📄 members.inc.php
字号:
for($i=1; $i<=8; $i++) {
$js_extcreditids .= (isset($extcredits[$i]) ? ($js_extcreditids ? ',' : '').$i : '');
$creditscols[] = isset($extcredits[$i]) ? $extcredits[$i]['title'] : 'extcredits'.$i;
$creditsvalue[] = isset($extcredits[$i]) ? '<input type="text" class="txt" size="3" id="addextcredits['.$i.']" name="addextcredits['.$i.']" value="0"> '.$extcredits['$i']['unit'] : '<input type="text" class="txt" size="3" value="N/A" disabled>';
$resetcredits[] = isset($extcredits[$i]) ? '<input type="checkbox" id="resetextcredits['.$i.']" name="resetextcredits['.$i.']" value="1" class="radio" disabled> '.$extcredits['$i']['unit'] : '<input type="checkbox" disabled class="radio">';
}
$creditsvalue = array_merge(array('<input type="radio" name="updatecredittype" id="updatecredittype0" value="0" class="radio" onclick="var extcredits = new Array('.$js_extcreditids.'); for(k in extcredits) {$(\'resetextcredits[\'+extcredits[k]+\']\').disabled = true; $(\'addextcredits[\'+extcredits[k]+\']\').disabled = false;}" checked="checked" /><label for="updatecredittype0">'.$lang['members_credits_value'].'</label>'), $creditsvalue);
$resetcredits = array_merge(array('<input type="radio" name="updatecredittype" id="updatecredittype1" value="1" class="radio" onclick="var extcredits = new Array('.$js_extcreditids.'); for(k in extcredits) {$(\'addextcredits[\'+extcredits[k]+\']\').disabled = true; $(\'resetextcredits[\'+extcredits[k]+\']\').disabled = false;}" /><label for="updatecredittype1">'.$lang['members_credits_clean'].'</label>'), $resetcredits);
eval("\$lang[members_search_result] = \"".$lang['members_search_result']."\";");
showtablerow('class="first"', array('class="th11"'), array(
lang('members_reward_members'),
"$lang[members_search_result] <a href=\"###\" onclick=\"$('searchmembers').style.display='';$('reward').style.display='none';$('step1').className='current';$('step2').className='';\" class=\"act\">$lang[research]</a>"
));
echo '<tr><td class="th12">'.lang('nav_members_reward').'</td><td>';
showtableheader('', 'noborder');
showsubtitle($creditscols);
showtablerow('', array('class="td23"', 'class="td28"', 'class="td28"', 'class="td28"', 'class="td28"', 'class="td28"', 'class="td28"', 'class="td28"', 'class="td28"'), $creditsvalue);
showtablerow('', array('class="td23"', 'class="td28"', 'class="td28"', 'class="td28"', 'class="td28"', 'class="td28"', 'class="td28"', 'class="td28"', 'class="td28"'), $resetcredits);
showtablefooter();
echo '</td></tr>';
showtagheader('tbody', 'messagebody');
shownewsletter();
showtagfooter('tbody');
showsubmit('rewardsubmit', 'submit', 'td', '<input class="checkbox" type="checkbox" name="notifymembers" value="1" onclick="$(\'messagebody\').style.display = this.checked ? \'\' : \'none\'" id="credits_notify" /><label for="credits_notify">'.lang('members_credits_notify').'</label>');
}
showtablefooter();
showformfooter();
showtagfooter('div');
}
} else {
countmembers();
notifymembers('reward', 'creditsnotify');
}
} elseif($operation == 'confermedal') {
$medals = '';
$query = $db->query("SELECT * FROM {$tablepre}medals WHERE available='1'");
while($medal = $db->fetch_array($query)) {
$medals .= showtablerow('', array('class="td25"', 'class="td25"'), array(
"<input class=\"checkbox\" type=\"checkbox\" name=\"medals[$medal[medalid]]\" value=\"1\" />",
"<img src=\"images/common/$medal[image]\" />",
$medal[name]
), TRUE);
}
if(!$medals) {
cpmsg('members_edit_medals_nonexistence', 'admincp.php?action=medals', 'error');
}
if(!submitcheck('confermedalsubmit', 1)) {
shownav('user', 'nav_members_confermedal');
showsubmenusteps('nav_members_confermedal', array(
array('nav_members_select', !$submit),
array('nav_members_confermedal', $submit),
));
searchmembers('confermedal');
if(submitcheck('submit', 1)) {
countmembers();
showtagheader('div', 'confermedal', TRUE);
showformheader('members&operation=confermedal'.$urladd);
echo '<table class="tb tb1">';
if(!$membernum) {
showtablerow('', 'class="lineheight"', $lang['members_search_nonexistence']);
showtablefooter();
} else {
eval("\$lang[members_search_result] = \"".$lang['members_search_result']."\";");
showtablerow('class="first"', array('class="th11"'), array(
lang('members_confermedal_members'),
"$lang[members_search_result] <a href=\"###\" onclick=\"$('searchmembers').style.display='';$('confermedal').style.display='none';$('step1').className='current';$('step2').className='';\" class=\"act\">$lang[research]</a>"
));
echo '<tr><td class="th12">'.lang('members_confermedals').'</td><td>';
showtableheader('', 'noborder');
showsubtitle(array('medals_grant', 'medals_image', 'name'));
echo $medals;
showtablefooter();
echo '</td></tr>';
showtagheader('tbody', 'messagebody');
shownewsletter();
showtagfooter('tbody');
showsubmit('confermedalsubmit', 'submit', 'td', '<input class="checkbox" type="checkbox" name="notifymembers" value="1" onclick="$(\'messagebody\').style.display = this.checked ? \'\' : \'none\'" id="grant_notify"/><label for="grant_notify">'.lang('medals_grant_notify').'</label>');
}
showtablefooter();
showformfooter();
showtagfooter('div');
}
} else {
countmembers();
notifymembers('confermedal', 'medalletter');
}
} elseif($operation == 'add') {
if(!submitcheck('addsubmit')) {
$groupselect = '';
$query = $db->query("SELECT groupid, type, grouptitle, creditshigher FROM {$tablepre}usergroups WHERE type='member' AND creditshigher='0' OR (groupid NOT IN ('5', '6', '7') AND radminid<>'1' AND type<>'member') ORDER BY type DESC, (creditshigher<>'0' || creditslower<>'0'), creditslower");
while($group = $db->fetch_array($query)) {
if($group['type'] == 'member' && $group['creditshigher'] == 0) {
$groupselect .= "<option value=\"$group[groupid]\" selected>$group[grouptitle]</option>\n";
} else {
$groupselect .= "<option value=\"$group[groupid]\">$group[grouptitle]</option>\n";
}
}
shownav('user', 'nav_members_add');
showsubmenu('members_add');
showformheader('members&operation=add');
showtableheader();
showsetting('username', 'newusername', '', 'text');
showsetting('password', 'newpassword', '', 'text');
showsetting('email', 'newemail', '', 'text');
showsetting('usergroup', '', '', '<select name="newgroupid">'.$groupselect.'</select>');
showsetting('members_add_email_notify', 'emailnotify', '', 'radio');
showsubmit('addsubmit');
showtablefooter();
showformfooter();
} else {
$newusername = trim($newusername);
$newpassword = trim($newpassword);
$newemail = trim($newemail);
if(!$newusername || !$newpassword || !$newemail) {
cpmsg('members_add_invalid', '', 'error');
}
if($db->result_first("SELECT count(*) FROM {$tablepre}members WHERE username='$newusername'")) {
cpmsg('members_add_username_duplicate', '', 'error');
}
require_once DISCUZ_ROOT.'./uc_client/client.php';
$uid = uc_user_register($newusername, $newpassword, $newemail);
if($uid <= 0) {
if($uid == -1) {
cpmsg('members_add_illegal', '', 'error');
} elseif($uid == -2) {
cpmsg('members_username_protect', '', 'error');
} elseif($uid == -3) {
cpmsg('members_add_username_activation', '', 'error');
} elseif($uid == -4) {
cpmsg('members_email_illegal', '', 'error');
} elseif($uid == -5) {
cpmsg('members_email_domain_illegal', '', 'error');
} elseif($uid == -6) {
cpmsg('members_email_duplicate', '', 'error');
} else {
cpmsg('undefined_action', '', 'error');
}
}
$query = $db->query("SELECT groupid, radminid, type FROM {$tablepre}usergroups WHERE groupid='$newgroupid'");
$group = $db->fetch_array($query);
$newadminid = in_array($group['radminid'], array(1, 2, 3)) ? $group['radminid'] : ($group['type'] == 'special' ? -1 : 0);
if($group['radminid'] == 1) {
cpmsg('members_add_admin_none', '', 'error');
}
if(in_array($group['groupid'], array(5, 6, 7))) {
cpmsg('members_add_ban_all_none', '', 'error');
}
$db->query("INSERT INTO {$tablepre}members (uid, username, password, secques, gender, adminid, groupid, regip, regdate, lastvisit, lastactivity, posts, credits, email, bday, sigstatus, tpp, ppp, styleid, dateformat, timeformat, showemail, newsletter, invisible, timeoffset)
VALUES ('$uid', '$newusername', '".md5(random(10))."', '', '0', '$newadminid', '$newgroupid', 'Manual Acting', '$timestamp', '$timestamp', '$timestamp', '0', '0', '$newemail', '0000-00-00', '0', '0', '0', '0', '0', '{$_DCACHE[settings][timeformat]}', '1', '1', '0', '{$_DCACHE[settings][timeoffset]}')");
$db->query("REPLACE INTO {$tablepre}memberfields (uid) VALUES ('$uid')");
if($emailnotify) {
sendmail("$newusername <$newemail>", 'add_member_subject', 'add_member_message');
}
updatecache('settings');
$newusername = stripslashes($newusername);
cpmsg('members_add_succeed', '', 'succeed');
}
} elseif($operation == 'editgroups') {
$member = $db->fetch_first("SELECT m.uid, m.username, m.adminid, m.groupid, m.groupexpiry, m.extgroupids, m.credits,
mf.groupterms, u.type AS grouptype, u.grouptitle, u.radminid
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 m.uid='$uid'");
if(!$member) {
cpmsg('members_edit_nonexistence', '', 'error');
} elseif(!$isfounder && ($member['adminid'] == 1 || $member['groupid'] == 1)) {
cpmsg('members_super_edit_admin_allow', '', 'error');
}
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');
}
$extgroups = $expgroups = '';
$radmingids = 0;
$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 .= showtablerow('', array('class="td22"', 'style="width:80%"'), array(
'<input class="checkbox" type="checkbox" name="extgroupidsnew[]" value="'.$group['groupid'].'" '.(in_array($group['groupid'], $extgrouparray) ? 'checked' : '').' id="extgid_'.$group['groupid'].'" /><label for="extgid_'.$group['groupid'].'"> '.$group['grouptitle'].'</label>',
'<input type="text" class="txt" size="9" 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) : '').'" onclick="showcalendar(event, this)" />'
), TRUE);
}
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) {
$groups[$group['type']] .= '<option value="'.$group['groupid'].'"'.($member['groupid'] == $group['groupid'] ? 'selected="selected"' : '').' gtype="'.$group['type'].'">'.$group['grouptitle'].'</option>';
if($group['type'] == 'special' && !$group['radminid']) {
$radmingids .= ','.$group['groupid'];
}
}
} while($group = $db->fetch_array($query));
if(!$groups['member']) {
$group = $db->fetch_first("SELECT groupid, grouptitle FROM {$tablepre}usergroups WHERE type='member' AND creditshigher>='0' ORDER BY creditshigher LIMIT 1");
$groups['member'] = '<option value="'.$group['groupid'].'" gtype="member">'.$group['grouptitle'].'</option>';
}
shownav('user', 'members_edit_groups');
eval("\$lang[members_edit_member_group] = \"".$lang['members_edit_member_group']."\";");
showsubmenu('members_edit_member_group');
echo '<script src="include/javascript/calendar.js" type="text/javascript"></script>';
showformheader("members&operation=editgroups&uid=$member[uid]");
showtableheader('usergroup', 'nobottom');
showsetting('members_edit_groups_group', '', '', '<select name="groupidnew" onchange="if(in_array(this.value, ['.$radmingids.'])) {$(\'relatedadminid\').style.display = \'\';$(\'adminidnew\').name=\'adminidnew[\' + this.value + \']\';} else {$(\'relatedadminid\').style.display = \'none\';$(\'adminidnew\').name=\'adminidnew[0]\';}"><optgroup label="'.$lang['usergroups_system'].'">'.$groups['system'].'<optgroup label="'.$lang['usergroups_special'].'">'.$groups['special'].'<optgroup label="'.$lang['usergroups_member'].'">'.$groups['member'].'</select>');
showtagheader('tbody', 'relatedadminid', $member['grouptype'] == 'special' && !$member['radminid'], 'sub');
showsetting('members_edit_groups_related_adminid', '', '', '<select id="adminidnew" name="adminidnew['.$member['groupid'].']"><option value="0"'.($member['adminid'] == 0 ? ' selected' : '').'>'.$lang['none'].'</option><option value="3"'.($member['adminid'] == 3 ? ' selected' : '').'>'.$lang['usergroups_system_3'].'</option><option value="2"'.($member['adminid'] == 2 ? ' selected' : '').'>'.$lang['usergroups_system_2'].'</option><option value="1"'.($member['adminid'] == 1 ? ' selected' : '').'>'.$lang['usergroups_system_1'].'</option></select>');
showtagfooter('tbody');
showsetting('members_edit_groups_validity', 'expirydatenew', $expirydate, 'calendar');
showsetting('members_edit_groups_orig_adminid', '', '', '<select name="expgroupidnew">'.$expgroups.'</select>');
showsetting('members_edit_groups_orig_groupid', '', '', '<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>');
showtablefooter();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -