Your IP : 52.15.128.81


Current Path : /home/bitrix/ext_www/dev.home-comfort.in.ua/local/php_interface/include/
Upload File :
Current File : /home/bitrix/ext_www/dev.home-comfort.in.ua/local/php_interface/include/agents.php

<?
function orderInterviewEmail(){
	/**
	 * Функция рассылки писем по заказам совершенным три дня назад
	 *
	 * Для отладки проще создать эту функцию под другим именем на отдельной тестовой странице и вызвать.
	 */

	if(CModule::IncludeModule("sale")){
		global $DB;
		$startDate = '-3';
		$endDate = '-2'; //fixme: переставить на -2 для рабочего режима, установить на 0 для тестирования
		$timeStartDate = strtotime($startDate.' days');
		$timeEndDate = strtotime($endDate.' days');
		$data_n = date(
			$DB->DateFormatToPHP(CSite::GetDateFormat("FULL ")),
			mktime(0, 0, 0, date("n", $timeStartDate), date("j", $timeStartDate), date("Y"), $timeStartDate)
		); // начальная дата -3дня
		$data_k = date(
			$DB->DateFormatToPHP(CSite::GetDateFormat("FULL")),
			mktime(23, 59, 59, date("n", $timeEndDate), date("j", $timeEndDate), date("Y"), $timeEndDate)
		); // конечная дата -2дня

		$arFilter = Array(">=DATE_INSERT" => $data_n, "<=DATE_INSERT" => $data_k);
		$arSelect = Array("ID", "USER_ID");
		$rsSales = CSaleOrder::GetList(array("DATE_INSERT" => "ASC"), $arFilter, false, array("nTopCount" => 100), $arSelect);
		while($arSales = $rsSales->Fetch()){
			// COption::SetOptionString("sale", "interview_email_" . $arSales['ID'], 'N');
			//fixme: Снять комментарий при тестировании. Письма будут отправляться, даже если были отправлены ранее

			// TODO Переделать это через свойство заказа а не через COption
			if(COption::GetOptionString("sale", "interview_email_".$arSales['ID']) != 'Y'){
				$EMAIL = $NAME = '';
				$arProperties = CSaleOrderPropsValue::GetOrderProps($arSales['ID']);

				while($arProperty = $arProperties->GetNext()){
					if($arProperty['CODE'] == 'CONTACT_PERSON'){
						$NAME = $arProperty['VALUE'];
					}elseif($arProperty['CODE'] == 'EMAIL'){
						$EMAIL = $arProperty['VALUE'];
					}
				}

				$searchUser = CUser::GetByID($arSales['USER_ID']);
				$searchUser = $searchUser->Fetch();


				$USER_HAS = '';
				if(isset($searchUser["CHECKWORD"]) && $searchUser["CHECKWORD"]
				&& $searchUser["EMAIL"] == $EMAIL /** !! отдаем код только если EMAIL в учетке и заказе совпадают */
				){
					$USER_HAS = '&amp;hash='. $searchUser["CHECKWORD"];
				}

				$arEventFields = array(
					"ORDER_ID" => $arSales['ID'],
					"EMAIL_TO" => $EMAIL,
					"NAME" => $NAME,
					"USER_HAS" => $USER_HAS
				);

				CEvent::Send("WEBPROFY_ORDER_INTERVIEW", 's1', $arEventFields);
				// CEvent::Send("DEBUG", 's1', ['DEBUG'=> $debug]);

				COption::SetOptionString("sale", "interview_email_".$arSales['ID'], 'Y');

			}
		}
	}

	return "orderInterviewEmail();";
}