그누보드 [G4] 해당그룹 게시판 및 분류 자동추출 세로 메뉴
페이지 정보
본문
원작성자 : 플록 님
자료출처 : http://www.sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=6766
해당그룹 하위 게시판 및 분류를 보여주는 세로형 자동메뉴입니다.
특징;
해당 게시판 일때만 분류를 보여줍니다.
해당 게시판 및 해당 분류일때 다른 스타일로 표시합니다.
새글이 있는 경우 게시판 및 분류에 new아이콘 및 새글 갯수를 표시합니다.
- 헐랭이님 소스코드 참조해서 수정했습니다.
사용법;
$grN 쿼리에서 그룹아이디 넣어줍니다.
원하는 위치에 <?php include_once("경로/gnu.menu.php"); ?> 해줍니다.
icon_new.gif , icon_nemo.gif 를 그누보드/img 폴더에 업로드 합니다.
gnu.menu.php 전체소스
_____________________________________________________
<?php
if (!defined("_GNUBOARD_")) exit;
#####################################################
# CSS로 구현한 그누보드4 게시판 및 분류 자동추출 세로 메뉴
# 특징- 게시판 및 분류에서 위치표시+새글갯수 보여줌
# 2006년 8월 5일 토요일, 헐랭이님 소스코드 참조 수정 - 플록
#####################################################
?>
<style type="text/css">
#bcFV_global { /*메뉴 가장자리를 감싸는 영역*/
width:174px;
background-color:transparent/*black*/;
position:relative;
}
#bcFV_group { /*그룹메뉴 영역*/
width:164px;
margin:5px 0 0 5px;
padding:7px 0 0 10px;
background-color:silver;
font-weight:bold;
}
.bcFV_group_subject { /*그룹제목 스타일*/
width:156px;/*block 설정시 너비 빼먹으면 msie에서 안먹힘*/
height:23px;
display:block; /*포인터 영역 확대*/
}
#bcFV_board { /*게시판 제목*/
width:174px;
margin:0 0 0 0;
padding:0 0 0 10px;
background-color:transparent;
position:relative;
}
a.bcFV_board_subject { /*게시판제목 링크 스타일*/
width:156px;/*block 설정시 너비 빼먹으면 msie에서 안먹힘*/
height:15px;
display:block; /*포인터 영역 확대*/
border-bottom:1px dotted #DDD;
padding:5px 0 5px 0;
}
#bcFV_sub { /*분류 영역*/
margin:0 0 0 0;
padding:3px 0 0 20px;
width:130px;
height:20px;
}
a.bcFV_sub_subject { /*분류제목 링크 스타일*/
width:130px; /*block 설정시 너비 빼먹으면 msie에서 안먹힘*/
height:15px;
display:block; /*포인터 영역 확대*/
border-bottom:1px dotted #DDD;
padding:0 0 2px 0;
}
a.on:link, a.on:visited, a.on:active { /*해당 게시판 및 분류 강조*/
color:#45436c;
font-weight:bold;
}
a.on:hover { /**/
color:orange;
font-weight:bold;
}
a.off:link, a.off:visited, a.off:active { /*일반 게시판 및 분류*/
color:gray;
}
a.off:hover { /**/
color:orange;
}
</style>
<!-- <table id="r_tb_gnusr_bo_V_1" radius="3" rborder="#DDDDDD" rbgcolor="transparent" width='174' height="20" border='0' cellspacing='0' cellpadding='0'>
<tr>
<td> -->
<div id="bcFV_global"><?php
//### 그룹 추출 - 메뉴가 위치하는 그룹만
$grN = sql_fetch(" select gr_id, gr_subject from {$g4['group_table']} where gr_id = '{$gr_id} 또는 그룹아이디' ");//그룹지정
?><div id="bcFV_group">
<a href='<?php echo $g4['bbs_path']?><?php echo $grN['gr_id'] == "sample_gal"?'/gallery':'';/*특정그룹 경로*/ ?>/group.php?gr_id=<?php echo $grN['gr_id']; ?>' onfocus='this.blur()' class="bcFV_group_subject"><?php echo $grN['gr_subject']; ?></a></div><?
$bar = " - ";
$blue_bullet = "<img src='$g4[path]/img/icon_nemo.gif' border='0' align='absmiddle'>";
//## 게시판 추출 -레벨에 따른 목록 권한설정 적용후 검색순 정렬
// "검색순서"로 정렬할때
$sql = " select bo_table, bo_subject, bo_new from {$g4['board_table']} where (bo_list_level <= {$member['mb_level']}) and (gr_id = '{$grN['gr_id']}') order by bo_order_search";//(gr_id = '{$gr_id}')
// "게시판 제목"으로 정렬할때
//$sql = " select bo_table, bo_subject, bo_new from {$g4['board_table']} where (bo_list_level <= {$member['mb_level']}) and (gr_id = '{$grN['gr_id']}') order by bo_subject";//(gr_id = '{$gr_id}')
// "TABLE"로 정렬할때
//$sql = " select bo_table, bo_subject, bo_new from {$g4['board_table']} where (bo_list_level <= {$member['mb_level']}) and (gr_id = '{$grN['gr_id']}') order by bo_table";//(gr_id = '{$gr_id}')
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$tmp_write_table = $g4['write_prefix'] . $row['bo_table'];
$new_time = date("Y-m-d H:i:s", time()-3600*$row['bo_new']);
$sql_new = " select wr_datetime from {$tmp_write_table} where wr_datetime >= '{$new_time}' ";
$result_new = sql_query($sql_new);
// bo_new에서 지정한 시간내 게시판 전체 새글 카운트
$bn_count = mysql_num_rows($result_new);
if ($bn_count > 0) {
$new = " (<span><font color=#f923e>{$bn_count}</font>) <img src='{$g4['path']}/img/icon_new.gif' border='0'></span>";
}else{
$new = "";
}
//게시판 제목 및 아이콘, 새글 갯수 처리
$style = "";
if ($row['bo_table'] == $bo_table) //해당 게시판 강조
$style = " style='font-weight:bold; color:orange;' ";
$bo_sub = "<span {$style}>" . cut_str(get_text($row['bo_subject']),20,"") . "</span>" .$new;
?><div id="bcFV_board"><a href='<?php echo $g4['bbs_path']; ?>/board.php?bo_table=<?php echo $row['bo_table']; ?>' class='bcFV_board_subject'><?php echo $blue_bullet; ?> <?php echo $bo_sub; ?></a></div><?php
//해당 게시판만 분류 추출
if ($row[bo_table] == $bo_table) {
$sql2 = " select bo_category_list from {$g4['board_table']} where bo_table = '{$row['bo_table']}' order by bo_table ";
$row2 = sql_fetch($sql2);
$category = explode("|", $row2['bo_category_list']);
for ($j=0; $j<count($category); $j++) {
$sql2_new = " select wr_datetime,ca_name from {$tmp_write_table} where wr_datetime >= '{$new_time}' and ca_name = '{$category[$j]}'";
$result2_new = sql_query($sql2_new);
// bo_new에서 지정한 시간내 분류별 새글 카운트
$cn_count = mysql_num_rows($result2_new);
if ($category[$j]) {
//카데고리가 있을때만 출력
//링크에서 한글로된 카데고리 이름을 urlencode시킴
$sca_url = urlencode($category[$j]);
if ($cn_count > 0) {
$new2 = " (<span><font color=#5923e>{$cn_count}</font>) <img src='{$g4['path']}/img/icon_new.gif' border='0'></span>";
}else{
$new2 = "";
}
//분류 제목 및 아이콘, 새글 갯수 처리
$style = "";
if ($category[$j] == $sca)
$style = " style='color:orange;' ";
$ca_name = "<span $style>" . cut_str($category[$j], 14) . "</span>" .$new2;
?><div id='bcFV_sub'><a href='./board.php?bo_table=<?php echo $bo_table; ?>&sca=<?php echo $sca_url; ?><?php //echo $category[$j]; ?>' class='bcFV_sub_subject'><?php echo $bar; ?> <?php echo $ca_name; ?></a></div><?php
}
}
}
}
?></div>
<div style='clear: both;'></div>
<!-- </td>
</tr>
</table>
<script>roundTable("r_tb_gnusr_bo_V_1");</script> -->
댓글목록
등록된 댓글이 없습니다.