⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 my.php

📁 论坛代码网增加免费空间业务
💻 PHP
📖 第 1 页 / 共 2 页
字号:
		$extrasrchkey = '&srchkey='.rawurlencode($srchkey);
		$srchkey = dhtmlspecialchars($srchkey);
	} else {
		$sqlkey = $extrasrchkey = $srchkey = '';
	}

	$sqltid = $tid ? 'AND tid ='.$tid : '';
	$num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}trades WHERE sellerid='$discuz_uid' $sqltid $sqlkey");
	$extratid = $tid ? "&tid=$tid" : '';
	$multipage = multi($num, $tpp, $page, "my.php?item=tradethreads$extratid$extrafid$extrasrchkey");

	$tradelist = array();
	$query = $db->query("SELECT * FROM {$tablepre}trades WHERE sellerid='$discuz_uid' $sqltid $sqlkey ORDER BY tradesum DESC, 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']);
		if($tradethread['expiration']) {
			$tradethread['expiration'] = ($tradethread['expiration'] - $timestamp) / 86400;
			if($tradethread['expiration'] > 0) {
				$tradethread['expirationhour'] = floor(($tradethread['expiration'] - floor($tradethread['expiration'])) * 24);
				$tradethread['expiration'] = floor($tradethread['expiration']);
			} else {
				$tradethread['expiration'] = -1;
			}
		}
		$tradelist[] = $tradethread;
	}
} elseif($item == 'reward') {

	$rewardloglist = Array();

	if($type == 'stats') {

		$questions = $db->fetch_first("SELECT COUNT(*) AS total, SUM(ABS(netamount)) AS totalprice FROM {$tablepre}rewardlog WHERE authorid='$discuz_uid'");
		$questions['total'] = $questions['total'] ? $questions['total'] : 0;
		$questions['totalprice'] = $questions['totalprice'] ? $questions['totalprice'] : 0;
		$questions['solved'] = $db->result_first("SELECT COUNT(*) FROM {$tablepre}rewardlog WHERE authorid='$discuz_uid' and answererid>0");
		$questions['percent'] = number_format(($questions['total'] != 0) ? round($questions['solved'] / $questions['total'] * 100, 2) : 0, 2, '.', '');
		$answers['total'] = $db->result_first("SELECT COUNT(*) FROM {$tablepre}rewardlog WHERE answererid='$discuz_uid'");
		$answeradopted = $db->fetch_first("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'");
		$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;
		$multipage = multi($db->result_first("SELECT COUNT(*) FROM {$tablepre}rewardlog r WHERE answererid='$discuz_uid'"), $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;
		$multipage = multi($db->result_first("SELECT COUNT(*) FROM {$tablepre}rewardlog r WHERE authorid='$discuz_uid' $sqlfilter"), $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 ? '&amp;type=orig' : '';

		$num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}activities a LEFT JOIN {$tablepre}threads t USING(tid) WHERE a.uid='$discuz_uid' AND t.special='4' $threadadd $sign");
		$multipage = multi($num, $tpp, $page, "my.php?item=activities&amp;type=orig&amp;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 ? '&amp;type='.$type : '';

		$num = $db->result_first("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");
		$multipage = multi($num, $tpp, $page, "my.php?item=activities&amp;type=apply&amp;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 == 'polls'){

	$polllist = array();

	if($type == 'poll') {

		if($srchfid = intval($srchfid)) {
			$threadadd = "AND fid='$srchfid'";
		}

		$num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}mythreads m, {$tablepre}threads t
			WHERE m.uid='$discuz_uid' AND m.special='1' $threadadd AND m.tid=t.tid");

		$multipage = multi($num, $tpp, $page, "my.php?item=polls&amp;type=poll$extrafid");

		$query = $db->query("SELECT t.tid, t.subject, t.fid, t.displayorder, t.closed, t.lastposter, t.lastpost
			FROM {$tablepre}threads t, {$tablepre}mythreads m
			WHERE m.uid='$discuz_uid' AND m.special='1' AND m.tid=t.tid $threadadd
			ORDER BY m.dateline DESC LIMIT $start_limit, $tpp");
		while($poll = $db->fetch_array($query)) {
			$poll['lastpost'] = gmdate("$dateformat $timeformat", $poll['lastpost'] + $timeoffset * 3600);
			$poll['lastposterenc'] = rawurlencode($poll['lastposter']);
			$poll['forumname'] = $_DCACHE['forums'][$poll['fid']]['name'];
			$polllist[] = $poll;
		}

	} else {

		$num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}myposts m, {$tablepre}threads t
			WHERE m.uid='$discuz_uid' AND m.special='1' $threadadd AND m.tid=t.tid");
		$multipage = multi($num, $tpp, $page, "my.php?item=polls&amp;type=join$extrafid");

		$query = $db->query("SELECT m.dateline, t.tid, t.fid, t.subject, t.displayorder, t.closed
			FROM {$tablepre}myposts m, {$tablepre}threads t
			WHERE m.uid='$discuz_uid' AND m.special='1' AND m.tid=t.tid $threadadd
			ORDER BY m.dateline DESC LIMIT $start_limit, $tpp");
		while($poll = $db->fetch_array($query)) {
			$poll['dateline'] = gmdate("$dateformat $timeformat", $poll['dateline'] + $timeoffset * 3600);
			$poll['forumname'] = $_DCACHE['forums'][$poll['fid']]['name'];
			$polllist[] = $poll;
		}

	}

} elseif($item == 'promotion' && ($creditspolicy['promotion_visit'] || $creditspolicy['promotion_register'])) {

	$promotion_visit = $promotion_register = $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 = '&nbsp;';
			}
		}
	}

} elseif($item == 'debate') {

	$debatelist = array();

	if($type == 'orig') {

		$num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}mythreads m, {$tablepre}threads t
			WHERE m.uid='$discuz_uid' AND m.special='5' $threadadd AND m.tid=t.tid");
		$multipage = multi($num, $tpp, $page, "my.php?item=debate&amp;type=orig$extrafid");

		$query = $db->query("SELECT t.tid, t.subject, t.fid, t.displayorder, t.closed, t.lastposter, t.lastpost
			FROM {$tablepre}threads t, {$tablepre}mythreads m
			WHERE m.uid='$discuz_uid' AND m.special='5' AND m.tid=t.tid $threadadd
			ORDER BY m.dateline DESC LIMIT $start_limit, $tpp");
		while($debate = $db->fetch_array($query)) {
			$debate['lastpost'] = gmdate("$dateformat $timeformat", $debate['lastpost'] + $timeoffset * 3600);
			$debate['lastposterenc'] = rawurlencode($debate['lastposter']);
			$debate['forumname'] = $_DCACHE['forums'][$debate['fid']]['name'];
			$debatelist[] = $debate;
		}

	} elseif($type == 'reply') {

		$num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}myposts m, {$tablepre}threads t
			WHERE m.uid='$discuz_uid' AND m.special='5' $threadadd AND m.tid=t.tid");
		$multipage = multi($num, $tpp, $page, "my.php?item=debate&amp;type=reply$extrafid");

		$query = $db->query("SELECT m.dateline, t.tid, t.fid, t.subject, t.displayorder, t.closed
			FROM {$tablepre}myposts m, {$tablepre}threads t
			WHERE m.uid='$discuz_uid' AND m.special='5' AND m.tid=t.tid $threadadd
			ORDER BY m.dateline DESC LIMIT $start_limit, $tpp");
		while($debate = $db->fetch_array($query)) {
			$debate['dateline'] = gmdate("$dateformat $timeformat", $debate['dateline'] + $timeoffset * 3600);
			$debate['forumname'] = $_DCACHE['forums'][$debate['fid']]['name'];
			$debatelist[] = $debate;
		}

	}

}  elseif($item == 'video') {

	require_once DISCUZ_ROOT.'./api/video.php';
	$videolist = array();

	$num = $db->result_first("SELECT COUNT(*) FROM {$tablepre}videos WHERE uid='$discuz_uid'");
	$multipage = multi($num, $tpp, $page, "my.php?item=video");

	$query = $db->query("SELECT * FROM {$tablepre}videos WHERE uid='$discuz_uid' ORDER BY dateline DESC LIMIT $start_limit, $tpp");
	while($video = $db->fetch_array($query)) {
		$video['vthumb'] = !$videoinfo['vthumb'] ? VideoClient_Util::getThumbUrl($video['vid'], 'small') : $videoinfo['vthumb'];
		$video['dateline'] = gmdate("$dateformat $timeformat", $video['dateline'] + $timeoffset * 3600);
		$video['vtime'] = $video['vtime'] ? sprintf("%02d", intval($video['vtime'] / 60)).':'.sprintf("%02d", intval($video['vtime'] % 60)) : '';
		$videolist[] = $video;
	}

	$videonum = count($videolist);
	$videoendrows = '';
	if($colspan = $videonum % 2) {
		while(($colspan - 2) < 0) {
			$videoendrows .= '<td></td>';
			$colspan ++;
		}
		$videoendrows .= '</tr>';
	}

} elseif($item == 'buddylist') {

	include_once DISCUZ_ROOT.'./uc_client/client.php';

	$buddynum = uc_friend_totalnum($discuz_uid);
	if(!submitcheck('buddysubmit', 1)) {

		$buddynum && $buddylist = uc_friend_ls($discuz_uid, 1, 999, $buddynum);

		if($buddylist) {
			foreach($buddylist as $key => $buddy) {
				$uids[] = $buddy['friendid'];
			}
			$query = $db->query("SELECT uid FROM {$tablepre}members WHERE uid IN (".implodeids($uids).")");
			$members = array();
			while($member = $db->fetch_array($query)) {
				$members[] = $member['uid'];
			}
			foreach($buddylist as $key => $buddy) {
				if(in_array($buddy['friendid'], $members)) {
					$buddy['dateline'] = gmdate("$dateformat $timeformat", $buddy['dateline'] + $timeoffset * 3600);
					$buddylist[$key] = $buddy;
				} else {
					unset($buddylist[$key]);
				}
			}
		}

	} else {

		$buddynum && $buddyarray = uc_friend_ls($discuz_uid, 1, 999, $buddynum);
		$buddyarraynew = array();
		if($buddyarray) {
			foreach($buddyarray as $buddy) {
				$buddyarraynew[$buddy['friendid']] = $buddy;
			}
		}
		$buddyarray = $buddyarraynew;unset($buddyarraynew);

		if(!empty($delete) && is_array($delete)) {
			uc_friend_delete($discuz_uid, $delete);
		}

		if(is_array($descriptionnew)) {
			foreach($descriptionnew as $buddyid => $desc) {
				if(($desc = cutstr(dhtmlspecialchars($desc), 255)) != addslashes($buddyarray[$buddyid]['comment'])) {
					uc_friend_delete($discuz_uid, array($buddyid));
					uc_friend_add($discuz_uid, $buddyid, cutstr(dhtmlspecialchars($desc), 255));
				}
			}
		}

		if(($newbuddy && $newbuddy != $discuz_userss) || ($newbuddyid && $newbuddyid != $discuz_uid)) {
			$newbuddyid && $newbuddy = $db->result_first("SELECT username FROM {$tablepre}members WHERE uid='$newbuddyid'", 0);

			if($buddyid = uc_get_user($newbuddy)) {
				if(isset($buddyarray[$buddyid[0]])) {
					showmessage('buddy_add_invalid');
				}
				uc_friend_add($discuz_uid, $buddyid[0], cutstr(dhtmlspecialchars($newdescription), 255));
				if($ucappopen['UCHOME']) {
					sendpm($buddyid[0], 'buddy_new_subject', 'buddy_new_uch_message', $discuz_uid);
				} else {
					sendpm($buddyid[0], 'buddy_new_subject', 'buddy_new_message', $discuz_uid);
				}
			} else {
				showmessage('username_nonexistence');
			}
		}

		showmessage('buddy_update_succeed', 'my.php?item=buddylist');

	}

} else {

	showmessage('undefined_action', NULL, 'HALTED');

}

include template('my');

?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -