Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if(!defined("B_PROLOG_INCLUDED")||B_PROLOG_INCLUDED!==true)die();
- /**
- * Bitrix vars
- *
- * @var array $arParams
- * @var array $arResult
- * @var CBitrixComponent $this
- * @global CMain $APPLICATION
- * @global CUser $USER
- */
- $arResult["PARAMS_HASH"] = md5(serialize($arParams).$this->GetTemplateName());
- $arParams["USE_CAPTCHA"] = (($arParams["USE_CAPTCHA"] != "N" && !$USER->IsAuthorized()) ? "Y" : "N");
- $arParams["EVENT_NAME"] = trim($arParams["EVENT_NAME"]);
- if($arParams["EVENT_NAME"] == '')
- $arParams["EVENT_NAME"] = "FEEDBACK_FORM";
- $arParams["EMAIL_TO"] = trim($arParams["EMAIL_TO"]);
- if($arParams["EMAIL_TO"] == '')
- $arParams["EMAIL_TO"] = COption::GetOptionString("main", "email_from");
- $arParams["OK_TEXT"] = trim($arParams["OK_TEXT"]);
- if($arParams["OK_TEXT"] == '')
- $arParams["OK_TEXT"] = GetMessage("MF_OK_MESSAGE");
- /*
- if(isset($_REQUEST["s1ajax"]) && $_REQUEST["s1ajax"] === "y") {
- $APPLICATION->RestartBuffer();
- }*/
- if($_SERVER["REQUEST_METHOD"] == "POST" && $_POST["submit"] <> '' && (!isset($_POST["PARAMS_HASH"]) || $arResult["PARAMS_HASH"] === $_POST["PARAMS_HASH"]))
- {
- $lang_par = GetMessage("MF_LANG");
- $event_id = "S1_FEEDBACK_FORM";
- $arFilter = array(
- "TYPE_ID" => $event_id,
- "LID" => $lang_par,
- );
- $rsET = CEventType::GetList($arFilter);
- if (!($rsET->Fetch())) {
- $arFields = array(
- "EVENT_NAME" => $event_id,
- "NAME" => GetMessage("MF_ET_NAME"),
- "LID" => $lang_par,
- "DESCRIPTION" => "#EMAIL_FROM# - ".GetMessage("MF_ET_EMAIL_FROM").
- "\n#EMAIL_TO# - ".GetMessage("MF_ET_EMAIL_TO").
- "\n#TEXT# - ".GetMessage("MF_ET_TEXT").
- "\n#E_THEME# - ".GetMessage("MF_ET_THEME")//.
- //"\n#DIR_FILE# - ".GetMessage("MF_ET_DIR_FILE").
- //"\n#AR_FILE# - ".GetMessage("MF_ET_AR_FILE").
- //"\n#DEL_FILE# - ".GetMessage("MF_ET_DEL_FILE")
- );
- $obEventType = new CEventType;
- $obEventType->Add($arFields);
- }
- $arFilter = array(
- "TYPE_ID" => $event_id,
- "ACTIVE" => "Y",
- "SITE_ID" => SITE_ID,
- );
- $rsMess = CEventMessage::GetList($by="id", $order="desc", $arFilter);
- if ($arMess = $rsMess->Fetch())
- $template_id = $arMess["ID"];
- else {
- $arFields = array(
- "ACTIVE" => "Y",
- "EVENT_NAME" => $event_id,
- "LID" => SITE_ID,
- "EMAIL_FROM" => '#EMAIL_FROM#',
- "EMAIL_TO" => '#EMAIL_TO#',
- "SUBJECT" => '#E_THEME#',
- "BODY_TYPE" => 'text',
- "MESSAGE" => '#TEXT#',
- );
- $obTemplate = new CEventMessage;
- $template_id = $obTemplate->Add($arFields);
- }
- $arResult["ERROR_MESSAGE"] = array();
- if(check_bitrix_sessid())
- {
- if(empty($arParams["REQUIRED_FIELDS"]) || !in_array("NONE", $arParams["REQUIRED_FIELDS"]))
- {
- if((empty($arParams["REQUIRED_FIELDS"]) || in_array("NAME", $arParams["REQUIRED_FIELDS"])) && strlen($_POST["user_name"]) <= 1){
- $arResult["ERROR_MESSAGE"][] = GetMessage("MF_REQ_NAME");
- $arResult["ERROR_FIELD"][] = 'user_name';
- }
- if((empty($arParams["REQUIRED_FIELDS"]) || in_array("EMAIL", $arParams["REQUIRED_FIELDS"])) && strlen($_POST["user_email"]) <= 1){
- $arResult["ERROR_MESSAGE"][] = GetMessage("MF_REQ_EMAIL");
- $arResult["ERROR_FIELD"][] = 'user_email';
- }
- if((empty($arParams["REQUIRED_FIELDS"]) || in_array("MESSAGE", $arParams["REQUIRED_FIELDS"])) && strlen($_POST["MESSAGE"]) <= 3)
- {
- $arResult["ERROR_MESSAGE"][] = GetMessage("MF_REQ_MESSAGE");
- $arResult["ERROR_FIELD"][] = 'MESSAGE';
- }
- if((empty($arParams["REQUIRED_FIELDS"]) || in_array("PHONE", $arParams["REQUIRED_FIELDS"])) && strlen($_POST["user_phone"]) <= 1)
- {
- $arResult["ERROR_MESSAGE"][] = GetMessage("MF_REQ_PHONE");
- $arResult["ERROR_FIELD"][] = 'user_phone';
- }
- }
- if(strlen($_POST["user_email"]) > 1 && !check_email($_POST["user_email"]))
- $arResult["ERROR_MESSAGE"][] = GetMessage("MF_EMAIL_NOT_VALID");
- if($arParams["USE_CAPTCHA"] == "Y")
- {
- $recaptcha = new \ReCaptcha\ReCaptcha(RE_SEC_KEY);
- $resp = $recaptcha->verify($_REQUEST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']);
- if (!$resp->isSuccess())
- $arResult["ERROR_MESSAGE"][] = GetMessage("MF_CAPTCHA_WRONG");
- }
- if(empty($arResult["ERROR_MESSAGE"]))
- {
- $arFields = Array(
- "AUTHOR" => htmlspecialcharsEx($_REQUEST["user_name"]),
- "AUTHOR_EMAIL" => htmlspecialcharsEx($_REQUEST["user_email"]),
- "AUTHOR_PHONE" => htmlspecialcharsEx($_REQUEST["user_phone"]),
- "EMAIL_TO" => $arParams["EMAIL_TO"],
- "TEXT" => htmlspecialcharsEx($_REQUEST["MESSAGE"]),
- );
- $rsSites = CSite::GetByID(SITE_ID);
- $arSite = $rsSites->Fetch();
- $arFieldss = array();
- $arFieldss["EMAIL_FROM"] = ($arFields['AUTHOR_EMAIL'] != "") ? $arFields['AUTHOR_EMAIL'] : COption::GetOptionString("main", "email_from");
- $arFieldss["EMAIL_TO"] = $arFields['EMAIL_TO'];//empty($Email) ? (isset($copy_email) ? $copy_email : COption::GetOptionString("main", "email_from")) : implode(",",$Email);
- $arFieldss["E_THEME"] = GetMessage('MF_ET_THEME_DEF').$arSite["NAME"];
- $arFieldss["TEXT"] = '';
- foreach($arFields as $key => $val){
- if($key != 'EMAIL_TO')
- $arFieldss["TEXT"] .= "\n\n".GetMessage('MF_F_'.$key).":\n".$val;
- }
- if(strlen($template_id) > 0)
- CEvent::Send($event_id, SITE_ID, $arFieldss, "N", $template_id);
- else
- CEvent::Send($event_id, SITE_ID, $arFieldss, "N");
- /*
- if(!empty($arParams["EVENT_MESSAGE_ID"]))
- {
- foreach($arParams["EVENT_MESSAGE_ID"] as $v)
- if(IntVal($v) > 0)
- CEvent::Send($event_id, SITE_ID, $arFieldss, "N", IntVal($v));
- }
- else
- CEvent::Send($event_id, SITE_ID, $arFieldss);
- */
- $_SESSION["MF_NAME"] = htmlspecialcharsbx($_POST["user_name"]);
- $_SESSION["MF_EMAIL"] = htmlspecialcharsbx($_POST["user_email"]);
- LocalRedirect($APPLICATION->GetCurPageParam("success=".$arResult["PARAMS_HASH"], Array("success")));
- $arResult["SUCCESS"] = 1;
- }
- $arResult["MESSAGE"] = htmlspecialcharsbx($_POST["MESSAGE"]);
- $arResult["AUTHOR_NAME"] = htmlspecialcharsbx($_POST["user_name"]);
- $arResult["AUTHOR_EMAIL"] = htmlspecialcharsbx($_POST["user_email"]);
- }
- else
- $arResult["ERROR_MESSAGE"][] = GetMessage("MF_SESS_EXP");
- }
- elseif($_REQUEST["success"] == $arResult["PARAMS_HASH"])
- {
- $arResult["OK_MESSAGE"] = $arParams["OK_TEXT"];
- }
- if(empty($arResult["ERROR_MESSAGE"]))
- {
- if($USER->IsAuthorized())
- {
- $arResult["AUTHOR_NAME"] = $USER->GetFormattedName(false);
- $arResult["AUTHOR_EMAIL"] = htmlspecialcharsbx($USER->GetEmail());
- }
- else
- {
- if(strlen($_SESSION["MF_NAME"]) > 0)
- $arResult["AUTHOR_NAME"] = htmlspecialcharsbx($_SESSION["MF_NAME"]);
- if(strlen($_SESSION["MF_EMAIL"]) > 0)
- $arResult["AUTHOR_EMAIL"] = htmlspecialcharsbx($_SESSION["MF_EMAIL"]);
- }
- $arResult["SUCCESS"] = 1;
- }
- if($arParams["USE_CAPTCHA"] == "Y")
- $arResult["capCode"] = htmlspecialcharsbx($APPLICATION->CaptchaGetCode());
- //echo print_r($_REQUEST, true);
- /*
- if(isset($_REQUEST["s1ajax"]) && $_REQUEST["s1ajax"] === "y")
- {
- $this->setFrameMode(false);
- //$APPLICATION->RestartBuffer();
- $this->IncludeComponentTemplate("ajax");
- //require_once($_SERVER["DOCUMENT_ROOT"].BX_ROOT."/modules/main/include/epilog_after.php");
- die();
- }
- else
- {*/
- $this->IncludeComponentTemplate();
- /*}*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement