forked from HANYANG/HANYANG_MES
264 lines
11 KiB
PHP
264 lines
11 KiB
PHP
<?php
|
|
include_once "{$_SERVER['DOCUMENT_ROOT']}/common.inc.php";
|
|
|
|
$retval = array(
|
|
"code" => 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;
|
|
} |