📄 my.php
字号:
if($ids = implodeids($delete)) {
$db->query("DELETE FROM {$tablepre}subscriptions WHERE uid='$discuz_uid' AND tid IN ($ids)", 'UNBUFFERED');
}
showmessage('subscription_update_succeed', dreferer());
}
}
}
} elseif($item == 'selltrades' || $item == 'buytrades') {
if(empty($ec_id)) {
showmessage('undefined_action', NULL, 'HALTED');
}
require_once DISCUZ_ROOT.'./api/tradeapi.php';
include_once language('misc');
$sqlfield = $item == 'selltrades' ? 'sellerid' : 'buyerid';
switch($filter) {
case 'attention': $typestatus = $item; break;
case 'trading' : $typestatus = 'tradingtrades'; break;
case 'success' : $typestatus = 'successtrades'; break;
case 'closed' : $typestatus = 'closedtrades'; break;
case 'refund' : $typestatus = 'refundtrades'; break;
case 'unstart' : $typestatus = 'unstarttrades'; break;
default : $typestatus = '';
}
$sqlfilter = $typestatus ? 'AND tl.status IN (\''.trade_typestatus($typestatus).'\')' : '';
$sqltid = $tid ? 'AND tl.tid ='.$tid : '';
$extra .= $srchfid ? '&filter='.$filter : '';
$extratid = $tid ? "&tid=$tid" : '';
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}tradelog tl, {$tablepre}threads t WHERE tl.tid = t.tid AND tl.$sqlfield='$discuz_uid' $threadadd $sqltid $sqlfilter");
$num = $db->result($query, 0);
$multipage = multi($num, $tpp, $page, "my.php?item=$item$extratid$extrafid".($filter ? "&filter=$filter" : '').$extrafid);
$query = $db->query("SELECT tl.*, t.subject AS threadsubject FROM {$tablepre}tradelog tl, {$tablepre}threads t
WHERE tl.tid = t.tid AND tl.$sqlfield = '$discuz_uid' $threadadd $sqltid $sqlfilter ORDER BY lastupdate DESC LIMIT $start_limit, $tpp");
$tradeloglist = array();
while($tradelog = $db->fetch_array($query)) {
$tradelog['lastupdate'] = gmdate("$dateformat $timeformat", $tradelog['lastupdate'] + $timeoffset * 3600);
$tradelog['attend'] = trade_typestatus($item, $tradelog['status']);
$tradelog['status'] = trade_getstatus($tradelog['status']);
$tradeloglist[] = $tradelog;
}
} elseif($item == 'tradestats') {
if(empty($ec_id)) {
showmessage('undefined_action', NULL, 'HALTED');
}
require_once DISCUZ_ROOT.'./api/tradeapi.php';
$buyerattends = trade_typestatus('buytrades');
$sellerattends = trade_typestatus('selltrades');
$query = $db->query("SELECT COUNT(*) AS totalitems, SUM(price) AS tradesum FROM {$tablepre}tradelog WHERE buyerid='$discuz_uid' and status in ('".trade_typestatus('successtrades')."')");
$buystats = $db->fetch_array($query);
$query = $db->query("SELECT COUNT(*) AS totalitems, SUM(price) AS tradesum FROM {$tablepre}tradelog WHERE sellerid='$discuz_uid' and status in ('".trade_typestatus('successtrades')."')");
$sellstats = $db->fetch_array($query);
$currentcredit = $_DSESSION['extcredits'.$creditstrans];
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}tradelog WHERE buyerid='$discuz_uid' AND status in ('$buyerattends')");
$buyerattend = $db->result($query, 0);
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}tradelog WHERE sellerid='$discuz_uid' AND status in ('$sellerattends')");
$sellerattend = $db->result($query, 0);
} elseif($item == 'tradethreads') {
if(empty($ec_id)) {
showmessage('undefined_action', NULL, 'HALTED');
}
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}threads t INNER JOIN {$tablepre}trades USING(tid) WHERE t.authorid='$discuz_uid' AND t.special='2' $threadadd");
$num = $db->result($query, 0);
$multipage = multi($num, $tpp, $page, "my.php?item=tradethreads$extrafid");
$query = $db->query("SELECT t.*, tr.amount, tr.totalitems, tr.tradesum, tr.lastbuyer, tr.lastupdate FROM {$tablepre}threads t INNER JOIN {$tablepre}trades tr using(tid) WHERE t.authorid='$discuz_uid' AND t.special='2' $threadadd ORDER BY tr.tradesum DESC, tr.totalitems DESC LIMIT $start_limit, $tpp");
while($tradethread = $db->fetch_array($query)) {
$tradethread['lastupdate'] = gmdate("$dateformat $timeformat", $tradethread['lastupdate'] + $timeoffset * 3600);
$tradethread['lastbuyer'] = rawurlencode($tradethread['lastbuyer']);
$threadlist[] = $tradethread;
}
} elseif($item == 'reward') {
$rewardloglist = Array();
$multipage = '';
if($type == 'stats') {
$query = $db->query("SELECT COUNT(*) AS total, SUM(ABS(netamount)) AS totalprice FROM {$tablepre}rewardlog WHERE authorid='$discuz_uid'");
$questions = $db->fetch_array($query);
$questions['total'] = $questions['total'] ? $questions['total'] : 0;
$questions['totalprice'] = $questions['totalprice'] ? $questions['totalprice'] : 0;
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}rewardlog WHERE authorid='$discuz_uid' and answererid>0");
$questions['solved'] = $db->result($query, 0);
$questions['percent'] = number_format(($questions['total'] != 0) ? round($questions['solved'] / $questions['total'] * 100, 2) : 0, 2, '.', '');
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}rewardlog WHERE answererid='$discuz_uid'");
$answers['total'] = $db->result($query, 0);
$query = $db->query("SELECT COUNT(*) AS tids, SUM(ABS(t.price)) AS totalprice
FROM {$tablepre}rewardlog r
LEFT JOIN {$tablepre}threads t USING(tid)
WHERE r.authorid>0 and r.answererid='$discuz_uid'");
$answeradopted = $db->fetch_array($query);
$answers['adopted'] = $answeradopted['tids'];
$answers['totalprice'] = $answeradopted['totalprice'] ? $answeradopted['totalprice'] : 0;
$answers['percent'] = number_format(($answers['total'] != 0) ? round($answers['adopted'] / $answers['total'] * 100, 2) : 0, 2, '.', '');
} elseif($type == 'answer') {
$extra .= $srchfid ? '&type=answer' : '';
$filter = isset($filter) && in_array($filter, array('adopted', 'unadopted')) ? $filter : '';
$sqlfilter = empty($filter) ? '' : ($filter == 'adopted' ? 'AND r.authorid>0' : 'AND r.authorid=0');
$page = max(1, intval($page));
$start_limit = ($page - 1) * $tpp;
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}rewardlog r WHERE answererid='$discuz_uid'");
$multipage = multi($db->result($query, 0), $tpp, $page, "my.php?item=reward&type=answer$extrafid");
$query = $db->query("SELECT r.*, t.subject, t.price, m.uid, m.username, f.fid, f.name
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=t.authorid
WHERE r.answererid='$discuz_uid' $threadadd $sqlfilter
ORDER BY r.dateline DESC
LIMIT $start_limit, $tpp");
while($rewardlog = $db->fetch_array($query)) {
$rewardlog['dateline'] = gmdate("$dateformat $timeformat", $rewardlog['dateline'] + $timeoffset * 3600);
$rewardlog['price'] = abs($rewardlog['price']);
$rewardloglist[] = $rewardlog;
}
} elseif($type == 'question') {
$extra .= $srchfid ? '&type=question' : '';
$filter = in_array($filter, array('solved', 'unsolved')) ? $filter : '';
$sqlfilter = empty($filter) ? '' : ($filter == 'solved' ? 'AND r.answererid>0' : 'AND r.answererid=0');
$page = max(1, intval($page));
$start_limit = ($page - 1) * $tpp;
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}rewardlog r WHERE authorid='$discuz_uid' $sqlfilter");
$multipage = multi($db->result($query, 0), $tpp, $page, "my.php?item=reward&type=question&filter=$filter$extrafid");
$query = $db->query("SELECT r.*, t.subject, t.price, m.uid, m.username, f.fid, f.name
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' $threadadd $sqlfilter
ORDER BY r.dateline DESC
LIMIT $start_limit, $tpp");
while($rewardlog = $db->fetch_array($query)) {
$rewardlog['dateline'] = gmdate("$dateformat $timeformat", $rewardlog['dateline'] + $timeoffset * 3600);
$rewardlog['price'] = abs($rewardlog['price']);
$rewardloglist[] = $rewardlog;
}
} else {
showmessage('undefined_action');
}
} elseif($item == 'activities') {
$ended = isset($ended) && in_array($ended, array('yes', 'no')) ? $ended : '';
$sign = $ascadd = '';
$activity = array();
if($ended == 'yes') {
$sign = " AND starttimefrom<'$timestamp'";
$ascadd = 'DESC';
} elseif($ended == 'no') {
$sign = " AND starttimefrom>='$timestamp'";
}
if($type == 'orig') {
$extra .= $srchfid ? '&type=orig' : '';
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}activities a LEFT JOIN {$tablepre}threads t USING(tid) WHERE a.uid='$discuz_uid' AND t.special='4' $threadadd $sign");
$num = $db->result($query, 0);
$multipage = multi($num, $tpp, $page, "my.php?item=activities&type=orig&ended=$ended$extrafid");
$query = $db->query("SELECT a.*, t.subject FROM {$tablepre}activities a LEFT JOIN {$tablepre}threads t USING(tid) WHERE a.uid='$discuz_uid' AND t.special='4' $threadadd $sign ORDER BY starttimefrom $ascadd LIMIT $start_limit, $tpp");
while($tempact = $db->fetch_array($query)) {
$tempact['starttimefrom'] = gmdate("$dateformat $timeformat", $tempact['starttimefrom'] + $timeoffset * 3600);
$activity[] = $tempact;
}
} else {
$extra .= $srchfid ? '&type='.$type : '';
$query = $db->query("SELECT COUNT(*) FROM {$tablepre}activityapplies aa LEFT JOIN {$tablepre}activities a USING(tid) LEFT JOIN {$tablepre}threads t USING(tid) WHERE a.uid='$discuz_uid' $threadadd$sign");
$num = $db->result($query, 0);
$multipage = multi($num, $tpp, $page, "my.php?item=activities&type=apply&ended=$ended$extrafid");
$query = $db->query("SELECT aa.verified, aa.tid, starttimefrom, a.place, a.cost, t.subject FROM {$tablepre}activityapplies aa LEFT JOIN {$tablepre}activities a USING(tid) LEFT JOIN {$tablepre}threads t USING(tid) WHERE aa.uid='$discuz_uid' $threadadd$sign ORDER BY starttimefrom $ascadd LIMIT $start_limit, $tpp");
while($tempact = $db->fetch_array($query)) {
$tempact['starttimefrom'] = gmdate("$dateformat $timeformat", $tempact['starttimefrom'] + $timeoffset * 3600);
$activity[] = $tempact;
}
}
} elseif($item == 'promotion' && ($creditspolicy['promotion_visit'] || $creditspolicy['promotion_register'])) {
$promotion_visit = $promotion_register = $val = $space = '';
foreach(array('promotion_visit', 'promotion_register') as $val) {
if(!empty($creditspolicy[$val]) && is_array($creditspolicy[$val])) {
foreach($creditspolicy[$val] as $id => $policy) {
$$val .= $space.$extcredits[$id]['title'].' +'.$policy;
$space = ' ';
}
}
}
} else {
showmessage('undefined_action', NULL, 'HALTED');
}
include template('my');
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -