Your IP : 172.28.240.42


Current Path : /var/www/html/clients/nkpgkx11.e-nk.ru/bitrix/modules/citrus.tszhdemo/
Upload File :
Current File : /var/www/html/clients/nkpgkx11.e-nk.ru/bitrix/modules/citrus.tszhdemo/public.php

<?

IncludeModuleLangFile(__FILE__);

class CTszhDemoPublicHelper
{
    // ñîçäàåì îáðàáîò÷èê ñîáûòèÿ "OnAfterIBlockElementAdd"
    function OnAfterIBlockElementAddHandler(&$arFields)
    {
    	global $APPLICATION;

		$questionsIBlockID = COption::GetOptionInt('citrus.tszhdemo', "questions.iblock", 0);

    	if ($questionsIBlockID > 0 && $arFields['IBLOCK_ID'] == $questionsIBlockID && $arFields['ID'] > 0) {

			$rsElement = CIBlockElement::GetList(
				Array(),
				Array("IBLOCK_ID" => $arFields['IBLOCK_ID'], "ID" => $arFields['ID'])
			);
			if ($obElement = $rsElement->GetNextElement()) {
				$arElement = $obElement->GetFields();
				$arProperties = $obElement->GetProperties();

				$arEvent = Array(
					"NAME" => $arElement['NAME'],
					"ADDRESS" => $arProperties['author_address']['VALUE'],
					"PHONE" => $arProperties['author_phone']['VALUE'],
					"MAIL" => $arProperties['author_email']['VALUE'],
					"TEXT" => $arElement['PREVIEW_TEXT_TYPE'] != 'text' ? HTMLToTxt($arElement['~PREVIEW_TEXT']) : $arElement['PREVIEW_TEXT'],

					"ELEMENT_ID" => IntVal($arElement['ID']),
					"IBLOCK_TYPE" => $arElement['IBLOCK_TYPE_ID'],
					"IBLOCK_ID" => IntVal($arElement["IBLOCK_ID"]),
					"SECTION_ID" => IntVal($arElement['IBLOCK_SECTION_ID'])
				);
				CEvent::Send("QUESTIONS_FORM", SITE_ID, $arEvent);
			}

    	}
    }

    // ñîçäàåì îáðàáîò÷èê ñîáûòèÿ "OnAfterIBlockElementUpdate"
    function OnAfterIBlockElementUpdateHandler(&$arFields)
    {
    	global $APPLICATION;

		$questionsIBlockID = COption::GetOptionInt('citrus.tszhdemo', "questions.iblock", 0);

    	if ($questionsIBlockID > 0 && $arFields['IBLOCK_ID'] == $questionsIBlockID && $arFields['ID'] > 0) {

			$rsElement = CIBlockElement::GetByID($arFields['ID']);
			if ($obElement = $rsElement->GetNextElement()) {
				$arElement = $obElement->GetFields();
				$arProperties = $obElement->GetProperties();

				$arEvent = Array(
					"NAME" => $arElement['NAME'],
					"ADDRESS" => $arProperties['author_address']['VALUE'],
					"PHONE" => $arProperties['author_phone']['VALUE'],
					"MAIL" => trim($arProperties['author_email']['VALUE']),
					"TEXT" => $arElement['PREVIEW_TEXT_TYPE'] != 'text' ? HTMLToTxt($arElement['PREVIEW_TEXT']) : $arElement['PREVIEW_TEXT'],
					"ANSWER" => trim($arElement['DETAIL_TEXT_TYPE'] != 'text' ? HTMLToTxt($arElement['DETAIL_TEXT']) : $arElement['DETAIL_TEXT']),
					"ANSWER_AUTHOR" => strlen($arProperties['answer_author']['VALUE']) > 0 ? $arProperties['answer_author']['VALUE'] : '—',

					"ELEMENT_ID" => IntVal($arElement['ID']),
					"IBLOCK_TYPE" => $arElement['IBLOCK_TYPE_ID'],
					"IBLOCK_ID" => IntVal($arElement["IBLOCK_ID"]),
					"SECTION_ID" => IntVal($arElement['IBLOCK_SECTION_ID'])
				);

				// îòïðàâèòü óâåäîìëåíèå, â ñëó÷àå, åñëè áûë çàïîëíåí îòâåò è E-Mail àâòîðà âîïðîñà
				if (md5($arEvent['ANSWER']) != $arProperties['md5_answer_sent']['VALUE']
					&& strlen($arEvent['ANSWER']) > 0 && strlen($arEvent['MAIL']) > 0 && check_email($arEvent['MAIL'])) {
						CEvent::Send("QUESTIONS_ANSWER", SITE_ID, $arEvent);
						CIBlockElement::SetPropertyValueCode($arElement['ID'], 'md5_answer_sent', md5($arEvent['ANSWER']));
				}
			}

    	}
    }
}

?>