테스트 사이트 - 개발 중인 베타 버전입니다

개인용 게시판(1:1게시판/내글만보기) 개별 설정하기

· 5년 전 · 7114 · 31

@소울e 님께서 공유해주신 자신의 글만보기 팁에서

게시판 설정의 여분필드(bo_10)를 활용하여 관리자모드 > 게시판설정 에서

체크박스를 통해 각 게시판별로 적용시킬 수 있도록 다듬어보았습니다.

테스트 : http://false9.inour.net/work/ (tester / tester)
좌측메뉴 > 개인전용 게시판 


게시판설정에 추가한 체크박스를 통해 여분필드(bo_10) 에 "mybbs" 를 입력시키고

bo_10에 "mybbs" 값이 들어가 있는 경우에만

내글만 볼 수 있는 게시판으로 적용 합니다. 관리자는 모든글을 볼 수 있습니다.

 

3109820472_1573625518.7372.png

 


bbs/list.php
--------------------------------

80라인 쯤
$sql_search .= " and (wr_num between {$spt} and ({$spt} + {$config['cf_search_part']})) ";
바로 아래에 추가해주세요.

[code]
//개인화 처리
if($board['bo_10'] == "mybbs" && !$is_admin) {
    $sql_search .= " and mb_id = '{$member[mb_id]}' "; // 본인 글만 카운트
}
[/code]

 


96라인 쯤

$sql_search = "";
$total_count = $board['bo_count_write'];

을 아래와같이 수정해주세요.

 

[code]

//개인화 처리
if($board['bo_10'] == "mybbs" && !$is_admin) {
    $sql_search = " mb_id = '{$member[mb_id]}' ";
    $sql = " SELECT COUNT * AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
    $row = sql_fetch($sql);
    $total_count = $row['cnt'];
} else {
    $sql_search = "";
    $total_count = $board['bo_count_write'];
}

[/code]

 

213라인 쯤

$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 ";

을 아래와같이 수정해주세요.

 

[code]

//개인화 처리
if($board['bo_10'] == "mybbs" && !$is_admin) {
    $sql_search= " and mb_id = '{$member[mb_id]}' ";
    $sql = " select * from {$write_table} where wr_is_comment = 0 {$sql_search} ";
    if(!empty($notice_array))
    $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";
    $sql .= " {$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 ";
}

[/code]

 

 

adm/board_form.php
--------------------------------

 

255라인 쯤(적당한위치)추가해주세요.

 

[code]

<tr>
    <th scope="row"><label for="bo_10">개인화 게시판 설정</label></th>
    <td colspan="2">
        <?php echo help('개인화 게시판(로그인된 자신의 글만 볼 수 있음) 으로 설정하는 경우 체크해 주세요.') ?>
        <input type="checkbox" name="bo_10" value="mybbs" id="bo_10" <?php echo $board['bo_10']?'checked':''; ?>>
        <label for="bo_10">사용</label>
    </td>
</tr>

[/code]

 

1248라인 쯤

<?php for ($i=1; $i<=10; $i++) { ?>

을 아래와같이 수정해주세요.

 

[code]

<?php for ($i=1; $i<=9; $i++) { ?>

[/code]

 

 

이상입니다~

@소울e 님께 감사의 말씀 올립니다!

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 31개

5년 전
위 코드는 페이징에 문제가 있어서 사용하지 않으시는것이 좋을것 같습니다.
말씀주신 부분은 조건문을 추가해주시면 되겠습니다.

[code]

if ($member['mb_level'] == 3) {
// 로그인 된 회원의 레벨이 3인 경우 출력
} else {
// 그렇지 않은 경우 출력
}

[/code]
5년 전
/개인화 처리 밑으로 그냥 넣으면 되나요?
추가해봤는데 처리가 안되서요.
어느곳에 삽입해야 되는지 알려주시면 감사하겠습니다.
5년 전
&& !$is_admin && !$member['mb_level'] == 3
//관리자와 3레벨이 아닌경우만

와 같은 식으로 모든 if문에 조건을 추가해보세요~
5년 전
//개인화 처리
if($board['bo_10'] == "mybbs" && !$is_admin && !$member['mb_level'] == 3) {
$sql_search .= " and mb_id = '{$member[mb_id]}' "; // 본인 글만 카운트
}


이렇게 했는데 게시판이 사라지는 마술이 일어나네요...
어찌하면 될까요.
펄스나인님 귀찮게 해드려 죄송합니다.
도와주세요~
4년 전
답변이 늦었네요ㅠ
이 코드는 글 번호 및 페이징에 문제가 있어서
사용하지 않으시는게 좋을거같습니다!
좋은 정보 감사합니다.
4년 전
이 코드는 글 번호 및 페이징에 문제가 있어서
사용하지 않으시는게 좋을거같습니다 ~
3년 전
ㅇㄴ
감사합니다.
2년 전
페이징 코드 문제

//개인화 처리
if($board['bo_10'] == "mybbs" && !$is_admin) {
$sql_search = " mb_id = '{$member[mb_id]}' ";
$sql = " SELECT COUNT * AS `cnt` FROM {$write_table} WHERE {$sql_search} ";
$row = sql_fetch($sql);
$total_count = $row['cnt'];
} else {
$sql_search = "";
$total_count = $board['bo_count_write'];
}
이 부분을 밑에 처럼 수정하면

//개인화 처리
if($board['bo_10'] == "mybbs" && !$is_admin) {
$sql_search = " mb_id = '{$member[mb_id]}' ";
$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 = "";
$total_count = $board['bo_count_write'];
}

페이지 넘버는 정상적으로 나옵니다.

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168