<?
$sub_menu	= "400200";
$bo_table	= $table;
include_once("./_common.php");

auth_check($auth[$sub_menu], "w");

//-- 블랙리스트 정보 수정  ------------------------------------------------------------------------
if($mode == "bl_update") {
	for($i = 0; $i < count($chk); $i++) {
		$j		= $chk[$i];
		$block_service	= $in_write[$j]."/".$in_memo[$j];

		sql_query("update $zmb[table_blacklist_mem] set db_report_count='$in_report_cnt[$j]', db_block_end='$in_block_end[$j]', db_block_service='$block_service', db_flag='$in_flag[$j]' where db_recno='$j'");

	}

	//-- 누적 신고 개수가 0이면 블랙리스트에서 삭제
	sql_query("delete from $zmb[table_blacklist_mem] where db_report_count<=0");

	alert("변경된 내용을 적용 했습니다.", "./zm.report_blacklist.php");
}

//-- 블랙리스트 삭제. -----------------------------------------------------------------------------
if($mode == "bl_delete") {
	$res		= sql_query("delete from $zmb[table_blacklist_mem] where db_recno='$recno'");
	if($res)	alert("블랙리스트에서 삭제 했습니다.", "./zm.report_blacklist.php");
	else		alert("블랙리스트에서 삭제 하던 중 오류가 생겼습니다.");
}

//-- 블랙리스트 전체 삭제 -------------------------------------------------------------------------
if($mode == "bl_delete_all") {
	for($i = 0; $i < count($chk); $i++){
		$j		= $chk[$i];
		sql_query("delete from $zmb[table_blacklist_mem] where db_recno='$j'");
	}
	
	if(count($chk)) alert("블랙리스트에서 삭제 했습니다.", "./zm.report_blacklist.php");
	else			alert("블랙리스트 삭제 중 오류가 생겼습니다.");
}

//-- 블라인드 복구 --------------------------------------------------------------------------------
if($mode == "blnd_recover") {
	$write_table	= $g4[write_prefix] . $table;

	//-- 누적 신고 된 개수
	$rd_bbs		= sql_fetch("select * from $zmb[table_blacklist_bbs] where db_table='$table' and db_wrid='$wrid'");
	//-- 신고 된 사람 정보
	$rd_mem		= sql_fetch("select mb_id from $write_table where wr_id='$wrid'");

	//-- 신고 정보 삭제
	$res	= sql_query("delete from $zmb[table_blacklist_report] where db_table='$table' and db_wrid='$wrid'");

	//-- 블랙리스트 게시물 삭제
	$res	= sql_query("delete from $zmb[table_blacklist_bbs] where db_table='$table' and db_wrid='$wrid'");

	//-- 블랙리스트 등록자의 누적 신고 수 감소
	$res	= sql_query("update $zmb[table_blacklist_mem] set db_report_count=db_report_count-$rd_bbs[db_report_count] where db_block_id='$rd_mem[mb_id]'");

	//-- 누적 신고 수 감소 후에도 서비스 제한 대상인가? 블랙리스트
	$res		= sql_fetch("select * from $zmb[table_blacklist_mem] where db_block_id='$rd_mem[mb_id]'");
	$tot_rpt	= $res[db_report_count];

	//-- 서비스 이용제한 조건
	$r_tmp1	= explode("/", $zm_config[report_level1]);	//-- 0:블럭 개수, 1:블럭 기간, 2:글쓰기 금지, 3:쪽지 금지
	$r_tmp2	= explode("/", $zm_config[report_level2]);
	$r_tmp3	= explode("/", $zm_config[report_level3]);
	$r_tmp4	= explode("/", $zm_config[report_level4]);
	
	$addInfo	= "";
	$rpt_end	= "";					//-- 서비스 이용제한 마감 날짜
	$rpt_write	= "";					//-- 글쓰기 이용 제한
	$rpt_memo	= "";					//-- 쪽지 이용 제한
	$rpt_flag	= "";					//-- 영구정지 표시
	if($tot_rpt >= $r_tmp1[0]) {		//-- 1단계 해당 되는가?
		$rpt_end	= date("Y-m-d H:i:s", $g4[server_time]+(86400 * $r_tmp1[1]));
		$rpt_write	= $r_tmp1[2];
		$rpt_memo	= $r_tmp1[3];
	}
	if($tot_rpt >= $r_tmp2[0]) {		//-- 2단계 해당 되는가?
		$rpt_end	= date("Y-m-d H:i:s", $g4[server_time]+(86400 * $r_tmp2[1]));
		$rpt_write	= $r_tmp2[2];
		$rpt_memo	= $r_tmp2[3];
	}
	if($tot_rpt >= $r_tmp3[0]) {		//-- 3단계 해당 되는가?
		$rpt_end	= date("Y-m-d H:i:s", $g4[server_time]+(86400 * $r_tmp3[1]));
		$rpt_write	= $r_tmp3[2];
		$rpt_memo	= $r_tmp3[3];
	}
	if($tot_rpt >= $r_tmp4[0]) {		//-- 4단계 해당 되는가?
		$rpt_end	= date("Y-m-d H:i:s", $g4[server_time]+(86400 * $r_tmp4[1]));
		$rpt_write	= $r_tmp4[2];
		$rpt_memo	= $r_tmp4[3];
		$rpt_flag	= 1;
	}
	$block_service	= $rpt_write . "/" . $rpt_memo;

	//-- 이용 제한 날짜가 이전 단계로 바뀌었으면 새 이용제한시간 적용
	if($rpt_end) 
		sql_query("update $zmb[table_blacklist_mem] set db_block_end='$rpt_end', db_block_service='$block_service', db_flag='$rpt_flag' where db_block_id='$rd_mem[mb_id]'");
	else
		sql_query("update $zmb[table_blacklist_mem] set db_block_end='0000-00-00 00:00:00', db_flag='' where db_block_id='$rd_mem[mb_id]'");

	if($res)	alert("정상적으로 처리 했습니다.", "./zm.report_blindbbs.php");
	else		alert("작업 진행 중 오류가 발생 했습니다.");
}

