<? if ( !defined("_INCLUDED_GLOBAL") ) die("Access Denied");		// [Security]Allow_url_fopen = On ?>
<?

	function get_auto_filter_vars()
	{
		$condition = array(
			'SUBJ'=>"<u>제목</u>에 다음 단어중 하나라도 포함된 경우",
			'BODY'=>"<u>본문</u>에 다음 단어중 하나라도 포함된 경우",
			'FROM'=>"<u>보낸 사람 주소</u>가 다음 주소와 일치하는 경우",
			'FROM2'=>"<u>보낸 사람 주소</u>에 다음 단어중 하나라도 포함된 경우",
			'TO'=>"<u>받는 사람 주소</u>가 다음 주소와 일치하는 경우",
			'TO2'=>"<u>받는 사람 주소</u>에 다음 단어중 하나라도 포함된 경우",
			'CC'=>"<u>참조 주소</u>가 다음 주소와 일치하는 경우",
			'CC2'=>"<u>참조 주소</u>에 다음 단어중 하나라도 포함된 경우",
			'MY_Y'=>"<u>받는 사람</u>이나 <u>참조</u>란에 내 주소가 있는 경우",
			'MY_N'=>"<u>받는 사람</u>이나 <u>참조</u>란에 내 주소가 없는 경우",
			'FILE_Y'=>"<u>첨부파일</u>이 있는 경우",
			'FILE'=>"<u>첨부파일명</u>에 다음 단어중 하나라도 포함된 경우"
			);

		$exec = array(
			'MOVE'=>"다음 편지함으로 이동 (보낸/임시/지운편지함은 제외)",
			'READ'=>"읽은 메일로 표시",
			'DEL'=>"지운편지함에 남기지 않고 완전히 삭제"
			);

		$condition_input = array(
			'SUBJ'=>"I",
			'BODY'=>"I",
			'FROM'=>"I",
			'FROM2'=>"I",
			'TO'=>"I",
			'TO2'=>"I",
			'CC'=>"I",
			'CC2'=>"I",
			'MY_Y'=>"N",
			'MY_N'=>"N",
			'FILE_Y'=>"N",
			'FILE'=>"I"
			);

		$exec_input = array(
			'MOVE'=>"MAILBOX",
			'READ'=>"N",
			'DEL'=>"N"
			);

		$as_vars = array(
			'condition'=>$condition,
			'condition_input'=>$condition_input,
			'exec'=>$exec,
			'exec_input'=>$exec_input
			);
		/*
				$as_vars = array(
			'condition_key'=>array_keys($condition),
			'condition_key'=>array_values($condition),
			$exec);
*/

		return $as_vars;
	}	// function()


	// 디비저장 형식에 맞게 변환.
	function set_auto_filter_vars()
	{
		global $G_SYS;
		$_POST['as_condition'] = '';
		$_POST['as_condition_text'] = '';
		for ($i=0; $i<sizeof($_POST['condt_chk']); $i++)
		{
			$_POST['as_condition'] .= str_replace('|', '', $_POST['condt_chk'][$i]);
			$_POST['as_condition_text'] .= str_replace('|', '', set_auto_filter_trim($_POST['condt_'.$_POST['condt_chk'][$i]]));
			if ($i+1 != sizeof($_POST['condt_chk']))
			{
				$_POST['as_condition'] .= '|';
				$_POST['as_condition_text'] .= '|';
			}	// if()
		}	// for()

		$_POST['as_exec'] = '';
		$_POST['as_exec_text'] = '';
		for ($i=0; $i<sizeof($_POST['exec_chk']); $i++)
		{
			$_POST['as_exec'] .= str_replace('|', '', $_POST['exec_chk'][$i]);
			$_POST['as_exec_text'] .= str_replace('|', '', set_auto_filter_trim($_POST['exec_'.$_POST['exec_chk'][$i]]));
			if ($i+1 != sizeof($_POST['exec_chk']))
			{
				$_POST['as_exec'] .= '|';
				$_POST['as_exec_text'] .= '|';
			}	// if()
		}	// for()

		$_POST['as_econdition'] = '';
		$_POST['as_econdition_text'] = '';
		for ($i=0; $i<sizeof($_POST['econdt_chk']); $i++)
		{
			$_POST['as_econdition'] .= str_replace('|', '', $_POST['econdt_chk'][$i]);
			$_POST['as_econdition_text'] .=  str_replace('|', '', set_auto_filter_trim($_POST['econdt_'.$_POST['econdt_chk'][$i]]));
			if ($i+1 != sizeof($_POST['econdt_chk']))
			{
				$_POST['as_econdition'] .= '|';
				$_POST['as_econdition_text'] .= '|';
			}	// if()
		}	// for()

		// length cechk
		if (strlen($_POST['as_condition_text']) > $G_SYS['DB_TEXT'])
			msg("[조건 선택]에 등록된 단어들의 총 길이가 ".number_format($G_SYS['DB_TEXT'])."자를 초과하여 저장할 수 없습니다.");
		if (strlen($_POST['as_exec_text']) > $G_SYS['DB_TEXT'])
			msg("[동작 선택]에 등록된 단어들의 총 길이가 ".number_format($G_SYS['DB_TEXT'])."자를 초과하여 저장할 수 없습니다.");
		if (strlen($_POST['as_econdition_text']) > $G_SYS['DB_TEXT'])
			msg("[예외 조건 선택]에 등록된 단어들의 총 길이가 ".number_format($G_SYS['DB_TEXT'])."자를 초과하여 저장할 수 없습니다.");

		// addslashes
		$_POST['as_condition_text'] = addslashes($_POST['as_condition_text']);
		$_POST['as_exec_text'] = addslashes($_POST['as_exec_text']);
		$_POST['as_econdition_text'] = addslashes($_POST['as_econdition_text']);
	}	// function()

	function set_auto_filter_trim($value)
	{
		// [2013-07-09] addslashes 중복 오류 수정.
		//$_ex = explode(',', $value);
		$_ex = explode(',', stripslashes($value));
		$str = '';
		for ($i=0; $i<sizeof($_ex); $i++)
		{
			$_str = trim($_ex[$i]);
			if ($_str != '')
			{
				if ($str != '')
					$str .= ',';
				$str .= $_str;
			}	// if()
		}	// for()
		return $str;
	}	// function()

	/*
		-. 메일 자동분류 등록/수정 폼 데이타 지정.

		ex)
			$view = setform_auto_filter($row);

	*/
	function setform_auto_filter($row, $as)
	{
		global $G, $G_SYS, $TB, $AUTH;

		// default
		if ($row['as_sort'] == '')
		{
			$sql = "SELECT MAX(as_sort) FROM ".$TB['AUTO_FILTER']." WHERE m_no='" . $AUTH['auth_m_no'] . "'";
			$row['as_sort'] = db_get_one($sql) + 1;
		}	// if()

		// set
		$view['as_name'] = input_value($row['as_name'], 1);
		$view['as_is_use'] = select_list_value($row['as_is_use'], array_values($G[ISUSE]), array_keys($G[ISUSE]), NULL, 0, 1);
		$view['as_sort'] = input_value($row['as_sort'], 1);

		// 조건 선택
		$mb_id = 'spam';

		$_ex = explode('|', $row['as_condition']);
		$_ex2 = explode('|', $row['as_condition_text']);
		$view['as_condition_ischk'] = array();
		$view['as_condition_value'] = array();
		foreach ($as['condition'] as $key=>$val)
		{
			$_as = array_search($key, $_ex);
			if ($_as !== false)
			{
				$view['as_condition_ischk'][$key] = true;
				$view['as_condition_value'][$key] = htmlspecialchars_fix($_ex2[$_as]);
			}	// if()
		}	// foreach()

		$_ex = explode('|', $row['as_exec']);
		$_ex2 = explode('|', $row['as_exec_text']);
		$view['as_exec_ischk'] = array();
		$view['as_exec_value'] = array();
		foreach ($as['exec'] as $key=>$val)
		{
			$_as = array_search($key, $_ex);
			if ($_as !== false)
			{
				$view['as_exec_ischk'][$key] = true;
				$view['as_exec_value'][$key] = input_value($_ex2[$_as], 1);
				if ($key == 'MOVE')
				{
					$mb_id = $_ex2[$_as];
				}	// if()
			}	// if()
		}	// foreach()

		$_ex = explode('|', $row['as_econdition']);
		$_ex2 = explode('|', $row['as_econdition_text']);
		$view['as_econdition_ischk'] = array();
		$view['as_econdition_value'] = array();
		foreach ($as['condition'] as $key=>$val)
		{
			$_as = array_search($key, $_ex);
			if ($_as !== false)
			{
				$view['as_econdition_ischk'][$key] = true;
				$view['as_econdition_value'][$key] = htmlspecialchars_fix($_ex2[$_as]);
			}	// if()
		}	// foreach()


		// 메일박스
			$mail_box = get_mail_box();
			$_mail_box = array();
			for ($i=0; $i<sizeof($mail_box); $i++)
			{
				if (get_mb_dir($mail_box[$i]['mb_id']) == get_mb_dir('inbox'))
				{
					$_mail_box['mb_name'][] = $mail_box[$i]['mb_name'];
					$_mail_box['mb_id'][] = $mail_box[$i]['mb_id'];
				}	// if()
			}	// for()
			$view['select_mail_box'] = select_list_value($mb_id, $_mail_box['mb_name'], $_mail_box['mb_id'], NULL, 0, 1);

		// [2025-11-27] 편지함 트리 지원
			$cg                = get_mail_box_tree_class();
			$cg_dataall        = $cg->getRowsByParent(0, 255, 1, "AND " . get_mail_box_where());
			$cg_dataall_option = $cg->getSelectOption($cg_dataall);

			$view['select_mail_box_tree'] = select_list_value ($mb_id, $cg_dataall_option['val'], $cg_dataall_option['key'], NULL, 0, 1);

		return $view;
	}	// function()


	function get_auto_filter_value($keys, $texts, $vars)
	{
		$_ex = explode('|', $keys);
		$_ex2 = explode('|', $texts);
		$str = '';
		foreach ($vars as $key=>$val)
		{
			$_as = array_search($key, $_ex);
			if ($_as !== false)
			{
				$str .= "<div style='HEIGHT:18px; OVERFLOW:hidden;'>".$val."</div>";
				if ($_ex2[$_as])
				{
					if ($key == 'MOVE')
					{
						$_ex2[$_as] = get_mb_name($_ex2[$_as]);
					}	// if()
					$str .= "<div style='HEIGHT:18px; OVERFLOW:hidden;'>&nbsp; : <font color=#363636>".han_substr($_ex2[$_as], 25)."</font></div>";
				}	// if()
			}	// if()
		}	// foreach()

		return $str;
	}	// function()


	// 최대 등록 수 제한.
	function limit_auto_filter_max()
	{
		global $TB, $AUTH, $G_SYS;
		$sql = "
			SELECT
				COUNT(*)
			FROM
				" . $TB['AUTO_FILTER'] . "
			WHERE
				m_no='" . $AUTH['auth_m_no'] . "'
			";
		$as_cnt = db_get_one($sql);
		if ($as_cnt >= $G_SYS['AUTO_FILTER_MAX'])
		{
			msg("메일 자동분류는 최대 ".$G_SYS['AUTO_FILTER_MAX']."개까지 등록할 수 있습니다.");
		}	// if()
	}	// function()


?>