비밀글은 게시판 리스트에 출력안되게 하는 방법은? 정보
비밀글은 게시판 리스트에 출력안되게 하는 방법은?본문
비밀글은 게시판 리스트에 출력안되게 할려고 합니다.
list.skin.php 파일에 어떤걸 추가 시켜야 하는지요..
댓글 전체

스킨에서 나오지 않게 된다면 문제가 있습니다.
한페이지당 15개라면 그중 비밀글이 5개가 포함되었다면
첫페이지 10개 두번째 페이지는 15개 표시가 되겠죠 그렇기 때문에
list.php에서 처리 해주시는것이 좋을듯합니다.
물론 스킨안에서 모두 처리가능합니다. 속도가 약간 떨어지더라도
처리 순서도
/bbs/list.php => /skin/board/test/list.php => /skin/board/test/list.skin.php
이런식으로 생각해보십시오.
# list.php에서의 처리 방식 추가(제일 상단에 추가 하세요
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$all_view_sql = " and (wr_option<>'secret') ";
if ($is_admin) $all_view_sql = "";
==> 관리자 다보기 사용자 비밀글 설정된것은 정렬의 제외처리
한페이지당 15개라면 그중 비밀글이 5개가 포함되었다면
첫페이지 10개 두번째 페이지는 15개 표시가 되겠죠 그렇기 때문에
list.php에서 처리 해주시는것이 좋을듯합니다.
물론 스킨안에서 모두 처리가능합니다. 속도가 약간 떨어지더라도
처리 순서도
/bbs/list.php => /skin/board/test/list.php => /skin/board/test/list.skin.php
이런식으로 생각해보십시오.
# list.php에서의 처리 방식 추가(제일 상단에 추가 하세요
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$all_view_sql = " and (wr_option<>'secret') ";
if ($is_admin) $all_view_sql = "";
==> 관리자 다보기 사용자 비밀글 설정된것은 정렬의 제외처리
개미인간님 답변 정말 감사드립니다.
그런데요.. 제가 무슨말씀을 하시는지 잘 모르겠습니다.^^;
자세히 풀어서 답변 부탁드릴께요^^
그런데요.. 제가 무슨말씀을 하시는지 잘 모르겠습니다.^^;
자세히 풀어서 답변 부탁드릴께요^^

