📄 member.php
字号:
list($dateline, $operation, $idstring) = explode("\t", $member['authstr']);
if($dateline < $timestamp - 86400 * 3 || $operation != 1 || $idstring != $id) {
showmessage('getpasswd_illegal', NULL, 'HALTED');
}
if(!submitcheck('getpwsubmit') || $newpasswd1 != $newpasswd2) {
include template('getpasswd');
} else {
if($newpasswd1 != addslashes($newpasswd1)) {
showmessage('profile_passwd_illegal');
}
$password = md5($newpasswd1);
$db->query("UPDATE {$tablepre}members SET password='$password' WHERE uid='$uid'");
$db->query("UPDATE {$tablepre}memberfields SET authstr='' WHERE uid='$uid'");
showmessage('getpasswd_succeed');
}
} elseif($action == 'groupexpiry') {
if(!$discuz_uid) {
showmessage('undefined_action', NULL, 'HALTED');
}
if(!$groupexpiry) {
showmessage('group_expiry_disabled');
}
$query = $db->query("SELECT groupterms FROM {$tablepre}memberfields WHERE uid='$discuz_uid'");
$groupterms = unserialize($db->result($query, 0));
$expgrouparray = $expirylist = $termsarray = array();
if(!empty($groupterms['ext']) && is_array($groupterms['ext'])) {
$termsarray = $groupterms['ext'];
}
if(!empty($groupterms['main']['time']) && (empty($termsarray[$groupid]) || $termsarray[$groupid] > $groupterm['main']['time'])) {
$termsarray[$groupid] = $groupterms['main']['time'];
}
foreach($termsarray as $expgroupid => $expiry) {
if($expiry <= $timestamp) {
$expgrouparray[] = $expgroupid;
}
}
if(!empty($groupterms['ext'])) {
foreach($groupterms['ext'] as $extgroupid => $time) {
$expirylist[$extgroupid] = array('time' => gmdate($dateformat, $time + $timeoffset * 3600), 'type' => 'ext');
}
}
if(!empty($groupterms['main'])) {
$expirylist[$groupid] = array('time' => gmdate($dateformat, $groupterms['main']['time'] + $timeoffset * 3600), 'type' => 'main');
}
if($expirylist) {
$query = $db->query("SELECT groupid, grouptitle FROM {$tablepre}usergroups WHERE groupid IN (".implode(',', array_keys($expirylist)).")");
while($group = $db->fetch_array($query)) {
$expirylist[$group['groupid']]['grouptitle'] = in_array($group['groupid'], $expgrouparray) ? '<s>'.$group['grouptitle'].'</s>' : $group['grouptitle'];
}
} else {
$db->query("UPDATE {$tablepre}members SET groupexpiry='0' WHERE uid='$discuz_uid'");
}
if($expgrouparray) {
$extgroupidarray = array();
foreach(explode("\t", $extgroupids) as $extgroupid) {
if(($extgroupid = intval($extgroupid)) && !in_array($extgroupid, $expgrouparray)) {
$extgroupidarray[] = $extgroupid;
}
}
$groupidnew = $groupid;
$adminidnew = $adminid;
foreach($expgrouparray as $expgroupid) {
if($expgroupid == $groupid) {
if(!empty($groupterms['main']['groupid'])) {
$groupidnew = $groupterms['main']['groupid'];
$adminidnew = $groupterms['main']['adminid'];
} else {
$query = $db->query("SELECT groupid FROM {$tablepre}usergroups WHERE type='member' AND '$credits'>=creditshigher AND '$credits'<creditslower LIMIT 1");
$groupidnew = $db->result($query, 0);
if(in_array($adminid, array(1, 2, 3))) {
$query = $db->query("SELECT groupid FROM {$tablepre}usergroups WHERE groupid IN ('".implode('\',\'', $extgroupidarray)."') AND radminid='$adminid' LIMIT 1");
$adminidnew = ($db->num_rows($query)) ? $adminid : 0;
} else {
$adminidnew = 0;
}
}
unset($groupterms['main']);
}
unset($groupterms['ext'][$expgroupid]);
}
$groupexpirynew = groupexpiry($groupterms);
$extgroupidsnew = implode("\t", $extgroupidarray);
$grouptermsnew = addslashes(serialize($groupterms));
$db->query("UPDATE {$tablepre}members SET adminid='$adminidnew', groupid='$groupidnew', extgroupids='$extgroupidsnew', groupexpiry='$groupexpirynew' WHERE uid='$discuz_uid'");
$db->query("UPDATE {$tablepre}memberfields SET groupterms='$grouptermsnew' WHERE uid='$discuz_uid'");
}
include template('groupexpiry');
} elseif($action == 'switchstatus') {
if(!$discuz_uid) {
showmessage('undefined_action', NULL, 'HALTED');
} elseif(!$allowinvisible) {
showmessage('group_nopermission', NULL, 'NOPERM');
}
$db->query("UPDATE {$tablepre}members SET invisible = !invisible WHERE uid='$discuz_uid'", 'UNBUFFERED');
showmessage('switch_status_now', dreferer());
} elseif($action == 'grouppermission') {
$searchgroupid = isset($searchgroupid) ? intval($searchgroupid) : $groupid;
$grouplist = array();
$query = $db->query("SELECT groupid, type, grouptitle FROM {$tablepre}usergroups ORDER BY (creditshigher<>'0' || creditslower<>'0'), creditslower");
while($group = $db->fetch_array($query)) {
if($group[groupid] != $searchgroupid) {
$grouplist[$group['type']] .= '<tr><td class="altbg2" align="center"><a href="member.php?action=grouppermission&searchgroupid='.$group['groupid'].'">'.$group['grouptitle'].'</a></td></tr>';
} else {
$grouplist[$group['type']] .= '<tr><td class="altbg1" align="center"><span class="bold">'.$group['grouptitle'].'</span></td></tr>';
}
}
$query = $db->query("SELECT * FROM {$tablepre}usergroups u LEFT JOIN {$tablepre}admingroups a ON u.groupid=a.admingid WHERE u.groupid='$searchgroupid'");
if(!$group = $db->fetch_array($query)) {
showmessage('usergroups_nonexistence');
}
$group['maxattachsize'] = $group['maxattachsize'] / 1000;
$group['maxsizeperday'] = $group['maxsizeperday'] / 1000;
include template('member_grouppermission');
} elseif($action == 'viewavatars') {
$avatarextarray = array('gif', 'jpg', 'png');
if(!submitcheck('avasubmit', 1)) {
$app = 16;
$avatarsdir = DISCUZ_ROOT.'./images/avatars';
$page = max(1, intval($page));
$query = $db->query("SELECT avatar FROM {$tablepre}memberfields WHERE uid='$discuz_uid'");
$member = $db->fetch_array($query);
$avatarlist = '';
$avatars = array('');
if(is_dir($avatarsdir)) {
$adir = dir($avatarsdir);
while($entry = $adir->read()) {
if(in_array(strtolower(fileext($entry)), $avatarextarray) && is_file("$avatarsdir/$entry")) {
$avatars[] = $entry;
}
}
$adir->close();
} else {
include language('messages');
@dheader("Expires: -1");
@dheader("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE);
@dheader("Pragma: no-cache");
dheader("Content-type: application/xml");
echo "<?xml version=\"1.0\" encoding=\"$charset\"?>\n";
echo "<root><![CDATA[";
echo $language['profile_avatardir_nonexistence'];
echo "]]></root>";
die();
}
sort($avatars, SORT_REGULAR);
$num = count($avatars);
$start = ($page - 1) * $app;
$end = ($start + $app > $num) ? ($num) : ($start + $app - 1);
$multipage = multi($num, $app, $page, 'member.php?action=viewavatars');
for($i = $start; $i <= $end; $i += 4) {
$avatarlist .= "<tr>\n";
for($j = 0; $j < 4; $j++) {
$avatarlist .= '<td class="'.($thisbg = isset($thisbg) && $thisbg == 'altbg1' ? 'altbg2' : 'altbg1').'" width="25%" align="center">';
if($avatars[$i + $j] && ($i + $j)) {
$avatarlist .= '<img src="images/avatars/'.$avatars[$i + $j].'" alt="" /></td>';
} else {
$avatarlist .= ' </td>';
}
}
$avatarlist .= '</tr><tr>';
for($j = 0; $j < 4; $j++) {
$avatarlist .= '<td class="'.$thisbg.'" width="25%" align="center">';
if($avatars[$i + $j] && ($i + $j)) {
if(strpos($member['avatar'], $avatars[$i + $j])) {
$checked = 'checked';
} else {
$checked = '';
}
$avatarlist .= '<input class="radio" type="radio" value="images/avatars/'.$avatars[$i + $j].'" name="systemavatar" '.$checked.' onclick="if($(\'urlavatar\')) { $(\'urlavatar\').value=this.value }">'.$avatars[$i + $j];
} elseif($i + $j == 0) {
if(!$member['avatar']) {
$checked = 'checked';
}
$avatarlist .= '<input class="radio" type="radio" value="" name="systemavatar" '.$checked.' onclick="if($(\'urlavatar\')) { $(\'urlavatar\').value=this.value }"><span class="bold">None</span>';
} else {
$avatarlist .= ' </td>';
}
$thisbg = isset($thisbg) && $thisbg == 'altbg1' ? 'altbg2' : 'altbg1';
}
$avatarlist .= '</tr><tr><td colspan="4" class="singleborder"></td></tr>';
}
@dheader("Expires: -1");
@dheader("Cache-Control: no-store, private, post-check=0, pre-check=0, max-age=0", FALSE);
@dheader("Pragma: no-cache");
dheader("Content-type: application/xml");
echo "<?xml version=\"1.0\" encoding=\"$charset\"?>\n";
echo "<root><![CDATA[";
include template('member_misc');
echo "]]></root>";
}
} else {
showmessage('undefined_action', NULL, 'HALTED');
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -