<?
require_once('include/global.php');
require_once('include/mail_lib.php');
require_once('include/mail_spam_lib.php');
require_once('include/file.php');
require_once('conf.inc.php');

page_loading_view("스팸아님으로 처리하고 있습니다.");

// check
	// 편지읽기에서 접근시
	if (!$_POST && $_GET)
		$_POST = $_GET;

	if (!$_POST['mb_id'] || (!$_POST['mf_no'] && !$_POST['cmf']))
		msg('올바른 URL로 접근하여 주십시오');


// data
	$mf_no = array();
	if (getarraycount($_POST['cmf']) > 0)
	{
		$mf_no = $_POST['cmf'];
	} else
	{
		$mf_no[] = $_POST['mf_no'];
	}	// if()

	// set file
	$UPLOAD_ROOT = get_mail_dir();
	$errorMsg = '';
	$mb_dir_src = get_mb_dir($_POST['mb_id']);
	$mb_dir_dest = get_mb_dir('inbox');
	for ($i=0; $i<sizeof($mf_no); $i++)
	{
		// get db
			$row = db_get_row("SELECT mf_subject, mf_from, mf_filename, mf_send_ip, mf_arrival_date FROM " . $AUTH[auth_m_mf_table] . " WHERE mf_no='" . $mf_no[$i] . "' AND m_no='" . $AUTH['auth_m_no'] . "' AND mb_id='". $_POST['mb_id']. "'");
			if (!$row['mf_filename'])
				msg("존재하지 않는 메일입니다.\\n\\n이미 삭제되었거나 다른 편지함으로 옮겨졌을 수 있습니다.");

		// 메일 원본의 제목에서 SPAM, FAKE 제거
			$file = $UPLOAD_ROOT.'/'.$mb_dir_src.'/'.$row['mf_filename'];
			mail_spam_header_modify($file, '');

		// db update - 제목에서 SPAM, FAKE 제거후 받은편지함으로 이동
			// [2015-04] PHP5.4.x대응 대체함수 적용
			#$row['mf_subject'] = addslashes(ereg_replace("(\[SPAM\] |\[FAKE\] )", "", $row['mf_subject']));
			$row['mf_subject'] = addslashes(preg_replace("(\[SPAM\] |\[FAKE\] )", "", $row['mf_subject']));
			$sql = "
				UPDATE
					".$AUTH[auth_m_mf_table]."
				SET
					mb_id='inbox',
					mf_subject='".$row['mf_subject']."'
				WHERE
					mf_no='" . $mf_no[$i] . "'
					AND m_no='" . $AUTH['auth_m_no'] . "'
					AND mb_id='". $_POST['mb_id']. "'
				";
			db_query($sql);

		// file move
			if ($mb_dir_src != $mb_dir_dest)
			{
				$errorMsg .= file_move($row['mf_filename'], '', $mb_dir_src, $row['mf_filename'], '', $mb_dir_dest, false);
			}	// if()

		// 수신허용 목록에 자동 추가.
			$_email = mime_address_parse($row['mf_from']);
			$sa_email = addslashes(strtolower($_email['address']));
			if (strlen($sa_email) > 0 && isemail($sa_email))
			{
				// 중복여부 체크
				$sql = "SELECT COUNT(*)  FROM " . $TB['SPAM_ALLOW'] . " WHERE m_no='" . $AUTH['auth_m_no'] . "' AND sa_email='" . $sa_email . "'";
				$sa_cnt = db_get_one($sql);
				if ($sa_cnt < 1)
				{
					$sa_email = to_db_str($sa_email, 255, false);
					$_POST['sa_regdate'] = date('Y-m-d H:i:s');
					$sql = "
						INSERT INTO
							" . $TB['SPAM_ALLOW'] . "
							(m_no, sa_email, sa_regdate)
						VALUES
							('" . $AUTH['auth_m_no'] . "', '" . $sa_email . "', '" . $_POST['sa_regdate'] . "')
						";
					db_query($sql);
				}	// if()
			}	// if()

		errorlog("[mail_spam_no] from : " . $row['mf_from'] . ", IP : " . $row['mf_send_ip'] . ", date : " . $row['mf_arrival_date'] . ", subject : " . $row['mf_subject'], 'SPAM_NO');
	}	// for()

	// [2026-01-05] 스팸메일 오탐지 신고하기
	if ($G_SYS['IS_NOT_SPAM_REPORT']) {
		mail_not_spam_report($mf_no);
	}

// end
	if ($errorMsg)
	{
		page_loading_view_hidden();
		error($errorMsg, 'FILE', false);
		$_time = 3;
	} else
	{
		$_time = 0;
	}	// if()
	if ($msg)
		msg($msg, 0);
	movepage('mail_list.php?mb_id=' . $_POST['mb_id'] . '&' . get_qs('mb_id', 'mf_no', 'sel_mail_box', 'sel_mail_box_2'), $_time);

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