내가 쓴 글 만 보여지기. (내글,내가작성한글) 정보
내가 쓴 글 만 보여지기. (내글,내가작성한글)본문
** 주의사항
** 본 게시판은 회원전용 게시판입니다. (비회원 금지)
** 반드시 게시판 설정에서 목록,보기,쓰기 페이지 등급을 2등급 이상으로 해주세요.
** 1등급(기본값) 으로 하시면 비회원일 경우 모든 글이 보여집니다.
/bbs/list.php 에서 총 2군데를 수정해야 합니다.
** 아래 코드중 $bo_table == 'free' 이 부분을 원하는 게시판 아이디로 바꿔주세요.
** 만약 여러개의 게시판일경우
** if (($bo_table == 'free' || $bo_table == 'gallery' || $bo_table == 'notice') && $is_member && !$is_admin) {
** 이런식으로 늘려줄 수 있습니다.
if ($sca || $stx || $stx === '0') { //검색이면
$is_search_bbs = true; //검색구분변수 true 지정
$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 = (int)$row['min_wr_num'];
if (!$spt) $spt = $min_spt;
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
// $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
// $result = sql_query($sql);
// $total_count = sql_num_rows($result);
} else {
$sql_search = "";
$total_count = $board['bo_count_write'];
}
이 부분을 검색하셔서 아래 처럼 바꿔주세요.
// ------------------------------------------------------------------------
// 2601021533 adpro - 페이징 카운트 처리
// 수정본
if ($sca || $stx || $stx === '0') { //검색이면
$is_search_bbs = true; //검색구분변수 true 지정
$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 = (int)$row['min_wr_num'];
if (!$spt) $spt = $min_spt;
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
// free 게시판일 경우 내 글만 검색 (관리자예외)
if ($bo_table == 'free' && $is_member && !$is_admin) {
$sql_search .= " and mb_id = '{$member['mb_id']}' ";
}
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
} else {
$sql_search = "";
// free 게시판일 경우 내 글 개수만 카운트 (관리자예외)
if ($bo_table == 'free' && $is_member && !$is_admin) {
$sql = " SELECT COUNT(*) AS cnt FROM {$write_table} WHERE wr_is_comment = 0 AND mb_id = '{$member['mb_id']}' ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
} else {
$total_count = $board['bo_count_write'];
}
}
/*
// 2601021530 adpro - 리스트에서 내글 만 가져오기 - 페이징, 카운트
// 원본
if ($sca || $stx || $stx === '0') { //검색이면
$is_search_bbs = true; //검색구분변수 true 지정
$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 = (int)$row['min_wr_num'];
if (!$spt) $spt = $min_spt;
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
// 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
// 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922
$sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
// $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";
// $result = sql_query($sql);
// $total_count = sql_num_rows($result);
} else {
$sql_search = "";
$total_count = $board['bo_count_write'];
}
*/
// ------------------------------------------------------------------------
그리고
if ($is_search_bbs) {
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";
} else {
$sql = " select * from {$write_table} where wr_is_comment = 0 ";
if(!empty($notice_array))
$sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
$sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}
이 부분을 찾으셔서
// ---------------------------------------------------------------
// 2601021530 adpro - 리스트에서 내글 만 가져오기 - 목록 쿼리
// 수정본
if ($is_search_bbs) {
// free 게시판일 경우 내 글만 검색 (관리자 예외)
$adp_2601021521_my_filter = '';
if ($bo_table == 'free' && $is_member && !$is_admin) {
$adp_2601021521_my_filter = " and mb_id = '{$member['mb_id']}' ";
}
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$adp_2601021521_my_filter} {$sql_order} limit {$from_record}, $page_rows ";
} else {
$sql = " select * from {$write_table} where wr_is_comment = 0 ";
if(!empty($notice_array))
$sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
// free 게시판일 경우 내 글만 가져오기 (관리자 예외)
if ($bo_table == 'free' && $is_member && !$is_admin) {
$sql .= " and mb_id = '{$member['mb_id']}' ";
}
$sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}
/*
// 2601021530 adpro - 리스트에서 내글 만 가져오기
// 원본
if ($is_search_bbs) {
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";
} else {
$sql = " select * from {$write_table} where wr_is_comment = 0 ";
if(!empty($notice_array))
$sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
$sql .= " {$sql_order} limit {$from_record}, $page_rows ";
}
*/
// ---------------------------------------------------------------
이렇게 바꿔주세요.
이렇게 하면
일반 회원은 본인의 글만 보여지고 (공지 제외)
관리자는 모든 글이 보입니다.
그리고 추가로 뷰페이지에서도 본인글만 가져오려면
사용하시는 스킨의 view.skin.php 에서
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
// 여기를 추가해주세요.
if (in_array($bo_table, array('free', 'gallery')) && $is_member && !$is_admin) {
$adp_2601021521_is_notice = in_array($write['wr_id'], explode(',', trim($board['bo_notice'])));
if (!$adp_2601021521_is_notice && $write['mb_id'] != $member['mb_id']) {
alert('본인이 작성한 글만 열람 가능합니다.', get_pretty_url($bo_table));
}
}
?>
이렇게 코드를 수정해주시면됩니다.
!-->!-->!-->!-->!-->
추천
3
3
댓글 6개

수고하셨습니다!!
@아이스웨덴™ 반드시 목록 접근권한 등급을 2등급 이상으로 해주셔야 합니다.
고생하셨습니다.
@엘뤼아르 반드시 목록 접근권한 등급을 2등급 이상으로 해주셔야 합니다.

감사합니다 ^^
@민트다이어리 반드시 목록 접근권한 등급을 2등급 이상으로 해주셔야 합니다.