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

📄 list.php

📁 自己写的一个网络日志(BLOG)系统
💻 PHP
字号:
<?php
!function_exists('getPath') && exit('Forbidden');

InitGP(array('dirid','y','m','date'),'G');
$sqlwhere = $pages = $addpage = '';
if ((int)$dirid > 0) {
	$sqlwhere = " AND dirid='$dirid'";
	$addpage = "dirid=$dirid&";
}
if ($y && $m) {
	if (!isset($date)) {
		$start = mktime (0,0,0,$m,1,$y);
		$end = mktime (0,0,0,$m+1,0,$y);
	} else {
		$start = strtotime(str_replace('_','-',$date));
		$end = $start+24*3600;
	}
	$sqlwhere = " AND postdate>'$start' AND postdate<'$end'";
	$addpage = "y=$y&m=$m&";
}
if ((int)$blogdb['pshownum'] < 1) {
	$blogdb['pshownum'] = $db_perpage ? $db_perpage : 30;
}
(int)$page<1 && $page = 1;
$start = ($page-1)*$blogdb['pshownum'];
$attachdb['down'] = array();
//!$dirid && $dirid = '0';
if ($type == 'photo' || $type == 'goods' || $type == 'music') {
	/*if (empty($_TEMPDB)) {
		$select = $L_join = '';
		if ($winduid != $uid) {
			$select .= ',u.friends';
			$L_join .= ' LEFT JOIN pw_user u ON i.uid=u.uid';
		}
		$query = $db->query("SELECT i.itemid,i.dirid,i.author,i.subject,i.postdate,i.hits,i.uploads,t.*$select FROM pw_items i LEFT JOIN pw_$type t ON i.itemid=t.itemid$L_join WHERE i.uid='$uid' AND i.itemid!='' AND i.type='$type' $sql ORDER BY i.postdate DESC");
		while ($rt = $db->fetch_array($query)) {
			if ($rt['ifhide']==0 || ($rt['ifhide']==2 && strpos(",$rt[friends],",",$winduid,")!==false)) {
				if ($type == 'photo' && !$rt['uploads'] && !$rt['absoluteurl']) {
					continue;
				}
				$_ITEMDB[$rt['itemid']] = $rt;
			}
		}
		$db->free_result($query);
	} else {*/
		foreach ($_TEMPDB as $value) {
			foreach ((array)$value as $v) {
				!$_ITEMDB[$v['itemid']] && $_ITEMDB[$v['itemid']] = $v;
			}
		}
		unset($_TEMPDB);
//	}
	$itemid = '';
	foreach ($_ITEMDB as $key => $value) {
		!$itemid && $itemid = $value['itemid'];
		$_ITEMDB[$key]['postdate'] = get_date($value['postdate'],"Y{$left_name[year]}m{$left_name[month]}d{$left_name[day]} H:i:s");
		$_ITEMDB[$key]['tagsdb'] = array();
		if ($value['tags']) {
			$taginfo = array_unique(explode(',',$value['tags']));
			foreach ($taginfo as $k => $v) {
				$v && $_ITEMDB[$key]['tagsdb'][$k] = array('name' => $v,'tagname' => rawurlencode($v));
			}
		}
		$_ITEMDB[$key]['picurl'] = $_ITEMDB[$key]['attachurl'] = $_ITEMDB[$key]['descrip'] = array();
		if ($value['absoluteurl']) {
			$value['absoluteurl'] = unserialize($value['absoluteurl']);
			foreach ($value['absoluteurl'] as $v) {
				$_ITEMDB[$key]['picurl'][] = $_ITEMDB[$key]['attachurl'][] = $v;
				$_ITEMDB[$key]['descrip'][] = $value['subject'];
			}
		}
		$_ITEMDB[$key]['tags'] = $_ITEMDB[$key]['absoluteurl'] = null;
		foreach ($value['uploads'] as $upload) {
			$upload = GetAttachUrl($upload);
			if ($upload['type']!='img') {
				$attachdb['down'][$upload['aid']] = array($upload['name'],$upload['size'],$upload['type'],$upload['descrip']);
				$attachmentdb[$upload['aid']] = ($upload['descrip'] ? "<b>$upload[descrip]</b><br />" : '')."<a href='job.php?action=download&itemid=$value[itemid]&aid=$upload[aid]' target='_blank'><font color=red>$upload[name]</font></a><br>";
			} else {
				$_ITEMDB[$key]['picurl']['ul_'.$upload['aid']] = $upload['picurl'];
				$_ITEMDB[$key]['descrip']['ul_'.$upload['aid']] = $upload['descrip'] ? $upload['descrip'] : $value['subject'];
				$_ITEMDB[$key]['attachurl']['ul_'.$upload['aid']] = $upload['attachurl'];
			}
		}
	}
	${$type} = $_ITEMDB[$itemid];
	foreach ($_ITEMDB as $key => $value) {
		$_ITEMDB[$key]['picurl'] = !empty($_ITEMDB[$key]['picurl']) ? array_pop($_ITEMDB[$key]['picurl']) : "theme/$style/images/nopic.gif";
		$_ITEMDB[$key]['descrip'] = array_pop($_ITEMDB[$key]['descrip']);
		$_ITEMDB[$key]['attachurl'] = !empty($_ITEMDB[$key]['attachurl']) ? array_pop($_ITEMDB[$key]['attachurl']) : "theme/$style/images/nopic.gif";
	}
	${$type}['picurl'] = $_ITEMDB[$itemid]['picurl'];
	$aids = array();
	${$type}['content'] = attachment(${$type}['content'],$db_post['times']);
	foreach ($aids as $value) {
		unset($attachdb['down'][$value]);
		unset($attachmentdb[$value]);
	}
	${$type}['content'] = preg_replace("/\[attachment=([0-9]+)\]/is",'',${$type}['content']);
	$dirid = (int)${$type}['dirid'];
	$countpic = count(${$type}['attachurl']);
	if ($type == 'goods') {
		include_once(D_P.'mod/pay_mod.php');
		if ($goods['pay99bill']) {
			$goods['pay99bill'] = MakeButton($goods['pay99bill'],$goods['subject'],$goods['price'],0,0,3);
		}
		if ($goods['paypal']) {
			$goods['paypal'] = MakeButton($goods['paypal'],$goods['subject'],$goods['price'],0,0,1);
		}
		if ($goods['alipay']) {
			$goods['alipay'] = $goods['feemode'] ? MakeButton($goods['alipay'],$goods['subject'],$goods['price'],0,0,2) : MakeButton($goods['alipay'],$goods['subject'],$goods['price'],$goods['maillfee'],$goods['expressfee'],2);
		}
	}
} elseif ($type == 'bookmark') {
	$tagid = GetGP('tagid','G');
	foreach ($_TEMPDB as $key => $value) {
		if ($tagid && strpos(",$value[tags],",",$tagid,")===false) {
			continue;
		}
		$value['postdate'] = get_date($value['postdate'],"Y{$left_name[year]}m{$left_name[month]}d{$left_name[day]} H:i:s");
		unset($value['tags']);
		
		foreach ($value['uploads'] as $upload) {
			$upload = GetAttachUrl($upload);
			if ($upload['type']!='img') {
				$attachdb['down'][$key][$upload['aid']] = array($upload['name'],$upload['size'],$upload['type'],$upload['descrip']);
				$a_url = "<a href=\"job.php?action=download&itemid=$value[itemid]&aid=$upload[aid]\" target=\"_blank\"><font color=\"red\">$upload[name]</font></a>";
			} else {
				$a_url = cvpic($upload['attachurl'],$db_post['picwidth'],$db_post['picheight'],1);
				$attachdb['pic'][$key][$upload['aid']]  = array($a_url,$upload['descrip']);
			}
			$attachmentdb[$upload['aid']] = ($upload['descrip'] ? "<b>$upload[descrip]</b><br />" : '')."$a_url";
		}
		$aids = array();
		$value['content'] = attachment($value['content'],$db_post['times']);
		foreach($aids as $aid){
			if ($attachdb['pic'][$key][$aid]) {
				unset($attachdb['pic'][$key][$aid]);
			}
			if($attachdb['down'][$key][$aid]){
				unset($attachdb['down'][$key][$aid]);
			}
			unset($attachmentdb[$aid]);
		}
		$_ITEMDB[$key] = $value;
	}
	unset($_TEMPDB);
	$count = count($_ITEMDB);
	$_ITEMDB = array_slice($_ITEMDB,$start,$blogdb['pshownum']);
	if ($count > $blogdb['pshownum']) {
		require_once(R_P.'mod/page_mod.php');
		$pages = page($count,$page,$blogdb['pshownum'],"blog.php?do=list&uid=$uid&type=$type&$addpage");
	}	
} elseif ($type == 'blog' || $type == 'file') {
	$i = 0;
	$limit = "LIMIT $start,$blogdb[pshownum]";
	$query = $db->query("SELECT i.itemid,i.dirid,i.author,i.subject,i.ifhide,i.postdate,i.hits,i.replies,i.ifwordsfb,t.*$select FROM pw_items i LEFT JOIN pw_$type t ON i.itemid=t.itemid$L_join WHERE i.uid='$uid' AND i.type='$type' AND i.ifcheck='1'$sqlwhere ORDER BY i.postdate DESC $limit");
	while ($rt = $db->fetch_array($query)) {
		if ($uid == $winduid || $rt['ifhide']==0 || ($rt['ifhide']==2 && strpos(",$rt[friends],",",$winduid,")!==false)) {
			$rt['postdate'] = get_date($rt['postdate'],"Y{$left_name[year]}m{$left_name[month]}d{$left_name[day]} H:i:s");
			if (!$rt['ifwordsfb']) {
				$ifwordsfb = 0;
				$cktitle = $rt['subject'];
				$ckcontent = $rt['content'];
				foreach ($_FORBIDDB as $value) {
					$cktitle = N_strireplace($value['word'],$value['wordreplace'],$cktitle);
					$ckcontent = N_strireplace($value['word'],$value['wordreplace'],$ckcontent);
				}
				if ($cktitle != $rt['subject']) {
					$rt['subject'] = $cktitle;
					$ifwordsfb = 1;
				}
				if ($ckcontent != $rt['content']) {
					$rt['content'] = $ckcontent;
					$ifwordsfb = 1;
				}
				if ($ifwordsfb) {
					$db->update("UPDATE pw_items SET ifwordsfb='1',subject='".addslashes($cktitle)."' WHERE itemid='$rt[itemid]'");
					$db->update("UPDATE pw_$type SET content='".addslashes($ckcontent)."' WHERE itemid='$rt[itemid]'");
				}
			}
			$rt['ifsign']<2 && $rt['content'] = nl2br($rt['content']);
			$rt['content'] = preg_replace("/\[attachment=([0-9]+)\]/is",'',$rt['content']);
			$blogdb['wshownum'] && $rt['content'] = substrs($rt['content'],$blogdb['wshownum']);
			$rt['ifconvert'] && $rt['content'] = convert($rt['content'],$db_post);
			$db_copyctrl && $rt['content'] = preg_replace("/<br \/>/eis","copyctrl()",$rt['content']);
			$rt['tagsdb'] = array();
			if ($rt['tags']) {
				$taginfo = array_unique(explode(',',$rt['tags']));
				foreach ($taginfo as $key => $value) {
					if ($value) {
						$tagname = rawurlencode($value);
						$rt['tagsdb'][$key] = array('name' => $value,'tagname' => $tagname);
					} else {
						unset($rt['tagsdb'][$key]);
					}
				}
			}
			unset($rt['tags']);
			$rt['dirname'] = $dirdb[$rt['dirid']]['name'];
			$_ITEMDB[$rt['itemid']] = $rt;
		} else {
			$i++;
		}
	}
	$db->free_result($query);
	$count = $db->get_value("SELECT COUNT(*) FROM pw_items WHERE uid='$uid' AND type='$type' AND ifcheck='1'$sqlwhere");
	$count -= $i;
	if ($count > $blogdb['pshownum']) {
		require_once(R_P.'mod/page_mod.php');
		$pages = page($count,$page,$blogdb['pshownum'],"blog.php?do=list&uid=$uid&type=$type&$addpage");
	}
} elseif ($type == 'team') {
	$join = GetGP('join','G');
	$teamwhere = "tu.uid='$uid' AND tu.ifcheck='1' AND ".($join == '1' ? "tu.admin!='$uid'" : "tu.admin='$uid'");
	$_ITEMDB = array();
	$query   = $db->query("SELECT tu.joindate,t.teamid,t.cid,t.username,t.name,t.descrip,t.icon FROM pw_tuser tu LEFT JOIN pw_team t ON tu.teamid=t.teamid WHERE $teamwhere");
	while ($rt = $db->fetch_array($query)) {
		if ($rt['icon']) {
			$a_url = $attach_url ? $attach_url : "$db_blogurl/$attachpath";
			$attach_ext  = strrchr($rt['icon'],'.');
			$attach_name = substr($rt['icon'],0,strrpos($rt['icon'],'.'));
			$rt['picurl'] = "$a_url/$rt[icon]";
			N_stripos($rt['picurl'],'login') && $rt['picurl'] = N_strireplace('login','log in',$rt['picurl']);
			$rt['attachurl'] = file_exists("$a_url/{$attach_name}_thumb{$attach_ext}") ? "$a_url/{$attach_name}_thumb{$attach_ext}" : $rt['picurl'];
			N_stripos($rt['attachurl'],'login') && $rt['attachurl'] = N_strireplace('login','log in',$rt['attachurl']);
		} else {
			$rt['picurl'] = "theme/$style/images/nopic.gif";
		}
		$rt['joindate'] = get_date($rt['joindate'],"Y{$left_name[year]}m{$left_name[month]}d{$left_name[day]}");
		$_ITEMDB[] = $rt;
	}
	$db->free_result($query);
} elseif ($type == 'gbook') {
	$_FORBIDDB = array();
	$limit = "LIMIT $start,$blogdb[pshownum]";
	$query = $db->query("SELECT id,uid,author,authorid,authoricon,postdate,content,replydate,reply,ifwordsfb FROM pw_gbook WHERE uid='$uid' ORDER BY postdate DESC $limit");
	while ($rt = $db->fetch_array($query)) {
		!$rt['author'] && $rt['author'] = 'guest';
		$rt['authoricon'] = showfacedesign($rt['authoricon']);
		$rt['postdate'] = get_date($rt['postdate'],"Y{$left_name[year]}m{$left_name[month]}d{$left_name[day]}");
		$rt['replydate']= get_date($rt['replydate'],"Y{$left_name[year]}m{$left_name[month]}d{$left_name[day]}");
		$ckcontent = $rt['content'];
		$ckreply = $rt['reply'];
		$sql = '';
		foreach ($_FORBIDDB as $value) {
			$ckreply = N_strireplace($value['word'],$value['wordreplace'],$ckreply);
			$rt['ifwordsfb'] && $ckcontent = N_strireplace($value['word'],$value['wordreplace'],$ckcontent);
		}
		if ($ckreply != $rt['reply']) {
			$rt['reply'] = $ckreply;
			$sql = "reply='".addslashes($ckreply)."'";
		}
		if ($ckcontent && $ckcontent != $rt['content']) {
			$rt['content'] = $ckcontent;
			$sql .= ($sql ? ',' : '')."ifwordsfb='1',content='".addslashes($ckcontent)."'";
		}
		$sql && $db->update("UPDATE pw_gbook SET $sql WHERE uid='$uid'");
		$rt['content'] = nl2br($rt['content']);
		$rt['reply'] = nl2br($rt['reply']);
		if ($db_copyctrl) {
			$rt['content'] = preg_replace("/<br \/>/eis","copyctrl()",$rt['content']);
			$rt['reply'] = preg_replace("/<br \/>/eis","copyctrl()",$rt['reply']);
		}
		$_ITEMDB[] = $rt;
	}
	$db->free_result($query);
	$gdisplay = 'none';
	if (!empty($_ITEMDB)) {
		$gdisplay = '';
		if ($blogdb['msgs'] > $blogdb['pshownum']) {
			require_once(R_P.'mod/page_mod.php');
			$pages = page($blogdb['msgs'],$page,$blogdb['pshownum'],"blog.php?do=list&uid=$uid&type=gbook&");
		}
		$windgroup['closecmt'] && $blogdb['ifgbook'] = 0;
		$rawwindid = $ckurl = '';
		if ($blogdb['ifgbook']) {
			list(,,,,,$gbookgd) = explode("\t",$db_gdcheck);
			if (!$gbookgd) {
				list(,$gbookgd) = explode(',',$blogdb['gdcheck']);
			}
			if ($gbookgd) {
				$rawwindid = (!$windid) ? 'guest' : rawurlencode($windid);
				$ckurl = str_replace('?','',$ckurl);
			}
		}
	}
}
include_once(getPath("list_$type"));
function GetAttachUrl($array){
	global $db_blogurl,$attach_url,$attachpath;
	if ($array['type']=='img') {
		$a_url = $attach_url ? $attach_url : "$db_blogurl/$attachpath";
		$array['picurl'] = "$a_url/$array[attachurl]";
		N_stripos($array['picurl'],'login') && $array['picurl'] = N_strireplace('login','log in',$array['picurl']);
		$array['attachurl'] = $array['picurl'];
		if ($array['ifthumb']) {
			$attach_ext = strrchr($array['attachurl'],'.');
			$array['attachurl'] = str_replace($attach_ext,"_thumb{$attach_ext}",$array['attachurl']);
		}
	}
	return $array;
}
?>

⌨️ 快捷键说明

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