<?php
$cate_id = "mnu_board_list"; //현재 메뉴 ID 필수!!!
include_once "{$_SERVER['DOCUMENT_ROOT']}/common.inc.php";
include_once _ADM_INC_PATH_ ."/auth_check.php";
include_once _HOME_PATH_."/include/ajax_init.php";

if( !$brdObj ){
  $brdObj = new Board("");
}

switch( $_REQUEST['mode'] ){

  //게시판 리스트
  case "getBoardList" :
    $_REQUEST['viewnum'] = 1000;
    $lists = $brdObj->getBoardPage($_REQUEST);
    $retval['code'] = 1;
    $retval['data'] = $lists;
    $retval['mesg'] = cUtil\Mlang::getText("리스트를 불러오는 도중 오류가 발생하였습니다.");
  break;

  //게시판 로드
  case "getBoard" :
    if( $_REQUEST['board_id'] ){
      $binfo = $brdObj->getBoard($_REQUEST['board_id']);
      if( !$binfo['board_id'] ){
        $retval['mesg'] = cUtil\Mlang::getText("권한이 없거나, 데이터를 불러오지 못하였습니다.");
      }else{
        $retval['code'] = 1;
        $retval['data'] = $binfo;
      }
    }
  break;

  //게시판 등록/수정
  case "putBoard" :
    if( !$_REQUEST['board_id'] ){
      $retval['mesg'] = cUtil\Mlang::getText("게시판 코드를 입력하지 않았습니다.");
    }else if( !$_REQUEST['board_name'] ){
      $retval['mesg'] = cUtil\Mlang::getText("게시판명을 입력하지 않았습니다.");
    }else if( !$_REQUEST['use_webeditor'] ){
      $retval['mesg'] = cUtil\Mlang::getText("내용 작성방식을 선택하지 않았습니다.");
    }else if( !$_REQUEST['line_num'] ){
      $retval['mesg'] = cUtil\Mlang::getText("페이지당 라인수를 입력하지 않았습니다.");
    }else if( !$_REQUEST['page_num'] ){
      $retval['mesg'] = cUtil\Mlang::getText("페이지 표시수를 입력하지 않았습니다.");
    }else if( !$_REQUEST['new_num'] ){
      $retval['mesg'] = cUtil\Mlang::getText("최신글 기준 일수를 입력하지 않았습니다.");
    }else if( !$_REQUEST['hot_num'] ){
      $retval['mesg'] = cUtil\Mlang::getText("인기글 기준 조회수를 입력하지 않았습니다.");
    }else{
      $retval['mesg'] = cUtil\Mlang::getText("게시판이 등록되지 않았습니다.");
      if( $_REQUEST['board_oid'] ){

        if( _notAuth("D") ) break; /************ 권한체크*/

        $_REQUEST['board_id'] = $_REQUEST['board_oid'];
        $rst = $brdObj->setBoard($_REQUEST);
      }else{

        if( _notAuth("W") ) break; /************ 권한체크*/

        $binfo = $brdObj->getBoardId($_REQUEST['board_id']);
        if( $binfo['board_id'] ){
          $retval['mesg'] = cUtil\Mlang::getText("이미 존재하는 게시판 코드입니다.");
        }else{
          $rst = $brdObj->putBoard($_REQUEST);
        }
      }

      $retval['code'] = $rst;
    }
  break;

  //게시판 삭제
  case "delBoard" :

    if( _notAuth("D") ) break; /************ 권한체크*/

    if( !$_REQUEST['board_id'] ){
      $retval['mesg'] = cUtil\Mlang::getText("올바르지 않은 접근입니다.");
    }else{
      $retval['code'] = $brdObj->delBoard($_REQUEST['board_id']);
      $retval['mesg'] = cUtil\Mlang::getText("삭제중 오류가 발생하였습니다.");
    }
  break;

  //게시물 리스트
  case "getContentsList" :
    $lists = $brdObj->getAllContentsPage($_REQUEST);
    $retval['code'] = 1;
    $retval['data'] = $lists;
    $retval['mesg'] = "리스트를 불러오는 도중 오류가 발생하였습니다.";
  break;

  //게시물 삭제
  case "delContents" :
    $retval['code'] = 1;
    for( $a=0 ; $a<@count($_REQUEST['delchk']) ; $a++ ){
      $brdinfo = explode("|", $_REQUEST['delchk'][$a]);
      $_brd = new Board( $brdinfo[0] );
      $retval['code'] = $retval['code'] && $_brd->delContents($brdinfo[1]);
    }
    $retval['mesg'] = "삭제중 오류가 발생하였습니다.";
  break;

  case "stateChange" :
    $new_state = $_REQUEST['state']==1?2:1;
    $retval['data'] = $new_state;
    $retval['code'] = $brdObj->stateChange(array("cid"=>$_REQUEST['cid'], "state"=>$new_state));
    $retval['mesg'] = "변경되지 않았습니다.";
  break;

  case "getAdminList" :
    $where = new DB_where("and");
    $where->add("member_status = ?", 1);
    $subwhere = $where->sub_where("or");
    foreach( $GLOBALS['_varsAuthAdmin'] as $key => $val ){
      $subwhere->add("member_auth = ?", $key);
    }
    $retval['code'] = 1;
    $retval['data'] = $baseObj->getMemberList("member_id, member_name", $where, "member_name asc");
  break;

}

if( !$_REQUEST['no_echo'] ){
  echo json_encode($retval);
}