/bbs/list.php 에상단에
########################################################
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$all_view_sql = " and (wr_option<>'secret') ";
if ($is_admin) $all_view_sql = "";
########################################################
이렇게 추가하셔요.
관리자는 다볼수 있습니다. 일반사용자 측면에서 바라보세요.
더자세히는 힘들거 같습니다. 이외 문제에 대해서는 스스로 해결 부탁드리구요. 아니면 의뢰 주시면 대신 해드리겠습니다.
감사합니다.
########################################################
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$all_view_sql = " and (wr_option<>'secret') ";
if ($is_admin) $all_view_sql = "";
########################################################
이렇게 추가하셔요.
관리자는 다볼수 있습니다. 일반사용자 측면에서 바라보세요.
더자세히는 힘들거 같습니다. 이외 문제에 대해서는 스스로 해결 부탁드리구요. 아니면 의뢰 주시면 대신 해드리겠습니다.
감사합니다.
gallery 게시판에 wr_memview 필드 생성 special 값이 있는 게시물 레벨 5 이상만 보도록 해봤습니다. 참고만 하세요.
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 회원만 보는 게시물 카운트
if($bo_table=="gallery") {
$wr_memview_result = mysql_fetch_array(mysql_query("select count(wr_memview) from $write_table where wr_memview <> 'special' "));
// 회원설정 글 수
if ($member[mb_level]>4) $wr_memview_result[0] = 0;
}
// 분류 사용 여부
$is_category = false;
if ($board[bo_use_category])
{
$is_category = true;
$category_location = "./board.php?bo_table=$bo_table&sca=";
$category_option = get_category_option($bo_table); // SELECT OPTION 태그로 넘겨받음
}
$sop = strtolower($sop);
if ($sop != "and" && $sop != "or")
$sop = "and";
// 분류 선택 또는 검색어가 있다면
if ($sca || $stx)
{
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$sql = " select MIN(wr_num) as min_wr_num from $write_table ";
$row = sql_fetch($sql);
$min_spt = $row[min_wr_num];
if (!$spt) $spt = $min_spt;
// 회원설정 글 보기
if($bo_table=="gallery") {
$sql_search .= " and (wr_memview <> 'special') ";
if ($member[mb_level]>4) $sql_search .= "";
}
$sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
$sql = " select distinct wr_parent from $write_table where $sql_search ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);
}
else
{
$sql_search = "";
$total_count = $board[bo_count_write] - $wr_memview_result[0];
}
$total_page = ceil($total_count / $board[bo_page_rows]); // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함
// 관리자라면 CheckBox 보임
$is_checkbox = false;
if ($member[mb_id] && ($is_admin == "super" || $group[gr_admin] == $member[mb_id] || $board[bo_admin] == $member[mb_id]))
$is_checkbox = true;
// 정렬에 사용하는 QUERY_STRING
$qstr2 = "bo_table=$bo_table&sop=$sop";
if ($board[bo_gallery_cols])
$td_width = (int)(100 / $board[bo_gallery_cols]);
// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
if (!$sst)
{
if ($board[bo_sort_field])
$sst = $board[bo_sort_field];
else
$sst = "wr_num, wr_reply";
$sod = "";
}
// 회원설정 글 보기
if($bo_table=="gallery") {
$sql_order = " and (wr_memview <> 'special') ";
if ($member[mb_level]>4) $sql_order = "";
}
$sql_order .= " order by $sst $sod ";
.. 이하 생략
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 회원만 보는 게시물 카운트
if($bo_table=="gallery") {
$wr_memview_result = mysql_fetch_array(mysql_query("select count(wr_memview) from $write_table where wr_memview <> 'special' "));
// 회원설정 글 수
if ($member[mb_level]>4) $wr_memview_result[0] = 0;
}
// 분류 사용 여부
$is_category = false;
if ($board[bo_use_category])
{
$is_category = true;
$category_location = "./board.php?bo_table=$bo_table&sca=";
$category_option = get_category_option($bo_table); // SELECT OPTION 태그로 넘겨받음
}
$sop = strtolower($sop);
if ($sop != "and" && $sop != "or")
$sop = "and";
// 분류 선택 또는 검색어가 있다면
if ($sca || $stx)
{
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
// 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
$sql = " select MIN(wr_num) as min_wr_num from $write_table ";
$row = sql_fetch($sql);
$min_spt = $row[min_wr_num];
if (!$spt) $spt = $min_spt;
// 회원설정 글 보기
if($bo_table=="gallery") {
$sql_search .= " and (wr_memview <> 'special') ";
if ($member[mb_level]>4) $sql_search .= "";
}
$sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
$sql = " select distinct wr_parent from $write_table where $sql_search ";
$result = sql_query($sql);
$total_count = mysql_num_rows($result);
}
else
{
$sql_search = "";
$total_count = $board[bo_count_write] - $wr_memview_result[0];
}
$total_page = ceil($total_count / $board[bo_page_rows]); // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함
// 관리자라면 CheckBox 보임
$is_checkbox = false;
if ($member[mb_id] && ($is_admin == "super" || $group[gr_admin] == $member[mb_id] || $board[bo_admin] == $member[mb_id]))
$is_checkbox = true;
// 정렬에 사용하는 QUERY_STRING
$qstr2 = "bo_table=$bo_table&sop=$sop";
if ($board[bo_gallery_cols])
$td_width = (int)(100 / $board[bo_gallery_cols]);
// 정렬
// 인덱스 필드가 아니면 정렬에 사용하지 않음
//if (!$sst || ($sst && !(strstr($sst, 'wr_id') || strstr($sst, "wr_datetime")))) {
if (!$sst)
{
if ($board[bo_sort_field])
$sst = $board[bo_sort_field];
else
$sst = "wr_num, wr_reply";
$sod = "";
}
// 회원설정 글 보기
if($bo_table=="gallery") {
$sql_order = " and (wr_memview <> 'special') ";
if ($member[mb_level]>4) $sql_order = "";
}
$sql_order .= " order by $sst $sod ";
.. 이하 생략