//-- 블라인드 게시글 추가 -------------------------------------------------------------------------
if($mode == "blnd_add") {
	$brd	= sql_fetch("select bo_table from $g4[board_table] where bo_table='$bo_table'");
	if(!$brd[bo_table]) alert("없는 게시판입니다.");

	$write_table	= $g4[write_prefix] . $brd[bo_table];
	$rd		= sql_fetch("select wr_id, wr_subject from $write_table where wr_id='$wrid'");
	if(!$rd[wr_id]) alert("없는 게시글입니다.");

	$rd		= sql_fetch("select * from $zmb[table_blacklist_bbs] where db_table='$bo_table' and db_wrid='$wrid'");
	if($rd[db_recno]) alert("이미 블라인드 된 게시글 입니다.");

	$now	= date("Y-m-d H:i:s", $g4[server_time]);
	$res	= sql_query("insert into $zmb[table_blacklist_bbs] set db_table='$bo_table', db_wrid='$wrid', db_blockdate='$now'");
	if($res) alert("정상 처리 했습니다.", "./zm.report_blindbbs.php");
	else	alert("작업 진행 중 오류가 발생 했습니다.");
}

//-- 신고내용 삭제 --------------------------------------------------------------------------------
if($mode == "report_del") {
	sql_query("delete from $zmb[table_blacklist_report] where db_table='$table' and db_wrid='$wrid'");

	alert("정상 처리 했습니다.", "./zm.report_list.php?table=$table&wrid=$wrid");
}
//-- 신고내용 모두 삭제 ---------------------------------------------------------------------------
if($mode == "report_delall") {
	$res	= sql_query("select b.db_table, b.db_wrid from $zmb[table_blacklist_bbs] b, $zmb[table_blacklist_report] r where b.db_table = r.db_table and b.db_wrid = r.db_wrid");
	while($rd = sql_fetch_array($res)) {
		sql_query("delete from $zmb[table_blacklist_report] where db_table='$rd[db_table]' and db_wrid='$rd[db_wrid]'");
	}

	alert("정상 처리 했습니다.", "./zm.report_blindbbs.php?table=$table&wrid=$wrid");
}

//-- 신고 취소 ------------------------------------------------------------------------------------
if($mode == "report_cancel") {
	//-- 블랙리스트에서 누적 신고 수 1 감소
	sql_query("update $zmb[table_blacklist_mem] set db_report_count=db_report_count-1 where db_block_id='$write_id'");

	//-- 신고 내용 삭제
	sql_query("delete from $zmb[table_blacklist_report] where db_recno='$recno'");

	alert("신고를 취소 했습니다.", "./zm.report_listall.php?table=$table&wrid=$wrid");
}

//-- 검색어 DB, 단어 삭제 -------------------------------------------------------------------------
if($mode == "word_del") {
	sql_query("delete from $zmb[table_search_word] where db_recno='$recno'");

	alert("단어를 삭제 했습니다.", "./zm.search_word.php");
}

//-- 검색어 DB, 금칙어 등록 -----------------------------------------------------------------------
if($mode == "word_prohibition") {
	sql_query("delete from $zmb[table_search_word] where db_recno='$recno'");

	if($word) {
		$str_prohibition	= trim($config[cf_filter]) . "," . $word;
		sql_query("update $g4[config_table] set cf_filter='$str_prohibition'");
	}

	alert("금칙어로 등록 했습니다.\\n단어는 삭제 됐습니다.", "./zm.search_word.php");
}
?>