비 회원의 비밀글에 답변이 가능하게 하려면?

비 회원의 비밀글에 답변이 가능하게 하려면?

QA

비 회원의 비밀글에 답변이 가능하게 하려면?

본문

안녕하세요?

오늘도 좋은 하루 되십시오~^^)

 

비 회원제 사이트를 운영하고 있습니다.

그누4에서는 간단하던데 그누5로 오면서 좀 복잡해졌네요...ㅜ

댓글은 잘 되는데 답변은 안 되는군요~ 

 

다름이 아니라 비 회원의 비밀글에 답변이 가능하게 하려면

 

bbs/write.php에서 어떻게 수정을 해야 하는지요?

해당 부분을 주석처리 했더니 작동이 안 됩니다.

 

    // 비밀글인지를 검사

    if (strstr($write['wr_option'], 'secret')) {

        if ($write['mb_id']) {

            // 회원의 경우는 해당 글쓴 회원 및 관리자

            if (!($write['mb_id'] == $member['mb_id'] || $is_admin))

                alert('비밀글에는 자신 또는 관리자만 답변이 가능합니다.');

        } else {

            // 비회원의 경우는 비밀글에 답변이 불가함

            if (!$is_admin)

                alert('비회원의 비밀글에는 답변이 불가합니다.');

        }

 

 

그리고 bbs/board.php에서 수정을 할 내용이 있는지요?

 

    // 자신의 글이거나 관리자라면 통과

    if (($write['mb_id'] && $write['mb_id'] == $member['mb_id']) || $is_admin) {

        ;

    } else {

        // 비밀글이라면

        if (strstr($write['wr_option'], "secret"))

        {

            // 회원이 비밀글을 올리고 관리자가 답변글을 올렸을 경우

            // 회원이 관리자가 올린 답변글을 바로 볼 수 없던 오류를 수정

            $is_owner = false;

            if ($write['wr_reply'] && $member['mb_id'])

            {

                $sql = " select mb_id from {$write_table}

                            where wr_num = '{$write['wr_num']}'

                            and wr_reply = ''

                            and wr_is_comment = 0 ";

                $row = sql_fetch($sql);

                if ($row['mb_id'] == $member['mb_id'])

                    $is_owner = true;

            }

 

            $ss_name = 'ss_secret_'.$bo_table.'_'.$write['wr_num'];

 

            if (!$is_owner)

            {

                //$ss_name = "ss_secret_{$bo_table}_{$wr_id}";

                // 한번 읽은 게시물의 번호는 세션에 저장되어 있고 같은 게시물을 읽을 경우는 다시 비밀번호를 묻지 않습니다.

                // 이 게시물이 저장된 게시물이 아니면서 관리자가 아니라면

                //if ("$bo_table|$write['wr_num']" != get_session("ss_secret"))

                if (!get_session($ss_name))

                    goto_url('./password.php?w=s&bo_table='.$bo_table.'&wr_id='.$wr_id.$qstr);

            }

 

            set_session($ss_name, TRUE);

        }

    }

이 질문에 댓글 쓰기 :

답변 1

주석처리 하신 부분은

 

 if (strstr($write['wr_option'], 'secret')) { 부분을 실행하고 } 닫혀 지는 부분을 처리 안하셔서 오류가 나서 페이지 오류가 발생한듯 보여 집니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 171
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT