primeidc/module/board/board.php
2021-10-26 18:26:49 +09:00

240 lines
11 KiB
PHP

<?
@session_start();
include_once ($_SERVER["DOCUMENT_ROOT"] . "/common/conf/config.inc.php");
include_once ($_SERVER["DOCUMENT_ROOT"] . "/module/board/board.lib.php");
include_once ($_SERVER["DOCUMENT_ROOT"] . "/module/calendar/calendar.lib.php");//일정관리 형식
include $_SERVER["DOCUMENT_ROOT"] . "/common/fckeditor/fckeditor.php";
?>
<style link rel="/css/style.css"></style>
<?
//DB연결
$dblink = SetConn($_conf_db["main_db"]);
if(!$boardid){
$boardid = $_REQUEST["boardid"];
}
//게시판 정보
$arrBoardInfo = getBoardInfo($_conf_tbl["board_info"], mysql_real_escape_string($boardid));
//게시판 정보(지도게시판있으면 storeboard.js 파일 include)
$arrStoreBoardInfo = getBoardInfo($_conf_tbl["board_info"], mysql_real_escape_string("store"));
if($arrStoreBoardInfo["total"]>0){
?>
<script type="text/javascript" src="/module/board/storeboard.js"></script>
<?
}
//회원등급 목록
$arrLevelList = getArticleList($_conf_tbl["member_level"], 0, 0, "");
for($i=0;$i<$arrLevelList["total"];$i++){
$arrLevelInfo[$arrLevelList["list"][$i]["level_no"]] = $arrLevelList["list"][$i]["level_name"];
}
if(!$_SESSION[$_SITE["DOMAIN"]]["MEMBER"]["LEVEL"]){
$_SESSION[$_SITE["DOMAIN"]]["MEMBER"]["LEVEL"] = 0;
}
/*
$arrBoardInfo = 게시판 설정 정보
$arrBoardInfo["total"] : 1 이면 해당게시판이 있음
$arrBoardInfo["list"][0]["idx"] : 일련번호
$arrBoardInfo["list"][0]["boardid"] : 게시판 아이디
$arrBoardInfo["list"][0]["boardname"] : 게시판명
$arrBoardInfo["list"][0]["skin"] : 스킨명
$arrBoardInfo["list"][0]["scale"] : 페이지당 표시수
$arrBoardInfo["list"][0]["pagescale"] : 페이지 리스트 수
$arrBoardInfo["list"][0]["widthscale"] : 갤러리 형식일경우 가로갯수
$arrBoardInfo["list"][0]["newmark"] : 몇일이내의 글에 신규글 아이콘을 보이게
$arrBoardInfo["list"][0]["besthit"] : 몇번이상 클릭된 게시물에 베스트힛 아이콘 보이게
$arrBoardInfo["list"][0]["subjectcut"] : 제목글자 자르기
$arrBoardInfo["list"][0]["useadminonly"] : Y 일경우 회원등급에 관련없이 관리자만 글을 쓸 수 있음
$arrBoardInfo["list"][0]["usepds"] : Y 일경우 파일첨부창 활성화
$arrBoardInfo["list"][0]["usereply"] : Y 일경우 답글달기 가능
$arrBoardInfo["list"][0]["usereplyemail"] : Y 일경우 답글시 메일로 받기 활성화
$arrBoardInfo["list"][0]["usecat"] : Y 일경우 제품카테고리 사용
$arrBoardInfo["list"][0]["usememo"] : Y 일경우 댓글(메모)기능 사용
$arrBoardInfo["list"][0]["uselock"] : Y 일경우 글잠금 사용
$arrBoardInfo["list"][0]["readlevel"] : 읽기등급
$arrBoardInfo["list"][0]["writelevel"] : 쓰기등급
$arrBoardInfo["list"][0]["category"] : 게시판 카테고리
$arrBoardInfo["list"][0]["header"] : 헤더
$arrBoardInfo["list"][0]["footer"] : 푸터
$arrBoardInfo["list"][0]["wdate"] : 게시판 생성일자
*/
//_DEBUG($arrBoardInfo);
if($arrBoardInfo["total"] > 0){
//인트라넷 게시판 여부 체크
if($arrBoardInfo["list"][0]["useintranet"]=="Y" && !$_SESSION[$_SITE["DOMAIN"]]["ADMIN"]["ID"]){
jsMsg("관리자 로그인이 필요한 게시판 입니다.");
jsHistory("-1");
}
//카테고리 정보
if($arrBoardInfo["list"][0]["category"] !=""){
$arrBoardCategory = explode(",",$arrBoardInfo["list"][0]["category"]);
$arrBoardCatTotal = count($arrBoardCategory);
}else{
$arrBoardCatTotal = 0;
$arrBoardCategory = null;
}
//게시판 헤더
echo stripslashes($arrBoardInfo["list"][0]["header"]);
switch($_REQUEST["mode"]){
case("write"):
//관리자이거나 회원등급이 게시물 등록등급 이상일 경우
if($_SESSION[$_SITE["DOMAIN"]]["ADMIN"]["ID"] || $_SESSION[$_SITE["DOMAIN"]]["MEMBER"]["LEVEL"] >= $arrBoardInfo["list"][0]["writelevel"]){
include($_SITE["BOARD_SKIN"] .$arrBoardInfo["list"][0]["skin"]."/form.php");
}else{
jsMsg($arrLevelInfo[$arrBoardInfo["list"][0]["writelevel"]] . " 이상 글 등록이 가능 합니다.");
jsHistory("-1");
}
break;
case("modify"):
//관리자이거나 회원등급이 게시물 등록등급 이상일 경우
if($_SESSION[$_SITE["DOMAIN"]]["ADMIN"]["ID"] || $_SESSION[$_SITE["DOMAIN"]]["MEMBER"]["LEVEL"] >= $arrBoardInfo["list"][0]["writelevel"]){
$arrBoardArticle = getBoardArticleView($arrBoardInfo["list"][0]["boardid"], $_GET["category"], $_GET["idx"],"modify");
if($arrBoardArticle["total"] > 0){
//글잠금이 아니거나, 인증을 했거나, 관리자일 경우 글 보여줌
if($arrBoardArticle["list"][0][uselock]!="Y" || $_SESSION[$_SITE["DOMAIN"]][$boardid."|".$_GET["idx"]]==TRUE || $_SESSION[$_SITE["DOMAIN"]]["ADMIN"]["ID"]){
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/form.php");
}else{
$_REQUEST["mode"]="unlock";
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/pass.php");
}
}else{
jsMsg("존재하지 않는 게시물 입니다.");
jsHistory("-1");
}
}else{
jsMsg($arrLevelInfo[$arrBoardInfo["list"][0]["writelevel"]] . " 이상 글 수정이 가능 합니다.");
jsHistory("-1");
}
break;
case("reply"):
//관리자이거나 회원등급이 게시물 등록등급 이상일 경우
if($_SESSION[$_SITE["DOMAIN"]]["ADMIN"]["ID"] || $_SESSION[$_SITE["DOMAIN"]]["MEMBER"]["LEVEL"] >= $arrBoardInfo["list"][0]["replylevel"]){
$arrBoardArticle = getBoardArticleView($arrBoardInfo["list"][0]["boardid"], $_GET["category"], $_GET["idx"],"reply");
if($arrBoardArticle["total"] > 0){
//글잠금이 아니거나, 인증을 했거나, 관리자일 경우 글 보여줌
if($arrBoardArticle["list"][0][uselock]!="Y" || $_SESSION[$_SITE["DOMAIN"]][$boardid."|".$_GET["idx"]]==TRUE || $_SESSION[$_SITE["DOMAIN"]]["ADMIN"]["ID"]){
if($arrBoardInfo["list"][0]["skin"]=="inquiry"){
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/form1.php");
}else{
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/form.php");
}
}else{
$_REQUEST["mode"]="unlock";
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/pass.php");
}
}else{
jsMsg("존재하지 않는 게시물 입니다.");
jsHistory("-1");
}
}else{
jsMsg($arrLevelInfo[$arrBoardInfo["list"][0]["replylevel"]] . " 이상 글 등록이 가능 합니다.");
jsHistory("-1");
}
break;
case("view"):
//관리자이거나 회원등급이 게시물 읽기등급 이상일 경우
if($_SESSION[$_SITE["DOMAIN"]]["ADMIN"]["ID"] || $_SESSION[$_SITE["DOMAIN"]]["MEMBER"]["LEVEL"] >= $arrBoardInfo["list"][0]["readlevel"]){
$arrBoardArticle = getBoardArticleView($arrBoardInfo["list"][0]["boardid"], $_GET["category"], $_GET["idx"],"read");
if($arrBoardArticle["total"] > 0){
//글잠금이 아니거나, 인증을 했거나, 관리자일 경우 글 보여줌
if($arrBoardArticle["list"][0][uselock]!="Y" || $_SESSION[$_SITE["DOMAIN"]][$boardid."|".$_GET["idx"]]==TRUE || $_SESSION[$_SITE["DOMAIN"]]["ADMIN"]["ID"]){
//댓글목록 가져오기
$arrCommentList = getCommentList($arrBoardInfo["list"][0]["boardid"], $arrBoardArticle["list"][0][idx], 0, 0);
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/view.php");
}else{
$_REQUEST["mode"]="unlock";
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/pass.php");
}
}else{
jsMsg("존재하지 않는 게시물 입니다.");
jsHistory("-1");
}
}else{
jsMsg($arrLevelInfo[$arrBoardInfo["list"][0]["readlevel"]] . " 이상 글 읽기가 가능 합니다.");
jsHistory("-1");
}
break;
case("delete"):
//관리자이거나 회원등급이 게시물 등록등급 이상일 경우
if($_SESSION[$_SITE["DOMAIN"]]["ADMIN"]["ID"] || $_SESSION[$_SITE["DOMAIN"]]["MEMBER"]["LEVEL"] >= $arrBoardInfo["list"][0]["writelevel"]){
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/pass.php");
}else{
jsMsg($arrLevelInfo[$arrBoardInfo["list"][0]["writelevel"]] . " 이상 글 삭제가 가능 합니다.");
jsHistory("-1");
}
break;
case("list"):
default:
//getBoardListBase : 파일첨부여부는 부르지 않음 (다중파일을 올려서 group by 를 써야하므로 일반적일때는 이걸로만)
//getBoardListBaseNFile : 파일테이블과 left join
//getBoardListBaseNMemoCnt : 베이스 + 메모카운트
//관리자이거나 회원등급이 게시물 목록보기등급 이상일 경우
if($_SESSION[$_SITE["DOMAIN"]]["ADMIN"]["ID"] || $_SESSION[$_SITE["DOMAIN"]]["MEMBER"]["LEVEL"] >= $arrBoardInfo["list"][0]["listlevel"]){
if($arrBoardInfo["list"][0]["skin"]=="gallery" || $arrBoardInfo["list"][0]["skin"]=="youtube" || $arrBoardInfo["list"][0]["skin"]=="event" || $arrBoardInfo["list"][0]["skin"]=="site" || $arrBoardInfo["list"][0]["skin"]=="portfolio" || $arrBoardInfo["list"][0]["skin"]=="certify" || $arrBoardInfo["list"][0]["skin"]=="news"){
$arrBoardList = getBoardListBaseNFile($arrBoardInfo["list"][0]["boardid"], $_GET["category"], $_GET["sw"], $_GET["sk"], $arrBoardInfo["list"][0]["scale"], $_GET["offset"]);
}else if($arrBoardInfo["list"][0]["skin"]=="gallery_eng" || $arrBoardInfo["list"][0]["skin"]=="youtube_eng" || $arrBoardInfo["list"][0]["skin"]=="event_eng" || $arrBoardInfo["list"][0]["skin"]=="site_eng" || $arrBoardInfo["list"][0]["skin"]=="portfolio_eng" || $arrBoardInfo["list"][0]["skin"]=="certify_eng" || $arrBoardInfo["list"][0]["skin"]=="news_eng"){
$arrBoardList = getBoardListBaseNFile($arrBoardInfo["list"][0]["boardid"], $_GET["category"], $_GET["sw"], $_GET["sk"], $arrBoardInfo["list"][0]["scale"], $_GET["offset"]);
}else if($arrBoardInfo["list"][0]["skin"]=="schedule" || $arrBoardInfo["list"][0]["skin"]=="schedule1"){
//칼렌다 틀 가져오기 날짜설정
if(!$_REQUEST[cal_date]){
$cal_date = date("Y-m-d");
}else{
$cal_date = $_REQUEST[cal_date];
}
//날짜를 - 구분자로 배열로 만듬
$arrDate = explode("-",$cal_date);
//양력달력
$arrSolarCalendar = getDiarySet(intval($arrDate[0]), intval($arrDate[1]), intval($arrDate[2]));
$arrBoardList = getBoardListSchedule($arrBoardInfo["list"][0]["boardid"], $arrSolarCalendar["first_before"], $arrSolarCalendar["last_after"]);
}else{
$arrBoardList = getBoardListBaseNMemoCnt($arrBoardInfo["list"][0]["boardid"], $_GET["category"], $_GET["sw"], $_GET["sk"], $arrBoardInfo["list"][0]["scale"], $_GET["offset"]);
}
if(($boardid=="review" || $boardid=="shopqna") && $skin_type=="detail"){
$arrBoardInfo["list"][0]["pagescale"] ="5";
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/list2.php");
}else if(($boardid=="review" || $boardid=="shopqna") && $skin_type=="list1"){
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/list1.php");
}else{
include($_SITE["BOARD_SKIN"].$arrBoardInfo["list"][0]["skin"]."/list.php");
}
}else {
jsMsg($arrLevelInfo[$arrBoardInfo["list"][0]["listlevel"]] . " 이상 글 목록보기가 가능 합니다.");
jsHistory("-1");
}
break;
}
//게시판 푸터
echo stripslashes($arrBoardInfo["list"][0]["footer"]);
}else{
jsMsg("존재하지 않는 게시판 아이디 입니다.");
jsHistory("-1");
}
//DB해제
SetDisConn($dblink);
?>