📄 memcp.php
字号:
if($join) {
$extgroupidsarray = array();
foreach(array_unique(array_merge(explode("\t", $extgroupids), array($edit))) as $extgroupid) {
if($extgroupid) {
$extgroupidsarray[] = $extgroupid;
}
}
$extgroupidsnew = implode("\t", $extgroupidsarray);
if($group['dailyprice']) {
if(($days = intval($days)) < $group['minspan']) {
showmessage('usergroups_span_invalid');
}
if(${'extcredits'.$creditstrans} - ($amount = $days * $group['dailyprice']) < ($minbalance = 0)) {
showmessage('credits_balance_insufficient');
}
$groupexpirynew = $timestamp + $days * 86400;
$groupterms['ext'][$edit] = $groupexpirynew;
$groupexpirynew = groupexpiry($groupterms);
$db->query("UPDATE {$tablepre}members SET groupexpiry='$groupexpirynew', extgroupids='$extgroupidsnew', extcredits$creditstrans=extcredits$creditstrans-'$amount' WHERE uid='$discuz_uid'");
$db->query("UPDATE {$tablepre}memberfields SET groupterms='".addslashes(serialize($groupterms))."' WHERE uid='$discuz_uid'");
$db->query("INSERT INTO {$tablepre}creditslog (uid, fromto, sendcredits, receivecredits, send, receive, dateline, operation)
VALUES ('$discuz_uid', '$discuz_user', '$creditstrans', '0', '$amount', '0', '$timestamp', 'UGP')");
} else {
$db->query("UPDATE {$tablepre}members SET extgroupids='$extgroupidsnew' WHERE uid='$discuz_uid'");
}
showmessage('usergroups_join_succeed', 'memcp.php?action=usergroups');
} else {
if($edit != $groupid) {
if(isset($groupterms['ext'][$edit])) {
unset($groupterms['ext'][$edit]);
}
$groupexpirynew = groupexpiry($groupterms);
$db->query("UPDATE {$tablepre}memberfields SET groupterms='".addslashes(serialize($groupterms))."' WHERE uid='$discuz_uid'");
} else {
$groupexpirynew = 'groupexpiry';
}
$extgroupidsarray = array();
foreach(explode("\t", $extgroupids) as $extgroupid) {
if($extgroupid && $extgroupid != $edit) {
$extgroupidsarray[] = $extgroupid;
}
}
$extgroupidsnew = implode("\t", array_unique($extgroupidsarray));
$db->query("UPDATE {$tablepre}members SET groupexpiry=$groupexpirynew, extgroupids='$extgroupidsnew' WHERE uid='$discuz_uid'");
showmessage('usergroups_exit_succeed', 'memcp.php?action=usergroups');
}
}
} else {
showmessage('undefined_action', NULL, 'HALTED');
}
}
} elseif($action == 'buddylist') {
if(!submitcheck('buddysubmit', 1)) {
$query = $db->query("SELECT b.*, m.username FROM {$tablepre}buddys b, {$tablepre}members m
WHERE b.uid='$discuz_uid' AND m.uid=b.buddyid ORDER BY dateline DESC");
while($buddy = $db->fetch_array($query)) {
$buddy['dateline'] = gmdate("$dateformat $timeformat", $buddy['dateline'] + $timeoffset * 3600);
$buddylist[] = $buddy;
}
include template('memcp_misc');
} else {
$buddyarray = array();
$query = $db->query("SELECT * FROM {$tablepre}buddys WHERE uid='$discuz_uid'");
while($buddy = $db->fetch_array($query)) {
$buddyarray[$buddy['buddyid']] = $buddy;
}
if(!empty($delete) && is_array($delete)) {
$db->query("DELETE FROM {$tablepre}buddys WHERE uid='$discuz_uid' AND buddyid IN ('".implode('\',\'', $delete)."')");
}
if(is_array($descriptionnew)) {
foreach($descriptionnew as $buddyid => $desc) {
if(($desc = cutstr(dhtmlspecialchars($desc), 255)) != addslashes($buddyarray[$buddyid]['description'])) {
$db->query("UPDATE {$tablepre}buddys SET description='$desc' WHERE uid='$discuz_uid' AND buddyid='$buddyid'");
}
}
}
if($newbuddy || $newbuddyid) {
if(!in_array($adminid, array(1, 2, 3))) {
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}buddys WHERE uid=$discuz_uid");
if(($db->result($query, 0)) > 20) {
showmessage('buddy_add_toomany');
}
}
$query = $db->query("SELECT uid FROM {$tablepre}members WHERE ".(empty($newbuddyid) ? "username='$newbuddy'" : "uid='$newbuddyid'"));
if($buddyid = $db->result($query, 0)) {
if(isset($buddyarray[$buddyid])) {
showmessage('buddy_add_invalid');
}
$db->query("INSERT INTO {$tablepre}buddys (uid, buddyid, dateline, description)
VALUES ('$discuz_uid', '$buddyid', '$timestamp', '".cutstr(dhtmlspecialchars($newdescription), 255)."')");
} else {
showmessage('buddy_add_nonexistence');
}
}
showmessage('buddy_update_succeed', 'memcp.php?action=buddylist');
}
} elseif($action == 'favorites') {
if(isset($favadd) && !submitcheck('favsubmit')) {
$query = $db->query("SELECT tid FROM {$tablepre}favorites WHERE uid='$discuz_uid' AND tid='$favadd' LIMIT 1");
if($db->result($query, 0)) {
showmessage('favorite_exists');
} else {
$db->query("INSERT INTO {$tablepre}favorites (uid, tid)
VALUES ('$discuz_uid', '$favadd')");
showmessage('favorite_add_succeed', dreferer());
}
} elseif(empty($favadd)) {
if(!submitcheck('favsubmit')) {
$favlist = array();
$query = $db->query("SELECT t.tid, t.fid, t.subject, t.replies, t.lastpost, t.lastposter, f.name
FROM {$tablepre}favorites fav, {$tablepre}threads t, {$tablepre}forums f
WHERE fav.tid=t.tid AND t.displayorder>='0' AND fav.uid='$discuz_uid' AND t.fid=f.fid ORDER BY t.lastpost DESC");
while($fav = $db->fetch_array($query)) {
$fav['lastposterenc'] = rawurlencode($fav['lastposter']);
$fav['lastpost'] = gmdate("$dateformat $timeformat", $fav['lastpost'] + $timeoffset * 3600);
$favlist[] = $fav;
}
include template('memcp_misc');
} else {
$ids = $comma = '';
if(!empty($delete) && is_array($delete)) {
foreach($delete as $deleteid) {
$ids .= $comma.$deleteid;
$comma = ', ';
}
}
if($ids) {
$db->query("DELETE FROM {$tablepre}favorites WHERE uid='$discuz_uid' AND tid IN ($ids)");
}
showmessage('favorite_update_succeed', dreferer());
}
}
} elseif($action == 'subscriptions') {
if(isset($subadd) && !submitcheck('subsubmit')) {
$query = $db->query("SELECT tid FROM {$tablepre}subscriptions WHERE tid='$subadd' AND uid='$discuz_uid' LIMIT 1");
if($db->result($query, 0)) {
showmessage('subscription_exists');
} else {
$db->query("INSERT INTO {$tablepre}subscriptions (uid, tid, lastpost, lastnotify)
VALUES ('$discuz_uid', '$subadd', '$lastpost', '')");
showmessage('subscription_add_succeed', dreferer());
}
} elseif(empty($subadd)) {
if(!submitcheck('subsubmit')) {
$subslist = array();
$query = $db->query("SELECT t.tid, t.fid, t.subject, t.replies, t.lastpost, t.lastposter, f.name
FROM {$tablepre}subscriptions s, {$tablepre}threads t, {$tablepre}forums f
WHERE t.tid=s.tid AND t.displayorder>='0' AND f.fid=t.fid AND s.uid='$discuz_uid' ORDER BY t.lastpost DESC");
while($subs = $db->fetch_array($query)) {
$subs['lastposterenc'] = rawurlencode($subs['lastposter']);
$subs['lastpost'] = gmdate("$dateformat $timeformat", $subs['lastpost'] + $timeoffset * 3600);
$subslist[] = $subs;
}
include template('memcp_misc');
} else {
$ids = $comma = '';
if(!empty($delete) && is_array($delete)) {
foreach($delete as $deleteid) {
$ids .= "$comma$deleteid";
$comma = ", ";
}
}
if($ids) {
$db->query("DELETE FROM {$tablepre}subscriptions WHERE uid='$discuz_uid' AND tid IN ($ids)");
}
showmessage('subscription_update_succeed', dreferer());
}
}
} elseif($action == 'viewavatars') {
if(!$allowavatar) {
showmessage('undefined_action', NULL, 'HALTED');
}
if(!submitcheck('avasubmit', 1)) {
$app = 16;
$avatarsdir = DISCUZ_ROOT.'./images/avatars';
$page = !ispage($page) ? 1 : $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 {
showmessage('profile_avatardir_nonexistence');
}
sort($avatars, SORT_REGULAR);
$num = count($avatars);
$start = ($page - 1) * $app;
$end = ($start + $app > $num) ? ($num) : ($start + $app - 1);
$multipage = multi($num, $app, $page, 'memcp.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].'"></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 type="radio" value="images/avatars/'.$avatars[$i + $j].'" name="avatarnew" '.$checked.'>'.$avatars[$i + $j];
} elseif($i + $j == 0) {
if(!$member['avatar']) {
$checked = 'checked';
}
$avatarlist .= '<input type="radio" value="" name="avatarnew" '.$checked.'><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>';
}
include template('memcp_misc');
} else {
@list($avatarwidthnew, $avatarheightnew) = getimagesize($avatarnew);
$maxsize = max($avatarwidthnew, $avatarheightnew);
if($maxsize > $maxavatarpixel) {
$avatarwidthnew = $avatarwidthnew * $maxavatarpixel / $maxsize;
$avatarheightnew = $avatarheightnew * $maxavatarpixel / $maxsize;
}
$db->query("UPDATE {$tablepre}memberfields SET avatar='".dhtmlspecialchars($avatarnew)."', avatarwidth='$avatarwidthnew', avatarheight='$avatarheightnew' WHERE uid='$discuz_uid'");
showmessage('profile_avatar_succeed', 'memcp.php?action=profile');
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -