0, "mesg" => "", "data" => array(), ); if( !$_REQUEST['board_id'] ) return; $ret_mode = $_REQUEST['ret_mode']; $mesg = ""; $kbrd_obj = new Board($_REQUEST['board_id']); switch( true ){ case $_REQUEST['mode'] == "getBoardList" : $kbrd_list = $kbrd_obj->getBoardPage(); break; case $_REQUEST['mode'] == "getContentsPage" : $kbrd_cont_list = $kbrd_obj->getContentsPage($_REQUEST); break; case $_REQUEST['mode'] == "putContents" : $ret_mode = "action"; $retval['mesg'] = array(); if( !$_REQUEST['board_id'] ){ $retval['mesg'][] = "잘못된 접근방식입니다."; }else if( !$kbrd_obj->chkUseOnly("input") ){ //쓰기권한이 있는지 확인 $retval['mesg'][] = "이용 권한이 없습니다."; }else{ if( $kbrd_obj->board_info['ness_name'] && !$_REQUEST['uname'] ){ $retval['mesg'][] = "이름을 입력하지 않았습니다."; } if( !$kbrd_obj->isAdmin() && !$kbrd_obj->chkSecretAuth($_REQUEST['cid']) ){ //비밀번호를 체크하지 않는 권한을 가졌는지 체크 if( $kbrd_obj->board_info['ness_passwd'] && !$_REQUEST['passwd'] ){ //비밀번호 필수항목에 입력안하면 $retval['mesg'][] = "비밀번호를 입력하지 않았습니다."; } if( $_REQUEST['passwd'] && strlen($_REQUEST['passwd']) < 6 ){ //비밀번호를 입력했는데 6자 이하면 $retval['mesg'][] = "비밀번호는 6자 이상이어야 합니다."; } if( $_REQUEST['cid'] && $kbrd_obj->board_info['ness_passwd'] && !$kbrd_obj->chkPasswd( $_REQUEST['cid'], $_REQUEST['passwd'] ) ){ $retval['mesg'][] = "입력하신 비밀번호가 일치하지 않습니다."; } } if( $kbrd_obj->board_info['ness_title'] && !$_REQUEST['title'] ){ $retval['mesg'][] = "제목을 입력하지 않았습니다."; } if( $kbrd_obj->board_info['ness_homepage'] && !$_REQUEST['homepage'] ){ $retval['mesg'][] = "홈페이지를 입력하지 않았습니다."; }elseif( !chkValiDomain($_REQUEST['homepage']) ){ $retval['mesg'][] = "홈페이지 형식이 올바르지 않습니다."; } if( $kbrd_obj->board_info['ness_mail'] && !$_REQUEST['mail'] ){ $retval['mesg'][] = "메일을 입력하지 않았습니다."; }else if( !chkValiMail($_REQUEST['mail']) ){ $retval['mesg'][] = "메일 형식이 올바르지 않습니다."; } if( $kbrd_obj->board_info['ness_mobile'] && !$_REQUEST['mobile'] ){ $retval['mesg'][] = "연락처를 입력하지 않았습니다."; }elseif( !chkValiPhone($_REQUEST['mobile']) ){ $retval['mesg'][] = "연락처 형식이 올바르지 않습니다."; } if( $kbrd_obj->board_info['ness_contents'] && !$_REQUEST['contents'] ){ $retval['mesg'][] = "내용을 입력하지 않았습니다."; } // if( !$_REQUEST['cid'] && $kbrd_obj->board_info['ness_image'] && !count($_FILES['image']['name']) ){ //최초 입력일경우에 체크 // $retval['mesg'][] = "이미지 파일을 입력하지 않았습니다."; // } // if( !$_REQUEST['cid'] && $kbrd_obj->board_info['ness_file'] && !count($_FILES['file']['name']) ){ //최초 입력일경우에 체크 // $retval['mesg'][] = "첨부파일을 입력하지 않았습니다."; // } // if( !$_REQUEST['cid'] && $kbrd_obj->board_info['ness_movie'] && !count($_FILES['movie']['name']) ){ //최초 입력일경우에 체크 // $retval['mesg'][] = "동영상을 입력하지 않았습니다."; // } if( !$_REQUEST['cid'] && $kbrd_obj->board_info['ness_image'] && !$kbrd_obj->chkHasImageFile($_REQUEST) ){ //최초 입력일경우에 체크 $retval['mesg'][] = "이미지 파일을 입력하지 않았습니다."; } if( !$_REQUEST['cid'] && $kbrd_obj->board_info['ness_file'] && !$kbrd_obj->chkHasFile($_REQUEST) ){ //최초 입력일경우에 체크 $retval['mesg'][] = "첨부 파일을 입력하지 않았습니다."; } } print_r($retval); if( count($retval['mesg']) ){ $retval['code'] = false; }else{ if( $_REQUEST['cid'] ){ $rst = $kbrd_obj->setContents($_REQUEST); $exemode = "수정"; }else{ $rst = $kbrd_obj->putContents($_REQUEST); $exemode = "등록"; if( $rst ) $move_page = "./kbrd_list.php?board_id={$_REQUEST['board_id']}"; } if( $rst ){ $retval['mesg'][] = "{$exemode}되었습니다."; }else{ $retval['mesg'][] = "{$exemode}중 오류가 발생하였습니다."; } } break; // case $_REQUEST['mode'] == "getContents" : $ret_mode = "error_action"; // $retval['mesg'] = array(); // if( !$_REQUEST['board_id'] ){ // $retval['mesg'][] = "잘못된 접근방식입니다."; // }else if( !$kbrd_obj->chkUseOnly( "read" ) ){ //읽기권한이 있는지 확인 // $retval['mesg'][] = "이용 권한이 없습니다."; // }else{ // $kbrd_cont = $kbrd_obj->getContents($_REQUEST['cid']); // if( ($kbrd_cont['secret'] || $_REQUEST['use_secret']) && !$kbrd_obj->chkSecretAuth($kbrd_cont) ){ //비밀글 모드이거나, 수정진입인데 비밀번호 통과권한이 없으면. // $ret_mode = "action"; // $move_page = "./kbrd_secret.php?board_id={$_REQUEST['board_id']}&cid={$kbrd_cont['cid']}"; // } // } // break; case $_REQUEST['mode'] == "getContents" : //내용 불러오기 case $_REQUEST['mode'] == "mgetContents" : $ret_mode = "error_action"; //수정용 내용 불러오기 $kbrd_cont = $kbrd_obj->getContents($_REQUEST['cid']); if( $_REQUEST['mode'] == "getContents" ){ $needmode = "read"; //필요 권한 $secmode = $kbrd_cont['secret']; //비밀글모드 } if( $_REQUEST['mode'] == "mgetContents" ){ $needmode = "input"; //필요권한 $secmode = true; //비밀글모드 } $retval['mesg'] = array(); if( !$_REQUEST['board_id'] ){ $retval['mesg'][] = "잘못된 접근방식입니다."; }else if( !$kbrd_obj->chkUseOnly( $needmode ) ){ //권한이 있는지 확인 $retval['mesg'][] = "이용 권한이 없습니다."; }else{ $kbrd_cont['files'] = $kbrd_obj->getFiles($kbrd_cont['cid'])?:array(); if( $secmode && !$kbrd_obj->chkSecretAuth($kbrd_cont) ){ //비밀글 모드인데 비밀번호 통과권한이 없으면. $ret_mode = "action"; $move_page = "./kbrd_secret.php?board_id={$_REQUEST['board_id']}&cid={$kbrd_cont['cid']}"; }else if( $_REQUEST['mode'] == "getContents" && $kbrd_obj->addContentsViews($_REQUEST['cid']) ){ //조회수 카운트 올림 $kbrd_cont['views'] += 1; } } case $_REQUEST['mode'] == "" : //새글 등록 // if( $kbrd_obj->DB->tableExists( $kbrd_obj->TB_kbrd_attach ) ){ // //require_once _INCLUDE_PATH_."/vendor/tinymce5/tinymce_file_board.php"; // } break; case $_REQUEST['mode'] == "delContents" : $ret_mode = "error_action"; $retval['mesg'] = array(); if( !$_REQUEST['board_id'] ){ $retval['mesg'][] = "잘못된 접근방식입니다."; }else if( !$kbrd_obj->chkUseOnly( "write" ) ){ //권한이 있는지 확인 $retval['mesg'][] = "이용 권한이 없습니다."; }else if( !$kbrd_obj->chkSecretAuth($_REQUEST['cid']) ){ //비밀번호 통과권한이 있는지 확인 $retval['mesg'][] = "이용 권한이 없습니다."; }else{ $rst = $kbrd_obj->delContents($_REQUEST['cid']); if( $rst ){ $retval['mesg'][] = "삭제 되었습니다."; $move_page = base64url_decode($_REQUEST['referer']); }else{ $retval['mesg'][] = "삭제중 오류가 발생하였습니다."; } } break; case $_REQUEST['mode'] == "putOpinion" : $ret_mode = "ajax"; if( !$_REQUEST['opinion'] ){ $retval['mesg'] = "내용을 입력하지 않았습니다."; }else if( !$_REQUEST['uname'] ){ $retval['mesg'] = "작성자를 입력하지 않았습니다."; }else if( !$_REQUEST['passwd'] ){ $retval['mesg'] = "비밀번호를 입력하지 않았습니다."; }else{ $retval['code'] = $kbrd_obj->putOpinion($_REQUEST); $retval['mesg'] = "등록되지 않았습니다."; } break; case $_REQUEST['mode'] == "getOpinionList" : $opinion_list = $kbrd_obj->getOpinionList($_REQUEST['cid']); break; case $_REQUEST['mode'] == "getOpinionSubList" : $opinion_sublist = $kbrd_obj->getOpinionSubList($_REQUEST['cid'], $_REQUEST['uid']); break; case $_REQUEST['mode'] == "delOpinion" : $ret_mode = "ajax"; if( !$_REQUEST['board_id'] || !$_REQUEST['cid'] || !$_REQUEST['uid'] || !$_REQUEST['oid'] ){ $retval['mesg'] = "잘못된 접근방식입니다."; }else if( !$_REQUEST['passwd'] ){ $retval['mesg'] = "비밀번호를 입력하지 않았습니다."; }else if( !$kbrd_obj->chkOpinionPasswd( $_REQUEST['cid'], $_REQUEST['oid'], $_REQUEST['passwd'] ) ){ $retval['mesg'] = "비밀번호가 일치하지 않습니다."; }else{ $retval['code'] = $kbrd_obj->delOpinion($_REQUEST); $retval['mesg'] = "삭제되지 않았습니다."; } break; case $_REQUEST['mode'] == "rejOpinion" : $ret_mode = "ajax"; if( !$_REQUEST['board_id'] || !$_REQUEST['cid'] || !$_REQUEST['uid'] || !$_REQUEST['oid'] ){ $retval['mesg'] = "잘못된 접근방식입니다."; }else if( !$kbrd_obj->isAdmin() ){ $retval['mesg'] = "권한이 없습니다."; }else{ $retval['code'] = $kbrd_obj->delOpinion($_REQUEST); $retval['mesg'] = "차단되지 않았습니다."; } break; case $_REQUEST['mode'] == "chkSecret" : $ret_mode = "error_action"; $retval['mesg'] = array(); if( !$_REQUEST['board_id'] || !$_REQUEST['cid'] ){ $retval['mesg'][] = "잘못된 접근방식입니다."; }else if( !$_REQUEST['passwd'] ){ $retval['mesg'][] = "비밀번호를 입력하지 않았습니다."; }else if( !$kbrd_obj->chkPasswd( $_REQUEST['cid'], $_REQUEST['passwd'] ) ){ $retval['mesg'][] = "비밀번호가 일치하지 않습니다."; }else{ if( $_REQUEST['referer'] ){ $ret_mode = "action"; $move_page = $_REQUEST['referer']; } } break; } if( is_array($retval['mesg']) && count($retval['mesg']) ){ //메세지가 있으면 합친다. $mesg = implode("\\n\\n",$retval['mesg']); }else{ $mesg = $retval['mesg']; } switch( $ret_mode ){ case "ajax" : echo json_encode($retval); break; case "error_action" : if( $mesg ){ alert($mesg); if( $move_page ){ move_page($move_page); }else{ hback(); } } break; case "action" : if( $mesg ){ alert($mesg); } if( $move_page ){ move_page($move_page); }else{ hback(); } break; }