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

📄 sort.php

📁 很好的一套PHP树形论坛程序
💻 PHP
📖 第 1 页 / 共 2 页
字号:
			include(D_P."data/bbscache/member_tmp.php");
			$_sort=array();
			$query=$db->query("SELECT m.uid,m.username,md.money FROM pw_memberdata md LEFT JOIN pw_members m USING(uid) ORDER BY md.money DESC LIMIT $cachenum");
			while($memdb=$db->fetch_array($query)){
				if($memdb['money']){
					$_sort[]=$memdb;
				}
			}
			$_SORTDB['money']=$_sort;
			writeover(D_P.'data/bbscache/member_tmp.php',"<?php\r\n\$_SORTDB=".vvar_export($_SORTDB).";\r\n?>");
			refreshto("sort.php?action=member&type=credit",'update_cache');
		} elseif($type=='credit'){
			include(D_P."data/bbscache/member_tmp.php");
			$_sort=array();
			$query=$db->query("SELECT m.uid,m.username,md.credit FROM pw_memberdata md LEFT JOIN pw_members m USING(uid) ORDER BY md.credit DESC LIMIT $cachenum");
			while($memdb=$db->fetch_array($query)){
				if($memdb['credit']){
					$_sort[]=$memdb;
				}
			}
			$_SORTDB['credit']=$_sort;
			writeover(D_P.'data/bbscache/member_tmp.php',"<?php\r\n\$_SORTDB=".vvar_export($_SORTDB).";\r\n?>");
			refreshto("sort.php?action=member&type=onlinetime",'update_cache');
		} elseif($type=='onlinetime'){
			include(D_P."data/bbscache/member_tmp.php");
			$_sort=array();
			$query=$db->query("SELECT m.uid,m.username,md.onlinetime FROM pw_memberdata md LEFT JOIN pw_members m USING(uid) ORDER BY md.onlinetime DESC LIMIT $cachenum");
			while($memdb=$db->fetch_array($query)){
				if($memdb['onlinetime']){
					$memdb['onlinetime']=floor($memdb['onlinetime']/3600);
					$_sort[]=$memdb;
				}
			}
			$_SORTDB['onlinetime']=$_sort;
			writeover(D_P.'data/bbscache/member_tmp.php',"<?php\r\n\$_SORTDB=".vvar_export($_SORTDB).";\r\n?>");
			refreshto("sort.php?action=member&type=custom",'update_cache');
		} elseif($type=='custom'){
			include(D_P."data/bbscache/member_tmp.php");
			include(D_P."data/bbscache/creditdb.php");
			foreach($_CREDITDB as $key=>$value){
				$_sort=array();
				$query=$db->query("SELECT mc.uid,username,value FROM pw_membercredit mc LEFT JOIN pw_members m ON m.uid=mc.uid WHERE mc.cid='$key' ORDER BY mc.value DESC LIMIT $cachenum");
				while($memdb=$db->fetch_array($query)){
					if($memdb['username'] && $memdb['value']){
						$_sort[]=array('uid'=>$memdb['uid'],'username'=>$memdb['username'],$key=>$memdb['value']);
					}
				}
				$_SORTDB[$key]=$_sort;
			}
			$MEMBERDB=savearray('_MEMBERDB',$_SORTDB);
			writeover(D_P.'data/bbscache/member_sort.php',"<?php\r\n".$MEMBERDB.'?>');
			P_unlink(D_P."data/bbscache/member_tmp.php");
			refreshto("sort.php?action=member",'update_cache');
		}
	}
	$cachetime=get_date($cachetime+$per*3600);
	require_once GetLang('sort');
	@include(D_P."data/bbscache/member_sort.php");
	@include(D_P."data/bbscache/creditdb.php");
	$_SORTDB=$_MEMBERDB;
	$show_url="profile.php?action=show&uid";
	require PrintEot('sort');footer();
} elseif($action=='forum'){
	$cachetime=@filemtime(D_P."data/bbscache/forum_sort.php");
	if(!$per || !file_exists(D_P."data/bbscache/forum_sort.php") || ($timestamp-$cachetime>$per*3600)){
		$_SORTDB=$_sort=array();
		$query=$db->query("SELECT f.fid,f.name,fd.topic FROM pw_forumdata fd LEFT JOIN pw_forums f USING(fid) WHERE f.password='' AND f.allowvisit='' AND f.f_type<>'hidden' ORDER BY fd.topic DESC LIMIT $cachenum");
		while($forums=$db->fetch_array($query)){
			if($forums['topic']){
				$_sort[]=$forums;
			}
		}
		$_SORTDB['topic']=$_sort;

		$_sort=array();
		$query=$db->query("SELECT f.fid,f.name,fd.article FROM pw_forumdata fd LEFT JOIN pw_forums f USING(fid) WHERE f.password='' AND f.allowvisit='' AND f.f_type<>'hidden' ORDER BY fd.article DESC LIMIT $cachenum");
		while($forums=$db->fetch_array($query)){
			if($forums['article']){
				$_sort[]=$forums;
			}
		}
		$_SORTDB['article']=$_sort;

		$_sort=array();
		$query=$db->query("SELECT f.fid,f.name,fd.tpost FROM pw_forumdata fd LEFT JOIN pw_forums f USING(fid) WHERE f.password='' AND f.allowvisit='' AND f.f_type<>'hidden' ORDER BY fd.tpost DESC LIMIT $cachenum");
		while($forums=$db->fetch_array($query)){
			if($forums['tpost']){
				$_sort[]=$forums;
			}
		}
		$_SORTDB['tpost']=$_sort;
		$FORUMDB=savearray('_FORUMDB',$_SORTDB);
		writeover(D_P.'data/bbscache/forum_sort.php',"<?php\r\n".$FORUMDB.'?>');
	}
	$cachetime=get_date($cachetime+$per*3600);
	require_once GetLang('sort');
	include(D_P."data/bbscache/forum_sort.php");
	$_SORTDB=$_FORUMDB;
	$show_url="index.php?fid";
	require PrintEot('sort');footer();
} elseif($action=='article'){
	$cachetime=@filemtime(D_P."data/bbscache/article_sort.php");
	if(!$per || $timestamp-$cachetime>$per*3600){
		$_SORTDB=$_sort=array();
		$query=$db->query("SELECT t.tid,t.subject,t.replies,t.fid FROM pw_threads t LEFT JOIN pw_forums f ON t.fid=f.fid WHERE t.ifcheck='1' AND t.locked<'2' AND f.password='' AND f.allowvisit='' AND f.f_type<>'hidden' ORDER BY t.replies DESC LIMIT $cachenum");
		while($topic=$db->fetch_array($query)){
			if($topic['replies']){
				$topic['subject']=substrs($topic['subject'],25);
				$_sort[]=$topic;
			}
		}
		$_SORTDB['reply']=$_sort;

		$_sort=array();
		$query=$db->query("SELECT t.tid,t.subject,t.hits,t.fid FROM pw_threads t LEFT JOIN pw_forums f ON t.fid=f.fid WHERE t.ifcheck='1' AND t.locked<'2' AND f.password='' AND f.allowvisit='' AND f.f_type<>'hidden' ORDER BY t.hits DESC LIMIT $cachenum");
		while($topic=$db->fetch_array($query)){
			if($topic['hits']){
				$topic['subject']=substrs($topic['subject'],25);
				$_sort[]=$topic;
			}
		}
		$_SORTDB['hit']=$_sort;
		$_sort=array();
		$query=$db->query("SELECT t.tid,t.subject,t.digest,t.fid FROM pw_threads t LEFT JOIN pw_forums f ON t.fid=f.fid WHERE t.digest<>'0' AND t.ifcheck='1' AND t.locked<'2' AND f.password='' AND f.allowvisit='' AND f.f_type<>'hidden'  ORDER BY t.lastpost DESC LIMIT $cachenum");
		while($topic=$db->fetch_array($query)){
			$topic['subject']=substrs($topic['subject'],25);
			$_sort[]=$topic;
		}
		$_SORTDB['digest']=$_sort;
		$ARTICLEDB=savearray('_ARTICLEDB',$_SORTDB);

		writeover(D_P.'data/bbscache/article_sort.php',"<?php\r\n".$ARTICLEDB.'?>');
	}
	$cachetime=get_date($cachetime+$per*3600);
	require_once GetLang('sort');
	include(D_P.'data/bbscache/article_sort.php');
	include(D_P.'data/bbscache/forum_cache.php');
	$_SORTDB=$_ARTICLEDB;
	$show_url="read.php?tid";
	require PrintEot('sort');footer();
}elseif($action=='team'){
	list($db_moneyname,,$db_rvrcname,,$db_creditname,)=explode("\t",$db_credits);
	$cachetime=@filemtime(D_P."data/bbscache/team_sort.php");
	if(!$per || $timestamp-$cachetime>$per*3600){
		include_once(D_P.'data/bbscache/level.php');
		$gids=0;
		$query=$db->query("SELECT gid FROM pw_usergroups WHERE gptype='system' AND gid NOT IN(6,7)");
		while($rt=$db->fetch_array($query)){
			$gids.=','.$rt['gid'];
		}
		$teamdb=array();
		$query=$db->query("SELECT m.uid,m.username,m.groupid,m.memberid,md.lastvisit,md.lastpost,md.postnum,md.rvrc,md.money,md.onlinetime FROM pw_members m LEFT JOIN pw_memberdata md USING(uid) WHERE groupid IN($gids) ORDER BY groupid");
		while($rt=$db->fetch_array($query)){
			$rt['leavedays']=floor(($timestamp-$rt['lastvisit'])/86400);
			$rt['lastvisit']=get_date($rt['lastvisit']);
			$rt['lastpost']=get_date($rt['lastpost']);
			$rt['onlinetime']=round($rt['onlinetime']/3600,2);
			$rt['systitle']=$ltitle[$rt['groupid']];
			$rt['memtitle']=$ltitle[$rt['memberid']];
			$rt['rvrc']=floor($rt['rvrc']/10);
			$teamdb[]=$rt;
		}
		writeover(D_P.'data/bbscache/team_sort.php',"<?php\r\n\$teamdb=".vvar_export($teamdb).";\r\n?>");
	}
	$cachetime=get_date($cachetime+$per*3600);
	include(D_P.'data/bbscache/team_sort.php');

	require PrintEot('sort');footer();
}

function vvar_export($array,$c=1,$t='',$var=''){
	$c && $var="array(\r\n";
	$t.="  ";
	if(is_array($array)){
		foreach($array as $key => $value){
			$var.="$t'".addslashes($key)."'=>";
			if(is_array($value)){
				$var.="array(\r\n";
				$var=vvar_export($value,0,$t,$var);
				$var.="$t),\r\n";
			} else{
				$var.="'".addslashes($value)."',\r\n";
			}
		}
	}
	if($c){
		$var.=")";
	}
	return $var;
}

function savearray($name,$array){
	$arraydb="\$$name=array(\r\n\t\t";
	foreach($array as $key=>$value){
		$arraydb.="'".$key."'=>\narray(\r\n\t\t\t";
		foreach($value as $value1){
			$arraydb.='array(';
			foreach($value1 as $value2){
				$arraydb.='"'.addslashes($value2).'",';
			}
			$arraydb.="),\r\n\t\t\t";
		}
		$arraydb.="),\r\n\t\t";
	}
	$arraydb.=");\r\n";
	return $arraydb;
}
?>

⌨️ 快捷键说明

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