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

📄 my.php

📁 Discuz功能源码(开源)
💻 PHP
📖 第 1 页 / 共 3 页
字号:
	if($type == 'orig') {

		$extra .= $srchfid ? '&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&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'] = dgmdate("$dateformat $timeformat", $tempact['starttimefrom'] + $timeoffset * 3600);
			$activity[] = $tempact;
		}
	} else {
		$extra .= $srchfid ? '&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&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'] = dgmdate("$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&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'] = dgmdate("$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&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'] = dgmdate("$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 = ' ';
			}
		}
	}

} 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&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'] = dgmdate("$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&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'] = dgmdate("$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'] = dgmdate("$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)) {

		$buddylist = array();
		$buddies = $buddynum ? uc_friend_ls($discuz_uid, $page, $tpp, $buddynum) : array();
		$multipage = multi($buddynum, $tpp, $page, "my.php?item=buddylist");

		if($buddies) {
			foreach($buddies as $key => $buddy) {
				$buddylist[$buddy['friendid']] = $buddy;
			}
			unset($buddies);
			$query = $db->query("SELECT m.uid, m.gender, mf.msn, s.uid AS online FROM {$tablepre}members m 
				LEFT JOIN {$tablepre}sessions s ON s.uid=m.uid
				LEFT JOIN {$tablepre}memberfields mf ON mf.uid=m.uid
				WHERE m.uid IN (".implodeids(array_keys($buddylist)).")");
			while($member = $db->fetch_array($query)) {
				$uid = $member['uid'];
				if(isset($buddylist[$uid])) {
					$buddylist[$uid]['avatar'] = discuz_uc_avatar($uid, 'small');
					$buddylist[$uid]['gender'] = $member['gender'];
					$buddylist[$uid]['online'] = $member['online'];
					$buddylist[$uid]['msn'] = explode("\t", $member['msn']);
				} else {
					unset($buddylist[$uid]);
				}
			}
		}

	} else {

		$buddyarray = $buddynum ? uc_friend_ls($discuz_uid, 1, $buddynum, $buddynum) : array();

		if($action == 'edit') {

			if($comment = cutstr(dhtmlspecialchars($comment), 255)) {
				$friendid = intval($friendid);
				uc_friend_delete($discuz_uid, array($friendid));
				uc_friend_add($discuz_uid, $friendid, $comment);
			}

		} elseif($action == 'delete') {

			$friendid = intval($friendid);
			uc_friend_delete($discuz_uid, array($friendid));

		} else {

			$buddyarraynew = array();
			if($buddyarray) {
				foreach($buddyarray as $buddy) {
					$buddyarraynew[$buddy['friendid']] = $buddy;
				}
			}
			$buddyarray = $buddyarraynew;unset($buddyarraynew);

			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');
					}
					if(uc_friend_add($discuz_uid, $buddyid[0], cutstr(dhtmlspecialchars($newdescription), 255))) {
						if($ucappopen['UCHOME']) {
							sendpm($buddyid[0], 'buddy_new_subject', 'buddy_new_uch_message', 0);
						} else {
							sendpm($buddyid[0], 'buddy_new_subject', 'buddy_new_message', 0);
						}
					} else {
						showmessage('buddy_add_ignore');
					}
				} 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 + -