2026, 새로운 도약을 시작합니다.

특정 게시판 / 특정 회원은 공지 작성 허용하기

2113539256_1726894787.9766.gif

안녕하세요..

https://sir.kr/qa/543668

내용을 보면서 특정 게시판 내 특정 회원은 공지 작성을 허용하게 수정 하였습니다.

게시판 스킨 write.skin.php 파일을 열면 아래 코드가 있습니다.

(기본 순정 기준 30번 라인)

[code]

if ($is_notice) {

            $option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="notice" name="notice"  class="selec_chk" value="1" '.$notice_checked.'>'.PHP_EOL.'<label for="notice"><span></span>공지</label></li>';

        }

[/code]

위 코드를 아래 처럼 변경 해주세요

[code]

        $allowed_boards = array('free', 'gallery', 'test');  // 허용할 게시판

        $allowed_users = array('test', 'test1', 'test2'); // 허용할 아이디

        if ($is_notice || (in_array($bo_table, $allowed_boards) && in_array($member['mb_id'], $allowed_users))) {

            $option .= PHP_EOL.'<li class="chk_box"><input type="checkbox" id="notice" name="notice"  class="selec_chk" value="1" '.$notice_checked.'>'.PHP_EOL.'<label for="notice"><span></span>공지</label></li>';

        }

[/code]

그리고 bbs 폴더 내 write_update.php 파일 141번 라인

[code]

 // 외부에서 글을 등록할 수 있는 버그가 존재하므로 공지는 관리자만 등록이 가능해야 함

    if (!$is_admin && $notice) {

        alert('관리자만 공지할 수 있습니다.');

    }

[/code]

를 다음과 같이 변경 합니다.

[code]

// 외부에서 글을 등록할 수 있는 버그가 존재하므로 공지는 관리자만 등록이 가능해야 함

    $allowed_boards = array('free', 'gallery', 'test');

    $allowed_users = array('test12', 'b', 'te22');

    if (!$is_admin && $notice) {

        if (!in_array($bo_table, $allowed_boards) || !in_array($member['mb_id'], $allowed_users)) {

            alert('관리자 또는 특정 게시판의 허용된 사용자만 공지할 수 있습니다.');

        }

    }

[/code]

그럼 허용된 게시판 내 허용된 아이디의 경우 공지 작성이 가능합니다.

[수정]

나리야 빌더의 경우 스킨 폴더 / write.skin.php 파일 여시면

[code]

       if ($is_notice) {

                $option .= $option_start;

                $option .= '<input type="checkbox" name="notice" value="1" id="notice" class="custom-control-input" '.$notice_checked.'>';

                $option .= '<label class="custom-control-label" for="notice"><span>공지</span></label>';

                $option .= $option_end;

            }

[/code]

이렇게 생긴 코드가 있습니다. 이 코드를 아래 처럼 변경 해주세요

[code]

  $allowed_boards = array('free', 'gallery', 'test');  // 허용할 게시판

            $allowed_users = array('test', 'test1', 'test2'); // 허용할 아이디

            if ($is_notice || in_array($bo_table, $allowed_boards) && in_array($member['mb_id'], $allowed_users)) {

                $option .= $option_start;

                $option .= '<input type="checkbox" name="notice" value="1" id="notice" class="custom-control-input" '.$notice_checked.'>';

                $option .= '<label class="custom-control-label" for="notice"><span>공지</span></label>';

                $option .= $option_end;

            }

[/code]

그리고 상단에 추가된 bbs/write_update.php 파일을 변경 해주시면 정상적으로 등록됩니다.

2113539256_1726928968.1834.gif

고맙습니다.

|

댓글 12개

정말 감사드립니다! 잘사용하겠습니다! 감사합니다 진심입니다!

말씀해주신그대로 한번 변경을해보고 아이디 접속을 해보았는데, 공지설정가능한 체크란과 따로 생기지 않는것같습니다!

if (IS_NA_BBS && $is_notice) { $as_type_checked = (isset($write['as_type']) && $write['as_type'] == "1") ? ' checked' : ''; $option .= $option_start; $option .= ''; $option .= '메인'; $option .= $option_end; }

@김은우 나리야 빌더 이신 것 같습니다. 일부 코드가 다르지만 해당 부분을 조건문과 배열만 추가 해보세요

@미니님a 네 방금해봤는데 잘안되네요 나리야빌더는 힘든것같네욯ㅎ

@김은우 

확인해보니, 나리야에서도 잘되네요

나리야 스킨 폴더 / write.skin.php 파일 여시면

[code]

       if ($is_notice) {

                $option .= $option_start;

                $option .= '<input type="checkbox" name="notice" value="1" id="notice" class="custom-control-input" '.$notice_checked.'>';

                $option .= '<label class="custom-control-label" for="notice"><span>공지</span></label>';

                $option .= $option_end;

            }

[/code]

이렇게 생긴 코드가 있습니다. 이 코드를 아래 처럼 변경 해주세요

[code]

  $allowed_boards = array('free', 'gallery', 'test');  // 허용할 게시판

            $allowed_users = array('test', 'test1', 'test2'); // 허용할 아이디

            if ($is_notice || in_array($bo_table, $allowed_boards) && in_array($member['mb_id'], $allowed_users)) {

                $option .= $option_start;

                $option .= '<input type="checkbox" name="notice" value="1" id="notice" class="custom-control-input" '.$notice_checked.'>';

                $option .= '<label class="custom-control-label" for="notice"><span>공지</span></label>';

                $option .= $option_end;

            }

[/code]

그리고 본문에 추가된 bbs/write_update.php 파일을 변경 해주시면 정상적으로 등록됩니다.

@김은우 본문 내용 수정 되었습니다.

bo_1 에 추가하면 좋을듯 싶네요~ ^^

@미니님a 잘안되신다고 하신던데... 해내셨네요.. 감동입니다.. 혹시 천재가 아닌가 모르겟네요.. 부럽습니다!! 감사합니다! 즐거운 하루 되셨길 바랍니다!

감사합니다 ^^

감사합니다 

댓글 작성

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

로그인하기

그누보드5 팁자료실

번호 제목 글쓴이 날짜 조회
공지 3년 전 조회 4,598
2741 3일 전 조회 112
2740 4일 전 조회 104
2739 1주 전 조회 209
2738 1주 전 조회 217
2737 1주 전 조회 181
2736 1주 전 조회 280
2735 3주 전 조회 281
2734 3주 전 조회 263
2733 1개월 전 조회 265
2732 1개월 전 조회 301
2731 1개월 전 조회 267
2730 1개월 전 조회 226
2729 1개월 전 조회 356
2728 1개월 전 조회 245
2727 1개월 전 조회 422
2726 1개월 전 조회 256
2725 1개월 전 조회 331
2724 1개월 전 조회 360
2723 1개월 전 조회 267
2722 1개월 전 조회 300
2721 1개월 전 조회 211
2720 2개월 전 조회 304
2719 2개월 전 조회 307
2718 2개월 전 조회 202
2717 2개월 전 조회 336
2716 2개월 전 조회 202
2715 2개월 전 조회 312
2714 2개월 전 조회 273
2713 2개월 전 조회 376
2712 2개월 전 조회 289
🐛 버그신고