📄 memcp.php
字号:
$query = $db->query("SELECT ap.*, a.filename, a.pid, a.dateline as adateline, t.subject, t.tid, m.username FROM {$tablepre}attachpaymentlog ap
LEFT JOIN {$tablepre}attachments a ON a.aid=ap.aid
LEFT JOIN {$tablepre}threads t ON t.tid=a.tid
LEFT JOIN {$tablepre}members m ON m.uid=ap.uid
WHERE ap.authorid='$discuz_uid' ORDER BY ap.dateline DESC
LIMIT $start_limit, $tpp");
while($log = $db->fetch_array($query)) {
$log['dateline'] = dgmdate("$dateformat $timeformat", $log['dateline'] + $timeoffset * 3600);
$log['adateline'] = dgmdate("$dateformat $timeformat", $log['adateline'] + $timeoffset * 3600);
$loglist[] = $log;
}
include template('memcp_credits_log');
} elseif($operation == 'rewardpaylog') {
$page = max(1, intval($page));
$start_limit = ($page - 1) * $tpp;
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}rewardlog WHERE authorid='$discuz_uid'");
$multipage = multi($db->result($query, 0), $tpp, $page, "memcp.php?action=creditslog&operation=incomelog");
$loglist = array();
$query = $db->query("SELECT
r.*, m.uid, m.username
, f.fid, f.name, t.subject, t.price
FROM
{$tablepre}rewardlog r
LEFT JOIN {$tablepre}threads t ON t.tid=r.tid
LEFT JOIN {$tablepre}forums f ON f.fid=t.fid
LEFT JOIN {$tablepre}members m ON m.uid=r.answererid
WHERE r.authorid='$discuz_uid' ORDER BY r.dateline DESC
LIMIT $start_limit, $tpp");
while($log = $db->fetch_array($query)) {
$log['dateline'] = dgmdate("$dateformat $timeformat", $log['dateline'] + $timeoffset * 3600);
$log['price'] = abs($log['price']);
$loglist[] = $log;
}
include template('memcp_credits_log');
} elseif($operation == 'rewardincomelog') {
$page = max(1, intval($page));
$start_limit = ($page - 1) * $tpp;
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}rewardlog WHERE answererid='$discuz_uid'");
$multipage = multi($db->result($query, 0), $tpp, $page, "memcp.php?action=creditslog&operation=incomelog");
$loglist = array();
$query = $db->query("SELECT r.*, m.uid, m.username, f.fid, f.name, t.subject, t.price FROM {$tablepre}rewardlog r
LEFT JOIN {$tablepre}threads t ON t.tid=r.tid
LEFT JOIN {$tablepre}forums f ON f.fid=t.fid
LEFT JOIN {$tablepre}members m ON m.uid=r.authorid
WHERE r.answererid='$discuz_uid' and r.authorid>0 ORDER BY r.dateline DESC
LIMIT $start_limit, $tpp");
while($log = $db->fetch_array($query)) {
$log['dateline'] = dgmdate("$dateformat $timeformat", $log['dateline'] + $timeoffset * 3600);
$log['price'] = abs($log['price']);
$loglist[] = $log;
}
include template('memcp_credits_log');
} else {
$operation = 'creditslog';
$page = max(1, intval($page));
$start_limit = ($page - 1) * $tpp;
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}creditslog WHERE uid='$discuz_uid'");
$multipage = multi($db->result($query, 0), $tpp, $page, "memcp.php?action=creditslog&operation=creditslog");
$loglist = array();
$query = $db->query("SELECT * FROM {$tablepre}creditslog WHERE uid='$discuz_uid' ORDER BY dateline DESC LIMIT $start_limit, $tpp");
while($log = $db->fetch_array($query)) {
$log['fromtoenc'] = rawurlencode($log['fromto']);
$log['dateline'] = dgmdate("$dateformat $timeformat", $log['dateline'] + $timeoffset * 3600);
$loglist[] = $log;
}
include template('memcp_credits_log');
}
} elseif($action == 'usergroups') {
require_once DISCUZ_ROOT.'./include/forum.func.php';
// if(!$allowmultigroups) {
// showmessage('group_nopermission', NULL, 'NOPERM');
// }
$switchmaingroup = $grouppublic || $grouptype == 'member' ? 1 : 0;
$extgroupidarray = $extgroupids ? explode("\t", $extgroupids) : array();
foreach($extgroupidarray as $key => $val) {
$val = intval($val);
if($val < 1) {
unset($extgroupidarray[$key]);
} else {
$extgroupidarray[$key] = intval($val);
}
}
if(implode("\t", $extgroupidarray) != $extgroupids) {
$extgroupids = implode("\t", $extgroupidarray);
$groupexpiryadd= empty($extgroupids) ? ", groupexpiry=''" : '';
$db->query("UPDATE {$tablepre}members SET extgroupids='$extgroupids' $groupexpiryadd WHERE uid='$discuz_uid'");
}
if(empty($type)) {
$groupterms = unserialize($db->result_first("SELECT groupterms FROM {$tablepre}memberfields WHERE uid='$discuz_uid'"));
$maingroup = $extgroups = $publicgroups = $grouplist = array();
$query = $db->query("SELECT * FROM {$tablepre}usergroups WHERE (type='special' AND system<>'private' AND radminid='0') OR (type='member' AND '$credits'>=creditshigher AND '$credits'<creditslower) OR groupid IN ('$groupid'".($extgroupids ? ', '.str_replace("\t", ',', $extgroupids) : '').") ORDER BY type, system");
while($group = $db->fetch_array($query)) {
if(!$group['allowmultigroups']) {
$group['grouptitle'] = '<u>'.$group['grouptitle'].'</u>';
}
$group['mainselected'] = $group['groupid'] == $groupid ? 'checked="checked"' : '';
$group['maindisabled'] = $switchmaingroup && (($group['system'] != 'private' && ($group['system'] == "0\t0" || $group['groupid'] == $groupid || in_array($group['groupid'], $extgroupidarray))) || $group['type'] == 'member') ? '' : 'disabled';
$group['allowsetmain'] = $switchmaingroup && (($group['system'] != 'private' && ($group['system'] == "0\t0" || $group['groupid'] == $groupid || in_array($group['groupid'], $extgroupidarray))) || $group['type'] == 'member') ? true : false;
$group['dailyprice'] = $group['minspan'] = 0;
if($group['system'] != 'private') {
list($group['dailyprice'], $group['minspan']) = explode("\t", $group['system']);
}
if($group['groupid'] == $groupid && !empty($groupterms['main'])) {
$group['expiry'] = gmdate($dateformat, $groupterms['main']['time'] + $timeoffset * 3600);
} elseif(isset($groupterms['ext'][$group['groupid']])) {
$group['expiry'] = gmdate($dateformat, $groupterms['ext'][$group['groupid']] + $timeoffset * 3600);
} else {
$group['expiry'] = '-';
}
if($group['groupid'] == $groupid) {
$maingroup = $group;
$group['owned'] = true;
} elseif(in_array($group['groupid'], $extgroupidarray)) {
$extgroups[] = $group;
$group['owned'] = true;
} else {
$group['owned'] = false;
}
if($group['system'] != 'private') {
$publicgroups[$group['groupid']] = $group;
}
}
$query = $db->query("SELECT * FROM {$tablepre}usergroups WHERE type!='system' ORDER BY type, creditshigher");
while ($group = $db->fetch_array($query)) {
$grouplist[$group['type']][] = $group;
}
include template('memcp_usergroups');
} else {
if($type == 'main' && $switchmaingroup) {
$edit = intval($edit);
$group = $db->fetch_first("SELECT groupid, type, system, grouptitle, allowmultigroups FROM {$tablepre}usergroups WHERE groupid='$edit' AND (".($extgroupids ? 'groupid IN ('.str_replace("\t", ',', $extgroupids).') OR ' : '')."(type='special' AND system='0\t0' AND radminid='0') OR (type='member' AND '$credits'>=creditshigher AND '$credits'<creditslower))");
if(!$group) {
showmessage('undefined_action', NULL, 'HALTED');
}
if(!submitcheck('groupsubmit')) {
include template('memcp_usergroups_misc');
dexit();
}
$extgroupidsnew = $groupid;
foreach(explode("\t", $extgroupids) as $extgroupid) {
if($extgroupid && $extgroupid != $edit) {
$extgroupidsnew .= "\t".$extgroupid;
}
}
$adminidnew = in_array($adminid, array(1, 2, 3)) ? $adminid : ($group['type'] == 'special' ? -1 : 0);
$db->query("UPDATE {$tablepre}members SET groupid='$edit', adminid='$adminidnew', extgroupids='$extgroupidsnew' WHERE uid='$discuz_uid'");
showmessage('usergroups_update_succeed', 'memcp.php?action=usergroups');
} elseif($type == 'extended') {
$group = $db->fetch_first("SELECT groupid, type, system, grouptitle FROM {$tablepre}usergroups WHERE groupid='$edit' AND (".($extgroupids ? 'groupid IN ('.str_replace("\t", ',', $extgroupids).') OR ' : '')."(type='special' AND system<>'private' AND radminid='0'))");
if(!$group) {
showmessage('undefined_action', NULL, 'HALTED');
}
$join = !in_array($group['groupid'], explode("\t", $extgroupids));
$group['dailyprice'] = $group['minspan'] = 0;
if($group['system'] != 'private') {
list($group['dailyprice'], $group['minspan']) = explode("\t", $group['system']);
if($group['dailyprice'] > -1 && $group['minspan'] == 0) {
$group['minspan'] = 1;
}
}
if(!isset($extcredits[$creditstrans])) {
showmessage('credits_transaction_disabled');
}
if(!submitcheck('groupsubmit')) {
$usermoney = ${'extcredits'.$creditstrans};
$usermaxdays = $group['dailyprice'] > 0 ? round($usermoney / $group['dailyprice']) : 0;
$group['minamount'] = $group['dailyprice'] * $group['minspan'];
include template('memcp_usergroups_misc');
} else {
$groupterms = unserialize($db->result_first("SELECT groupterms FROM {$tablepre}memberfields WHERE uid='$discuz_uid'"));
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('usergroups_nonexistence');
}
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -