자동메뉴에서 그룹이나 게시판 나타나지 않게 하기 정보
자동메뉴에서 그룹이나 게시판 나타나지 않게 하기본문
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=6879 의 자동메뉴를 사용중인데...
그룹이나,해당 테이블 값이 없으면 전체게시판이 모두 뜹니다.
거기서 선택적으로 몇몇 그룹이나 게시판을 빼는 방법은 없을까요 ?
이 소스 역시 - -;;; 예전에 알던 코드랑 달라서 적용할 수가 없네요..
--코드를 마니 건드려서 원본과는 좀 다릅니다...
중요사항은 같구요 ㅎㅎ
<? if (!defined("_GNUBOARD_")) exit; //gbcRFcss.php, gbcRFskin
/////////////////////////////////////////////////////////////////////////////
//그룹, 게시판, 분류 확장 메뉴 라이브러리(gbcRF_menu.lib.php) 연동
//호출방법 gbcRF_menu("스킨디렉토리", "그룹아이디");
//그룹아이디 비워두면 전체그룹 에서 추출
// CSS로 구현한 그누보드4 게시판 및 분류 자동추출 세로 메뉴스킨
// 게시판 및 분류에서 위치표시+새글갯수 표시, 분류 세로열 조정가능
// 2007년 3월 18일 일요일 최종 수정 - 플록
?><style type="text/css">
#bcRFV_global { /*메뉴 가장자리를 감싸는 영역*/
margin:5px 0 5px 0; padding:3px;
width:180px;
/*background:url(<?=$menu_skin_path?>/img/box_bg.gif) repeat-y transparent;*/
background-color: #DDEAEF;
}
#boxbg{
padding:5px;
margin:0;
border:1px solid #3399CC;
background-color: #ffffff;
}
#bcRFV_group { /*그룹메뉴 영역*/
margin:0;
padding:0;
background-color: #DDEAEF;
color: #333333;
height: 20px;
/*background:url(<?=$menu_skin_path?>/img/box_top.gif) no-repeat transparent;*/
}
#bcRFV_group a.groupSubject { /*그룹제목 스타일*/
width:154px;/*block 설정시 너비 빼먹으면 msie에서 안먹힘*/
height:20px;
display:block; /*포인터 영역 확대*/
}
#bcRFV_board { /*게시판 제목*/
font-family: 굴림,돋음;
font-size: 9pt;
padding:0;
position:relative;
}
#bcRFV_board a.boardLink { /*게시판제목 링크 스타일*/
width:100%;/*block 설정시 너비 빼먹으면 msie에서 안먹힘*/
padding:3px 0 2px 0;
display:block; /*포인터 영역 확대*/
}
/*게시판 목록 밑줄 설정 - class 부분 3항연산*/
#bcRFV_board a.uline {
border-bottom:1px solid #EFEFEF;
}
#bcRFV_board a.cline {
border:0px;
}
/* pos
-------------------------------------- */
.groupPos {font-weight:bold;color:darkblue;}
.boardPos {font-weight:bold; color:darkblue;}
#bcRFV_sub { /*분류 영역*/
width:180px;/*ie*/
position:relative;
}
#bcRFV_sub a.subLink { /*분류제목 링크 스타일 - 사용안함*/
font-size:8pt;
margin:0px;
border-bottom:0px dotted gray;
}
#bcRFV_sub a.sub_pos {
font-weight:normal; color:darkblue;
}
.bg_silver {
background-color:silver;
}
.bg_gray {
background-color:gray;
}
.bg_bs {
background-color:#CCCCCC;
}
.boardLink:hover, .boardLink:hover a,
.boardLink:focus, .boardLink:focus a:focus {
color: #000000;
font-family: 돋음;
font-size: 9pt;
text-decoration: none;
}
.new {
font: small-caps 400 8pt/9pt arial;
color:#FF3300;
font-weight: bold;
}
.newc {
font: 8pt/9pt arial;
}
</style>
<?
// rolo님 메뉴스킨 라이브러리 참조, 일반적인 조건으로 쿼리
// 제외 게시판 - 전체 검색 사용 no, 목록열람 레벨
// 나스카님 원글 및 분류별 새글 카운트(izen님 php속도향상팁 적용)
/*logic/
//현재 배열요소의 키(key)값은 각 루프의 $key변수로 지정된다.//여기서 필요한가??
//foreach( $list as $key=> $value){
foreach($list as $value){
echo "<DIV><b>" . $value['gr_subject'] . "</b> (" . $value['gr_id'] . ")";
foreach( $value['bbs'] as $bbs){
echo "<dd><b>" . $bbs['bo_subject'] . "</b></dd>";
foreach( $bbs['sca'] as $category){
echo "<dd><i>" . $category . "</i></dd></DIV>";
}
}
}
/*/
?>
<div id='bcRFV_global'>
<div id='boxbg'>
<?
//그룹
foreach($list as $value){
//$menu_size= count( $list);
$bbs_size= count( $value['bbs']);
$bar_color = ($value['gr_id'] == "tmp") ? 'bg_silver' : '';//그룹바 색상
$bar_color .= ($value['gr_id'] == "test") ? 'bg_bs' : '';
$bar_color .= ($value['gr_id'] == "blog") ? 'bg_bs' : '';
$gSubject = ($value['gr_id'] == $gur)?"<span class='groupPos'>":"<span style='font-weight:bold;'>";
$gSubject .= cut_str(get_text($value['gr_subject']),20,"") . "</span>";
//특정 그룹 링크는 gr_10 필드에 전체 url를 입력한다. 나머지 그룹의 링크는 적절히 수정한다.
$gLink = (!empty($value['gr_10']))?$value['gr_10']:$g4['path'].'.'.'/bbs/group.php?gr_id=' .$value['gr_id'];
?>
<div id="bcRFV_group" class="<?=$bar_color?>"><!--<a href='<?=$gLink?>' onfocus='this.blur()' class="groupSubject">--><?=$gSubject?></div>
<?
//게시판
$cntb = 0;
foreach($value['bbs'] as $bbs){
$tmp_write_table = $g4['write_prefix'] . $bbs['bo_table'];
$intime = date("Y-m-d H:i:s", $bbs['bo_new']);
//원글 및 코멘트 새글 카운트 by nasca, izen님 빠른쿼리로 보강
$sql_new = mysql_query(" select count(wr_datetime) as wr_datetime from $tmp_write_table where wr_is_comment = '0' and wr_datetime >= '$intime' ");//and wr_option not like '%secret%'
$row_new = mysql_fetch_array($sql_new);
$sql_cm_new = mysql_query(" select count(wr_datetime) as wr_datetime from $tmp_write_table where wr_is_comment <> '0' and wr_datetime >= '$intime' ");
$row_cm_new = mysql_fetch_array($sql_cm_new);
$bn_count = $row_new['wr_datetime'];
$bn_countc = $row_cm_new['wr_datetime'];
//관리를 위한 목록열람레벨
$llevel = (($member['mb_level'] > 5) && ($bbs['bo_list_level'] > 1))?"<span class='small'> #" . $bbs['bo_list_level'] . "</span>":"";
$new = ($bn_count || $bn_countc > 0)?"<span class='new'> / " . $bn_count . "</span>":'';
foreach( $bbs['sca'] as $category){//분류가 있고 분류사용 체크된 게시판 별도표시
//카테고리 유,무 표시
$picon = (($bbs['bo_use_category'] == "1") && ($category))?"<span> ㆍ":"<span> ㆍ";
$micon = (($bbs['bo_use_category'] == "1") && ($category))?"<span> ㆍ":"<span> ㆍ";
$sicon = ($bbs['bo_table'] == $bo_table)?$micon:$picon;
//$sicon = (($bbs['bo_use_category'] == "1") && ($category))?"<span> +</span>":"";
}
$bSubject = ($bbs['bo_table'] == $bo_table)?"<span class='boardPos'>":"<span>";
$bSubject .= cut_str(get_text($bbs['bo_subject']),20,"…") . $new . $llevel . "</span>";
//특정 게시판 링크는 bo_7 필드에 전체 url 입력한다. 나머지 게시판의 링크는 목록으로..
$bLink = (!empty($bbs['bo_7']))?$bbs['bo_7']:$g4['bbs_path'].'/'.'board.php?bo_table=' .$bbs['bo_table'];
$cntb++;
?> <div id='bcRFV_board'><a href='<?=$bLink?>' class='boardLink <?=$cntb<$bbs_size?'uline':'cline';/*밑줄설정*/?>' onfocus='this.blur()'><?=$sicon?> <?=$bSubject?></a></span><?
//분류목록 세로배열
$bo_width = 100;//전체 테이블 너비 %
$cols = 2;//세로 칼럼수
$ca_width = intval($bo_width / $cols);//셀 너비
//게시판이고 분류사용 체크되있으며 분류내용 있는 경우
if (($bbs['bo_table'] == $bo_table) && (($bbs['bo_use_category'] == "1") && ($category))){
?>
<div id='bcRFV_sub'>
<div style="width:<?=$bo_width?>%; border:0px solid white;"><?
//분류
$cntc = 1;
foreach( $bbs['sca'] as $category){
//bo_new에서 지정한 시간내 분류별 원글 및 코멘트 새글 카운트 by nasca, izen님 빠른쿼리로 보강
$sql2_new = mysql_query(" select count(wr_datetime) as wr_datetime from $tmp_write_table where wr_is_comment = '0' and wr_datetime >= '$intime' and ca_name = '$category'");
$row2_new = mysql_fetch_array($sql2_new);
$sql2_cm_new = mysql_query(" select count(wr_datetime) as wr_datetime from $tmp_write_table where wr_is_comment <> '0' and wr_datetime >= '$intime' and ca_name = '$category'");
$row2_cm_new = mysql_fetch_array($sql2_cm_new);
$cn_count = $row2_new['wr_datetime'];
$cn_countc = $row2_cm_new['wr_datetime'];
$new2 = ($cn_count || $cn_countc > 0)?"<span class='new'> (" . $cn_count . ' / ' . number_format($total_count) . ")</span>":'';
//링크에서 한글로된 카데고리 이름을 urlencode시킴
$sca_url = urlencode($category);
$ca_subject = cut_str(get_text($category),10,"") . $new2;
?><span style="width:<?=$ca_width?>%;padding:2 0 3 2;"><a href='<?=$g4['bbs_path']?>/board.php?bo_table=<?=$bbs['bo_table']?>&sca=<?=$sca_url?>' class="subLink <?=($category == $sca)?'sub_pos':'';/*해당분류*/?>" onfocus='this.blur()'><?=$bar?><?=$ca_subject?></a></span><?
if ($cntc == $cols){
$cntc = 0;
?></div><div style="width:<?=$bo_width?>%; border:0px solid red;"><?
}
$cntc++;
}//foreach category
?></div><?
}//if
?></div><?
}//foreach bbs
}
?></div>
그룹이나,해당 테이블 값이 없으면 전체게시판이 모두 뜹니다.
거기서 선택적으로 몇몇 그룹이나 게시판을 빼는 방법은 없을까요 ?
이 소스 역시 - -;;; 예전에 알던 코드랑 달라서 적용할 수가 없네요..
--코드를 마니 건드려서 원본과는 좀 다릅니다...
중요사항은 같구요 ㅎㅎ
<? if (!defined("_GNUBOARD_")) exit; //gbcRFcss.php, gbcRFskin
/////////////////////////////////////////////////////////////////////////////
//그룹, 게시판, 분류 확장 메뉴 라이브러리(gbcRF_menu.lib.php) 연동
//호출방법 gbcRF_menu("스킨디렉토리", "그룹아이디");
//그룹아이디 비워두면 전체그룹 에서 추출
// CSS로 구현한 그누보드4 게시판 및 분류 자동추출 세로 메뉴스킨
// 게시판 및 분류에서 위치표시+새글갯수 표시, 분류 세로열 조정가능
// 2007년 3월 18일 일요일 최종 수정 - 플록
?><style type="text/css">
#bcRFV_global { /*메뉴 가장자리를 감싸는 영역*/
margin:5px 0 5px 0; padding:3px;
width:180px;
/*background:url(<?=$menu_skin_path?>/img/box_bg.gif) repeat-y transparent;*/
background-color: #DDEAEF;
}
#boxbg{
padding:5px;
margin:0;
border:1px solid #3399CC;
background-color: #ffffff;
}
#bcRFV_group { /*그룹메뉴 영역*/
margin:0;
padding:0;
background-color: #DDEAEF;
color: #333333;
height: 20px;
/*background:url(<?=$menu_skin_path?>/img/box_top.gif) no-repeat transparent;*/
}
#bcRFV_group a.groupSubject { /*그룹제목 스타일*/
width:154px;/*block 설정시 너비 빼먹으면 msie에서 안먹힘*/
height:20px;
display:block; /*포인터 영역 확대*/
}
#bcRFV_board { /*게시판 제목*/
font-family: 굴림,돋음;
font-size: 9pt;
padding:0;
position:relative;
}
#bcRFV_board a.boardLink { /*게시판제목 링크 스타일*/
width:100%;/*block 설정시 너비 빼먹으면 msie에서 안먹힘*/
padding:3px 0 2px 0;
display:block; /*포인터 영역 확대*/
}
/*게시판 목록 밑줄 설정 - class 부분 3항연산*/
#bcRFV_board a.uline {
border-bottom:1px solid #EFEFEF;
}
#bcRFV_board a.cline {
border:0px;
}
/* pos
-------------------------------------- */
.groupPos {font-weight:bold;color:darkblue;}
.boardPos {font-weight:bold; color:darkblue;}
#bcRFV_sub { /*분류 영역*/
width:180px;/*ie*/
position:relative;
}
#bcRFV_sub a.subLink { /*분류제목 링크 스타일 - 사용안함*/
font-size:8pt;
margin:0px;
border-bottom:0px dotted gray;
}
#bcRFV_sub a.sub_pos {
font-weight:normal; color:darkblue;
}
.bg_silver {
background-color:silver;
}
.bg_gray {
background-color:gray;
}
.bg_bs {
background-color:#CCCCCC;
}
.boardLink:hover, .boardLink:hover a,
.boardLink:focus, .boardLink:focus a:focus {
color: #000000;
font-family: 돋음;
font-size: 9pt;
text-decoration: none;
}
.new {
font: small-caps 400 8pt/9pt arial;
color:#FF3300;
font-weight: bold;
}
.newc {
font: 8pt/9pt arial;
}
</style>
<?
// rolo님 메뉴스킨 라이브러리 참조, 일반적인 조건으로 쿼리
// 제외 게시판 - 전체 검색 사용 no, 목록열람 레벨
// 나스카님 원글 및 분류별 새글 카운트(izen님 php속도향상팁 적용)
/*logic/
//현재 배열요소의 키(key)값은 각 루프의 $key변수로 지정된다.//여기서 필요한가??
//foreach( $list as $key=> $value){
foreach($list as $value){
echo "<DIV><b>" . $value['gr_subject'] . "</b> (" . $value['gr_id'] . ")";
foreach( $value['bbs'] as $bbs){
echo "<dd><b>" . $bbs['bo_subject'] . "</b></dd>";
foreach( $bbs['sca'] as $category){
echo "<dd><i>" . $category . "</i></dd></DIV>";
}
}
}
/*/
?>
<div id='bcRFV_global'>
<div id='boxbg'>
<?
//그룹
foreach($list as $value){
//$menu_size= count( $list);
$bbs_size= count( $value['bbs']);
$bar_color = ($value['gr_id'] == "tmp") ? 'bg_silver' : '';//그룹바 색상
$bar_color .= ($value['gr_id'] == "test") ? 'bg_bs' : '';
$bar_color .= ($value['gr_id'] == "blog") ? 'bg_bs' : '';
$gSubject = ($value['gr_id'] == $gur)?"<span class='groupPos'>":"<span style='font-weight:bold;'>";
$gSubject .= cut_str(get_text($value['gr_subject']),20,"") . "</span>";
//특정 그룹 링크는 gr_10 필드에 전체 url를 입력한다. 나머지 그룹의 링크는 적절히 수정한다.
$gLink = (!empty($value['gr_10']))?$value['gr_10']:$g4['path'].'.'.'/bbs/group.php?gr_id=' .$value['gr_id'];
?>
<div id="bcRFV_group" class="<?=$bar_color?>"><!--<a href='<?=$gLink?>' onfocus='this.blur()' class="groupSubject">--><?=$gSubject?></div>
<?
//게시판
$cntb = 0;
foreach($value['bbs'] as $bbs){
$tmp_write_table = $g4['write_prefix'] . $bbs['bo_table'];
$intime = date("Y-m-d H:i:s", $bbs['bo_new']);
//원글 및 코멘트 새글 카운트 by nasca, izen님 빠른쿼리로 보강
$sql_new = mysql_query(" select count(wr_datetime) as wr_datetime from $tmp_write_table where wr_is_comment = '0' and wr_datetime >= '$intime' ");//and wr_option not like '%secret%'
$row_new = mysql_fetch_array($sql_new);
$sql_cm_new = mysql_query(" select count(wr_datetime) as wr_datetime from $tmp_write_table where wr_is_comment <> '0' and wr_datetime >= '$intime' ");
$row_cm_new = mysql_fetch_array($sql_cm_new);
$bn_count = $row_new['wr_datetime'];
$bn_countc = $row_cm_new['wr_datetime'];
//관리를 위한 목록열람레벨
$llevel = (($member['mb_level'] > 5) && ($bbs['bo_list_level'] > 1))?"<span class='small'> #" . $bbs['bo_list_level'] . "</span>":"";
$new = ($bn_count || $bn_countc > 0)?"<span class='new'> / " . $bn_count . "</span>":'';
foreach( $bbs['sca'] as $category){//분류가 있고 분류사용 체크된 게시판 별도표시
//카테고리 유,무 표시
$picon = (($bbs['bo_use_category'] == "1") && ($category))?"<span> ㆍ":"<span> ㆍ";
$micon = (($bbs['bo_use_category'] == "1") && ($category))?"<span> ㆍ":"<span> ㆍ";
$sicon = ($bbs['bo_table'] == $bo_table)?$micon:$picon;
//$sicon = (($bbs['bo_use_category'] == "1") && ($category))?"<span> +</span>":"";
}
$bSubject = ($bbs['bo_table'] == $bo_table)?"<span class='boardPos'>":"<span>";
$bSubject .= cut_str(get_text($bbs['bo_subject']),20,"…") . $new . $llevel . "</span>";
//특정 게시판 링크는 bo_7 필드에 전체 url 입력한다. 나머지 게시판의 링크는 목록으로..
$bLink = (!empty($bbs['bo_7']))?$bbs['bo_7']:$g4['bbs_path'].'/'.'board.php?bo_table=' .$bbs['bo_table'];
$cntb++;
?> <div id='bcRFV_board'><a href='<?=$bLink?>' class='boardLink <?=$cntb<$bbs_size?'uline':'cline';/*밑줄설정*/?>' onfocus='this.blur()'><?=$sicon?> <?=$bSubject?></a></span><?
//분류목록 세로배열
$bo_width = 100;//전체 테이블 너비 %
$cols = 2;//세로 칼럼수
$ca_width = intval($bo_width / $cols);//셀 너비
//게시판이고 분류사용 체크되있으며 분류내용 있는 경우
if (($bbs['bo_table'] == $bo_table) && (($bbs['bo_use_category'] == "1") && ($category))){
?>
<div id='bcRFV_sub'>
<div style="width:<?=$bo_width?>%; border:0px solid white;"><?
//분류
$cntc = 1;
foreach( $bbs['sca'] as $category){
//bo_new에서 지정한 시간내 분류별 원글 및 코멘트 새글 카운트 by nasca, izen님 빠른쿼리로 보강
$sql2_new = mysql_query(" select count(wr_datetime) as wr_datetime from $tmp_write_table where wr_is_comment = '0' and wr_datetime >= '$intime' and ca_name = '$category'");
$row2_new = mysql_fetch_array($sql2_new);
$sql2_cm_new = mysql_query(" select count(wr_datetime) as wr_datetime from $tmp_write_table where wr_is_comment <> '0' and wr_datetime >= '$intime' and ca_name = '$category'");
$row2_cm_new = mysql_fetch_array($sql2_cm_new);
$cn_count = $row2_new['wr_datetime'];
$cn_countc = $row2_cm_new['wr_datetime'];
$new2 = ($cn_count || $cn_countc > 0)?"<span class='new'> (" . $cn_count . ' / ' . number_format($total_count) . ")</span>":'';
//링크에서 한글로된 카데고리 이름을 urlencode시킴
$sca_url = urlencode($category);
$ca_subject = cut_str(get_text($category),10,"") . $new2;
?><span style="width:<?=$ca_width?>%;padding:2 0 3 2;"><a href='<?=$g4['bbs_path']?>/board.php?bo_table=<?=$bbs['bo_table']?>&sca=<?=$sca_url?>' class="subLink <?=($category == $sca)?'sub_pos':'';/*해당분류*/?>" onfocus='this.blur()'><?=$bar?><?=$ca_subject?></a></span><?
if ($cntc == $cols){
$cntc = 0;
?></div><div style="width:<?=$bo_width?>%; border:0px solid red;"><?
}
$cntc++;
}//foreach category
?></div><?
}//if
?></div><?
}//foreach bbs
}
?></div>
댓글 전체
이렇게 너무 광범이 하게 올리시면 찾기가 난감하네요.. 근데 그게 의외로 쉽지않은데;
자동메뉴의 소스 입니다. 어떤 부분을 손봐야 할지 저조차도 모르기에 소스를 올린거구요..
단순할지 그렇지 않을진 모르겠으나... 전체 게시판이 뜨는 부분에서 몇몇 게시판을 제외하고 싶다는겁니다.^^제외될 게시판이름을 적는구분..^^;;
단순할지 그렇지 않을진 모르겠으나... 전체 게시판이 뜨는 부분에서 몇몇 게시판을 제외하고 싶다는겁니다.^^제외될 게시판이름을 적는구분..^^;;