비회원이 쓴 비밀글에 대한 관리자의 일반답글(비밀글 아님)의 경우 조회시 비밀번호 확인이 이루어 집니다.
하지만 비회원이 쓴 원글의 비밀번호를 입력해도 조회 되지 않으며 소스를 분석해본바 해당 글의 비밀번호만 확인 하고 있었습니다.(답글은 관리자 로그인해 쓴 글이므로 비번이 존재하지 않음)
원글의 비번으로 조회 가능하게 소스를 수정 했고 아직 별다른 오류는 발견되지 않은거 같은데 확인 부탁 드립니다.
KBoardBuilder.class.php
180 public function builderDocument(){
181 global $user_ID;
$userdata = get_userdata($user_ID);
$url = new KBUrl();
$content = new KBContent($this->board_id);
$content->initWithUID($this->uid);
$skin_path = KBOARD_URL_PATH . "/skin/$this->skin";
$board = $this->board;
if(!$this->board->isReader($content->member_uid, $content->secret) && $content->notice != 'true'){
if($this->board->permission_write=='all' && ($this->board->permission_read=='all' || $this->board->permission_read=='author')){
// ############ [start] : 비밀글의 답글 조회 -> 원글 비밀번호로 확인 #############
$parent = new KBContent();
$parent->initWithUID($content->parent_uid);
if($parent->secret=='true' && !$content->notice && ($this->board->isEditor($parent->member_uid) || $this->board->isConfirm($parent->password, $parent->uid))) $content->password = $parent->password;
// ############ [end] : 비밀글의 답글 조회 -> 원글 비밀번호로 확인 ############
if(!$this->board->isConfirm($content->password, $content->uid)){
include KBOARD_DIR_PATH . "/skin/$this->skin/confirm.php";
}
else{
$allow_document = true;
}
}
else if(!$user_ID){
die('<script>alert("'.__('Please Log in to continue.', 'kboard').'");location.href="'.wp_login_url().'";</script>');
}
else{
die('<script>alert("'.__('You do not have permission.', 'kboard').'");history.go(-1);</script>');
}
}
좋은 정보 감사합니다.
답글 기능이 적용된지 얼마 안되어 문제들이 조금 있습니다.
위 주소는 문제가 일부 해결된 최신버전 스킨의 editor.php 파일 소스 코드 입니다.
위 editor.php 파일의 코드와
본문에 남겨주신 코드를 종합하여 나은 방법으로 최적화 하겠습니다.