<?
require_once('include/global.php');
require_once('include/admin_lib.php');
auth_limit("admin");


// check
	if (!$_POST['chk_m_no'])
		msg('올바른 URL로 접근하여 주십시오');

// data
	for ($i=0; $i<sizeof($_POST['chk_m_no']); $i++)
	{
		if (!is_numeric($_POST['chk_m_no'][$i]))
			msg('올바른 URL로 접근하여 주십시오');
	}	// for()

	$q_where = '';
	if ($AUTH['auth_m_level'] < $G['LEVEL']['serveradmin'])
	{
		// [2007-03-08] 서버관리자가 도메인관리에서 'SMTP/POP3'을 차단해둔 경우 '회원관리'에서도 '허용'이 안되도록 제한.
		if ($_GET['cmd'] == 'SMTP_SET' && $G['DINFO']['d_svc_smtp'] == 'N')
			msg("서버관리자가 SMTP 서비스를 사용할 수 없도록 설정해두었으므로 허용할 수 없습니다.");
		if ($_GET['cmd'] == 'POP3_SET' && $G['DINFO']['d_svc_pop3'] == 'N')
			msg("서버관리자가 POP3 서비스를 사용할 수 없도록 설정해두었으므로 허용할 수 없습니다.");

		$q_where = " AND d_no='" . $AUTH['auth_d_no'] . "' ";
	}	// if()

	$q_set = '';
	$l_status = '';
	$proc_name = preg_replace('/^- /', '', $G_SYS['MBR_ADMIN_CMD'][$_GET['cmd']]);
	switch ($_GET['cmd'])
	{
		case 'SMTP_SET':
			$q_set = " m_svc_smtp = 'Y' ";
			$l_status = 'SMTPS';
			break;

		case 'SMTP_UNSET':
			$q_set = " m_svc_smtp = 'N' ";
			$l_status = 'SMTPUS';
			break;

		case 'POP3_SET':
			$q_set = " m_svc_pop3 = 'Y' ";
			$l_status = 'POP3S';
			break;

		case 'POP3_UNSET':
			$q_set = " m_svc_pop3 = 'N' ";
			$l_status = 'POP3US';
			break;

		case 'FORWARD_UNSET':
			$q_set = " m_forwarding_type = 'N' ";
			$l_status = 'FORWARDUS';
			break;

		case '2FA_SET':
			$q_set = " m_2fa_isuse = 'Y' ";
			$l_status = '2FAS';
			break;

		case '2FA_UNSET':
			$q_set = " m_2fa_isuse = 'N' ";
			$l_status = '2FAUS';
			break;

		case '2FA_REQUIRED_SET':
			$q_set = " m_2fa_required = 'Y', 
					   m_2fa_isuse = 'Y' ";
			$l_status = '2FARS';
			break;

		case '2FA_REQUIRED_UNSET':
			$q_set = " m_2fa_required = 'N' ";
			$l_status = '2FARUS';
			break;

		case 'MBR_WITHDRAWAL':
			$q_set = " m_level='" . $G[LEVEL][out] . "'";
			$l_status = 'WITHDRAWAL';

			// 세션 로그아웃
			foreach ($_POST['chk_m_no'] as $m_no){
				session_logout($m_no);
			}
			break;

		default:
			msg('존재하지 않는 처리명령입니다.  => '.$_GET['cmd']);
			break;
	}	// switch()

	$sql = "
		UPDATE
			" . $TB['MEMBER'] . "
		SET
			$q_set
		WHERE
			m_no IN " . set_array2comma(" (", ") ", $_POST['chk_m_no']) . "
			$q_where
		";

	db_query($sql);

	// [2006-08-08] 사용자 상태 갱신
	for ($i=0; $i<sizeof($_POST['chk_m_no']); $i++)
	{
		mbr_stats_update($_POST['chk_m_no'][$i]);
	}	// for()

	// [2025-07-29] 메일계정 관리 로그 개선
	$member = db_get_rows("SELECT *
			  FROM " . $TB['MEMBER'] . " 
		     WHERE m_no IN " . set_array2comma(" (", ") ", $_POST['chk_m_no']) . $q_where);

	for($i=0; $i<sizeof($member); $i++) {
		mbr_proc_log($member[$i]['d_no'], $member[$i]['m_no'], $member[$i]['m_id'], $l_status);
	}

// end
	msg("[" . $proc_name . "] " . sizeof($_POST['chk_m_no']) . " 건이 처리되었습니다.", 0);
	movepage($_POST['back_url']);

require_once('include/global_end.php');
?>