개인용 게시판(1:1게시판/내글만보기) 개별 설정하기
@소울e 님께서 공유해주신 자신의 글만보기 팁에서
게시판 설정의 여분필드(bo_10)를 활용하여 관리자모드 > 게시판설정 에서
체크박스를 통해 각 게시판별로 적용시킬 수 있도록 다듬어보았습니다.
테스트 : http://false9.inour.net/work/ (tester / tester)
좌측메뉴 > 개인전용 게시판
게시판설정에 추가한 체크박스를 통해 여분필드(bo_10) 에 "mybbs" 를 입력시키고
bo_10에 "mybbs" 값이 들어가 있는 경우에만
내글만 볼 수 있는 게시판으로 적용 합니다. 관리자는 모든글을 볼 수 있습니다.

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개
관리자페이지도 해보고싶네요 ! ㅎㅎ
검색 기능은 쓸수 없는것 같은데 검색까지 가능하게 하려면 sql_search 부분을 보완해야 할것 같습니다.
의견 드려요^^
자신이 쓴 글에서만 검색결과를 보여주고 있습니다 ~
[http://sir.kr/data/editor/1911/9f50fe5880aa526d1e1e67a0eac2127a_1573720972_6623.PNG]
생성되어 있는 게시판 개별로 필요에따라 개인용으로 설정할 수 있어요~
관리자는 글 번호가 1, 2, 3, 4, 제대로 나타나는데
관리자가 아닌 글쓴이는 글 번호가 0, -1, 2, -3, 이런식으로 나타나고
글이 많아질 경우 관리자는 페이징 기능이 정상적으로 작동하는데
이 역시 관리자가 아닌 글쓴이는 페이징이 나타나지 않는 문제가 있는것 같습니다.
혹시 이 부분 확인해보셨나요? 해당 글에는 아무도 해당 문제의 내용을 말씀하는분이 없더라구요..
아마 펄스나인님이 작성하신 이 글도 똑같은 문제가 있을것 같은데 확인 한번 부탁드립니다.
수정을 해봐야겠습니다 !
진심으로 감사드립니다~!!
글번호나 페이징에 문제가 있는것 같습니다 ㅠ
말씀주신 부분은 조건문을 추가해주시면 되겠습니다.
[code]
if ($member['mb_level'] == 3) {
// 로그인 된 회원의 레벨이 3인 경우 출력
} else {
// 그렇지 않은 경우 출력
}
[/code]
추가해봤는데 처리가 안되서요.
어느곳에 삽입해야 되는지 알려주시면 감사하겠습니다.
//관리자와 3레벨이 아닌경우만
와 같은 식으로 모든 if문에 조건을 추가해보세요~
if($board['bo_10'] == "mybbs" && !$is_admin && !$member['mb_level'] == 3) {
$sql_search .= " and mb_id = '{$member[mb_id]}' "; // 본인 글만 카운트
}
이렇게 했는데 게시판이 사라지는 마술이 일어나네요...
어찌하면 될까요.
펄스나인님 귀찮게 해드려 죄송합니다.
도와주세요~
이 코드는 글 번호 및 페이징에 문제가 있어서
사용하지 않으시는게 좋을거같습니다!
사용하지 않으시는게 좋을거같습니다 ~
//개인화 처리
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'];
}
페이지 넘버는 정상적으로 나옵니다.
게시판 목록
그누보드5 팁자료실
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 공지 | 3년 전 | 4417 | ||
| 2604 | 8개월 전 | 675 | ||
| 2603 | 8개월 전 | 734 | ||
| 2602 | 8개월 전 | 648 | ||
| 2601 |
|
8개월 전 | 671 | |
| 2600 |
|
8개월 전 | 579 | |
| 2599 | 8개월 전 | 809 | ||
| 2598 | 8개월 전 | 602 | ||
| 2597 |
다케미카코
|
8개월 전 | 756 | |
| 2596 | 8개월 전 | 854 | ||
| 2595 |
|
8개월 전 | 446 | |
| 2594 | 9개월 전 | 608 | ||
| 2593 |
만두먹고또먹고
|
9개월 전 | 938 | |
| 2592 | 9개월 전 | 612 | ||
| 2591 | 9개월 전 | 620 | ||
| 2590 | 9개월 전 | 689 | ||
| 2589 |
|
9개월 전 | 758 | |
| 2588 | 9개월 전 | 477 | ||
| 2587 | 9개월 전 | 796 | ||
| 2586 | 9개월 전 | 643 | ||
| 2585 | 9개월 전 | 511 | ||
| 2584 | 9개월 전 | 577 | ||
| 2583 | 9개월 전 | 498 | ||
| 2582 | 9개월 전 | 643 | ||
| 2581 | 9개월 전 | 598 | ||
| 2580 |
만두먹고또먹고
|
9개월 전 | 517 | |
| 2579 |
|
9개월 전 | 664 | |
| 2578 | 9개월 전 | 647 | ||
| 2577 | 9개월 전 | 627 | ||
| 2576 | 9개월 전 | 562 | ||
| 2575 |
이슈DEV
|
10개월 전 | 993 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기