<?
$_zb_url = "http://heenju.nafly.net/bbs/";
$_zb_path = "/free/home/heenju/html/bbs/";
include $_zb_path."outlogin.php";
// 설정부분 끝.
//////////////////////////////////////////////////
// 최근게시물 함수 지정
///////////////////////////////////////////////////
function recent_bbs($skinname, $title, $num=10, $textlen=30, $datetype="Y년m월d일") {
global $_zb_path, $_zb_url, $connect, $t_board, $t_comment, $admin_table, $mb_id, $mb_conf, $mb_title;
//////////////////////////////////////
// 스킨의 존재여부 검사
$str = zReadFile($_zb_path."latest_skin/".$skinname."/main.html");
if(!$str) {
echo "지정하신 $skinname 이라는 최근목록 스킨이 존재하지 않습니다<br>";
return;
}
//////////////////////////////////////
// 필요한 변수 받아내기
if(!$mb_conf[icon])
$ico = "<img src=".$zb_url."images/dot_green.gif width=7 height=7>";
else
$ico = $mb_conf[icon];
$id = $mb_id; // id 받기
$idTitle = $mb_title; //각 게시판의 이름 받기
$cutTimeMode = $mb_conf[timemode]; // 최근 게시물 시간 범위
$showCategory = 1 - $mb_conf[nocategory]; //카테고리 보이기 값
$showIdtitle = $mb_conf[showidtitle]; // 게시판 이름 보이기 값
$myTitle = $mb_conf[mytitle];
for( $i = 0; $i < sizeof($id); $i++){
$setup = mysql_fetch_array(mysql_query("select use_alllist, use_category from $admin_table where name='".$id[$i]."'"));
if($setup[use_alllist])
$target[$id[$i]] = "zboard.php?id=";
else
$target[$id[$i]] = "view.php?id=";
if($setup[use_category]) $use_category[$id[$i]] = 1;
$idTitle[$id[$i]] = $mb_title[$i];
}
// 스킨 관련 변수
$tmpStr = explode("[loop]",$str);
$header = $tmpStr[0];
$tmpStr2 = explode("[/loop]",$tmpStr[1]);
$loop = $tmpStr2[0];
$footer = $tmpStr2[1];
//////////////////////////////////////
// 처리 시작
$tc = 0; //전체 데이타 카운터
$icon_new = "<img src='".$_zb_url."images/new_writing.gif'>";
$time_new = time() - 3600 * 24;
/* 뽑을 게시물 시간범위 관련 설정 시작 */
// $cutTimeMode가 1 이면 24시간 이내의 게시물 추출
// $cutTimeMode가 2 이면 오늘 새벽 0시0분부터 올라온 게시물 추출
// $cutTimeMode가 0 혹은 기타 수일 때 그냥 최근올려진 순서로 추출(시간제한 없음)
if($cutTimeMode == 1){
$cut_time = time() - 3600 * 24; // 24시간이내
}else if($cutTimeMode == 2){
$cut_time = mktime(0,0,0,date("m"),date("d"),date("Y")); // 오늘 아침 0시부터
}else{
$cut_time = 0;
}
/* 뽑을 게시물 시간범위 관련 설정 끝. */
// 최근 글 순으로 게시물 뽑음
for( $i = 0; $i < sizeof($id); $i++){
$query = "select * from ".$t_board."_".$id[$i]." where is_secret=0 and reg_date > $cut_time order by no desc limit $num";
$result = mysql_query($query, $connect) or die(mysql_error());
while($data=mysql_fetch_array($result)){
$ad[$tc][name] = stripslashes($data[name]);
$ad[$tc][subject] = cut_str(stripslashes($data[subject]), $textlen)."</font></b>";
$ad[$tc][date] = date($datetype, $data[reg_date]);
$ad[$tc][reg_date] = $data[reg_date];
$last_comment = mysql_fetch_array(mysql_query("select * from $t_comment"."_$id[$i] where parent='$data[no]' order by reg_date desc limit 1"));
$last_comment_time = $last_comment['reg_date'];
if(time()-$last_comment_time<3600*12)
$comment_num = "[<font color=red>".$data[total_comment]."</font>]";
elseif(time()-$last_comment_time<3600*24)
$comment_num = "[<font color=green>".$data[total_comment]."</font>]";
else
$comment_num = "[".$data[total_comment]."]";
$ad[$tc][comment] = $data[total_comment] ? $comment_num : "";
$ad[$tc][icon] = $data[reg_date] > $time_new ? $icon_new : "";
$ad[$tc][target] = $_zb_url.$target[$id[$i]].$id[$i]."&no=".$data[no];
$ad[$tc][catelink] = $_zb_url."zboard.php?id=".$id[$i]."&category=".$data[category];
$ad[$tc][id] = $id[$i];
$ad[$tc][no] = $data[no];
$category = $data[category];
$result_category = mysql_query("select * from zetyx_board_category_".$id[$i]." where no='$category'") or die(mysql_error());
$category = mysql_fetch_array($result_category);
$ad[$tc][cate] = $category[name];
$tm[$tc] = $data[reg_date];
$map[$data[reg_date]] = $tc;
$tc++;
}
}
///////////////
// output
// 모든게시물을 시간순으로 정렬
if($tc)
sort($tm);
// 스킨관련 부분
// $mbName, $mbDate, $mbSubject, $mbComment, $mbCategory;
// 최근 게시물 순으로 $num만큼 출력
for($i = sizeof($tm)-1; $i >= sizeof($tm)-$num && $i >= 0; $i--){
$n = $map[$tm[$i]];
//print "$ico ";
$mbCategory = "";
// 게시판 이름 보이기
if($showIdtitle){
$mbCategory = "[ <a href=".$_zb_url."zboard.php?id=".$ad[$n][id]."><font color=black>".$idTitle[$ad[$n][id]]."</font></a>";
if($showCategory)
$mbCategory .= ">";
else
$mbCategory .= " ]";
}
// 카테고리 표시하지 않기를 선택했다면 카테고리 감추고 자신이 정의한 제목을 앞에 달음
if($showCategory){
if(!$showIdtitle) print "[ ";
$mbCategory .= "<a href=".$ad[$n][catelink]."><font color=black>".$ad[$n][cate]."</font></a> ]";
}else{
$mbCategory .= $myTitle;
}
$mbSubject = "<a href=".$ad[$n][target]." title='작성자:".$ad[$n][name]." 작성일:".$ad[$n][date]."'>";
$mbSubject .= $ad[$n][subject];
$mbSubject .= "</a> ".$ad[$n][icon];
$mbComment = $ad[$n][comment];
$mbName = $ad[$n][name];
$mbDate = $ad[$n][date];
$main = $loop;
$main = str_replace("[name]",$mbName,$main);
$main = str_replace("[date]",$mbDate,$main);
$main = str_replace("[subject]",$mbSubject,$main);
$main = str_replace("[comment]",$mbComment,$main);
$main = str_replace("[category]",$mbCategory,$main);
$main_data .= "\n".$main;
}
// 전체 출력 문자열을 모아놓기
$list = $header.$main_data.$footer;
$list = str_replace("[title]",$title,$list);
$list = str_replace("[dir]",$_zb_url."latest_skin/".$skinname."/images/",$list);
// 출력
echo $list;
}
?>
<!-- ############################################### 브라우저에 출력 부분 ############################################### -->
<html>
<head></head>
<body>
// 최근 글 10개 출력하기(글 길이를 30자까지 끊기, <font color=red>[ 게시판 > 카테고리 ] 형식으로 보이기</font>)<br>
<?
$mb_id = array("hee_free", "infodata", "ju_qt");
$mb_title = array("인사하기", "자유글", "도 닦기"); // 게시판 이름
$mb_conf[showidtitle] = 1; // 게시판 이름 보이기
recent_bbs("index", "여러게시판", 10,30);
?>
// 공지 뽑기(카테고이 안보이기, 카테고리 대신 지정한 문자열 나오게 하기, 리스트 아이콘 지정하기)<br>
<?
$mb_id = array("ju_free"); // 공지사항 뽑기
$mb_title = array("공지사항");
$mb_conf[nocategory] = 1; // 카테고리 보이지 않음
$mb_conf[showidtitle] = 0; // 게시판 이름 안보이기
$mb_conf[mytitle] = "<b>알림공지</b> "; // 카테고리 자리에 자신이 정의한 글자가 나오게 함
$mb_conf[icon] = "<img src='".$_zb_url."images/notice.gif' width=12 height=12>"; // 리스트 아이콘 지정
recent_bbs("index", "공지사항", 2,30);
$mb_conf[mytitle] = "";
$mb_conf[icon] = ""; // 초기화시킴
$mb_conf[nocategory] = 0; // 초기화시킴
?>
// 24시간 이내에 올려진 글 뽑기 (최근글 뽑기 시간범위 지정 1, <font color=red>게시판 이름만 보이기</font>)<br>
<?
$mb_id = array("hee_free", "infodata", "ju_qt");
$mb_title = array("인사하기", "자유글", "도 닦기"); // 게시판 이름
$mb_conf[showidtitle] = 1; // 게시판 이름 보이기
$mb_conf[nocategory] = 1; // 카테고리 감추기
$mb_conf[timemode] = 1;
recent_bbs("index","in 24 hours", 5, 30);
?>
//오늘 새벽 0시0분부터 올라온 글만 뽑기 (최근글 뽑기 시간범위 지정 2, <font color=red>카테고리 이름만 보이기</font>)<br>
<?
$mb_conf[timemode] = 2;
$mb_conf[showidtitle] = 0; // 게시판 이름 안보이기
$mb_conf[nocategory] = 0; // 카테고리 감추지 않기(보이기)
$mb_conf[mytitle] = ""; // 카테고리 자리에 자신이 정의한 글자가 나오게 하던것을 초기화
recent_bbs("index","오늘게시물", 6, 30);
?>
</body>
</html>
셈틀 Com/제로보드
댓글