uawdijnntqw1x1x1
IP : 18.226.159.125
Hostname : axolotl
Kernel : Linux axolotl 4.9.0-13-amd64 #1 SMP Debian 4.9.228-1 (2020-07-05) x86_64
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
OS : Linux
PATH:
/
var
/
www
/
axolotl
/
data
/
www
/
kirov.axolotls.ru
/
bitrix
/
components
/
slam
/
easyform
/
component.php
/
/
<? if (!defined('B_PROLOG_INCLUDED') || B_PROLOG_INCLUDED !== true) die(); /** * Bitrix vars * * @var CBitrixComponent $this * @var array $arParams * @var array $arResult * @var string $componentPath * @var string $componentName * @var string $componentTemplate * * @var CDatabase $DB * @var CUser $USER * @var CMain $APPLICATION * */ use Bitrix\Main; use Bitrix\Main\Loader; use Bitrix\Main\Application; use Bitrix\Main\Localization\Loc; use Bitrix\Main\Web\Json; use Bitrix\Main\Config\Option; Loc::loadMessages(__FILE__); $context = Application::getInstance()->getContext(); $request = $context->getRequest(); $server = $context->getServer(); $arParams['OLD_PARAMS'] = array_merge($arParams); foreach ($arParams['OLD_PARAMS'] as $key => $val){ if($key[0] != '~'){ if(is_array($val)){ $val[] = false; $arParams['OLD_PARAMS'][$key] = implode('-array-', $val); } } else{ unset($arParams['OLD_PARAMS'][$key]); } } $arParams['FORM_ID'] = $arParams['FORM_ID'] ? trim($arParams['FORM_ID']) : $this->GetEditAreaId($this->__currentCounter); $arParams['HTTP_PROTOCOL'] = $request->isHttps() ? 'https://' : 'http://'; $arParams['HTTP_HOST'] = $arParams['HTTP_PROTOCOL'] . $server->getHttpHost(); $arParams['EVENT_NAME'] = 'SLAM_EASYFORM'; $arParams['USE_FORM_MASK_JS'] = 'N'; if($request['AJAX']){ $arParams['SEND_AJAX'] = 'Y'; } TrimArr($arParams['DISPLAY_FIELDS']); TrimArr($arParams['REQUIRED_FIELDS']); $arParams['DISPLAY_FIELDS'] = array_diff((array)($arParams['DISPLAY_FIELDS']), array('')); $arParams['REQUIRED_FIELDS'] = array_diff((array)($arParams['REQUIRED_FIELDS']), array('')); $arParams['DISPLAY_FIELDS_ARRAY'] = $arParams['DISPLAY_FIELDS']; $arSortField = explode(',', $arParams['FIELDS_ORDER']); if (!empty($arSortField) && count($arSortField) == count($arParams['DISPLAY_FIELDS'])) { $arParams['DISPLAY_FIELDS_ARRAY'] = $arSortField; } $arParams['TEMPLATE_FOLDER'] = $this->GetPath().'/ajax.php'; $arParams['TEMPLATE_NAME'] = $this->GetTemplateName(); $arResult['FORM_FIELDS'] = array(); foreach ($arParams['DISPLAY_FIELDS_ARRAY'] as $fieldCode) { $isReq = in_array($fieldCode, $arParams['REQUIRED_FIELDS']) ? true : false; $placeHolder = !empty($arParams['CATEGORY_' . $fieldCode . '_PLACEHOLDER']) ? $arParams['CATEGORY_' . $fieldCode . '_PLACEHOLDER'] : false; $typeInput = !empty($arParams['CATEGORY_' . $fieldCode . '_TYPE']) ? $arParams['CATEGORY_' . $fieldCode . '_TYPE'] : 'text'; $isMultiple = $typeInput == 'checkbox' ? true : false; $arResult['FORM_FIELDS'][$fieldCode] = array( 'ID' => trim($arParams['FORM_ID']) . '_FIELD_' . $fieldCode, 'TITLE' => !empty($arParams['CATEGORY_' . $fieldCode . '_TITLE']) ? htmlspecialcharsBack($arParams['CATEGORY_' . $fieldCode . '_TITLE']) : $fieldCode, 'TYPE' => $typeInput, 'NAME' => 'FIELDS['.$fieldCode.']', 'CODE' => $fieldCode, 'REQUIRED' => $isReq, 'REQ_STR' => $isReq ? ($arParams['USE_FORMVALIDATION_JS'] == 'Y' ? (' required data-bv-message="'.$arParams['CATEGORY_'.$fieldCode.'_VALIDATION_MESSAGE'].'"').htmlspecialcharsBack($arParams['CATEGORY_'.$fieldCode.'_VALIDATION_ADDITIONALLY_MESSAGE']) : ' required') : ' '.htmlspecialcharsBack($arParams['CATEGORY_'.$fieldCode.'_VALIDATION_ADDITIONALLY_MESSAGE']), 'VALUE' => !empty($arParams['CATEGORY_' . $fieldCode . '_VALUE']) ? $arParams['CATEGORY_' . $fieldCode . '_VALUE'] : '', 'PLACEHOLDER' => $placeHolder, 'PLACEHOLDER_STR' => $placeHolder ? 'placeholder="'.$arParams['CATEGORY_' . $fieldCode . '_PLACEHOLDER'].'"':'', ); if($arParams['CATEGORY_'.$fieldCode.'_INPUTMASK_TEMP']){ $arResult['FORM_FIELDS'][$fieldCode]['MASK_STR'] = 'data-inputmask-mask="'.$arParams['CATEGORY_'.$fieldCode.'_INPUTMASK_TEMP'].'" data-mask="'.$arParams['CATEGORY_'.$fieldCode.'_INPUTMASK_TEMP'].'"'; } if($typeInput == 'file'){ $arResult['FORM_FIELDS'][$fieldCode]['DROPZONE_INCLUDE'] = $arParams["CATEGORY_".$fieldCode."_DROPZONE_INCLUDE"] == 'Y'; $arResult['FORM_FIELDS'][$fieldCode]['FILE_MAX_SIZE'] = $arParams["CATEGORY_".$fieldCode."_FILE_MAX_SIZE"]; $arResult['FORM_FIELDS'][$fieldCode]['FILE_EXTENSION'] = $arParams["CATEGORY_".$fieldCode."_FILE_EXTENSION"]; } if($typeInput == 'radio' || $typeInput == 'checkbox'){ $arResult['FORM_FIELDS'][$fieldCode]['SHOW_INLINE'] = $arParams["CATEGORY_".$fieldCode."_SHOW_INLINE"] == "Y"; } if($typeInput == 'select'){ $isMultiSelect = $arParams['CATEGORY_' . $fieldCode . '_MULTISELECT'] == 'Y'; $arResult['FORM_FIELDS'][$fieldCode]['MULTISELECT'] = $isMultiSelect ? 'Y' : 'N'; if($isMultiSelect){ $isMultiple = true; }else{ if (strlen(trim($arParams['CATEGORY_' . $fieldCode . "_ADD_VAL"])) > 0) { $arResult['FORM_FIELDS'][$fieldCode]['SET_ADDITION_SELECT_VAL'] = true; $arResult['FORM_FIELDS'][$fieldCode]['SET_ADDITION_SELECT_ID'] = $arResult['FORM_FIELDS'][$fieldCode]['ID'] . '_add'; $arResult['FORM_FIELDS'][$fieldCode]['ADDITION_SELECT_VAL'] = $arParams['CATEGORY_' . $fieldCode . "_ADD_VAL"]; $arResult['FORM_FIELDS'][$fieldCode]['ADDITION_SELECT_NAME'] = 'FIELDS[' . $fieldCode . '_ADD]'; } } } if($isMultiple){ $arResult['FORM_FIELDS'][$fieldCode]['NAME'] .= '[]'; } if ($arParams['USE_IBLOCK_WRITE'] == 'Y') { $arParams['WRITE_FIELDS'][$fieldCode] = !empty($arParams['CATEGORY_' . $fieldCode . '_IBLOCK_FIELD']) ? $arParams['CATEGORY_' . $fieldCode . '_IBLOCK_FIELD'] : ''; } if (strlen(trim($arParams['CATEGORY_' . $fieldCode . "_INPUTMASK_TEMP"])) > 0) { $arParams['USE_FORM_MASK_JS'] = 'Y'; } } $captchaKey = ""; $captchaSecretKey = ""; if (Loader::IncludeModule("slam.easyform")) { $captchaKey = Option::get("slam.easyform", "CAPTCHA_KEY", "", SITE_ID); $captchaSecretKey = Option::get("slam.easyform", "CAPTCHA_SECRET_KEY", "", SITE_ID); } if(strlen($captchaKey) > 0 && strlen($captchaSecretKey) > 0){ $arParams["CAPTCHA_KEY"] = trim($captchaKey); $arResult["CAPTCHA_SECRET_KEY"] = trim($captchaSecretKey); }else{ $arParams["CAPTCHA_KEY"] = trim($arParams["CAPTCHA_KEY"]); $arResult["CAPTCHA_SECRET_KEY"] = $arParams["CAPTCHA_SECRET_KEY"]; } $arParams["USE_CAPTCHA"] = $arParams["USE_CAPTCHA"] == 'Y' && strlen($arParams["CAPTCHA_KEY"]) > 1 && strlen($arResult["CAPTCHA_SECRET_KEY"]) > 1; $arParams['USER_EMAIL'] = ''; $arParams['EMAIL_TO'] = trim($arParams['EMAIL_TO']) ? trim($arParams['EMAIL_TO']) : Option::get("slam.easyform", "EMAIL", "", SITE_ID); $arParams['BCC'] = trim($arParams['BCC']); $arParams['OK_TEXT'] = $arParams['OK_TEXT'] ? htmlspecialcharsback(trim($arParams['OK_TEXT'])) : Loc::getMessage('SLAM_EASYFORM_MESS_OK_TEXT'); $arParams['ERROR_TEXT'] = $arParams['ERROR_TEXT'] ? htmlspecialcharsback(trim($arParams['ERROR_TEXT'])) : Loc::getMessage('SLAM_EASYFORM_MESS_ERROR_TEXT'); $arParams['MAIL_SUBJECT_ADMIN'] = trim($arParams['MAIL_SUBJECT_ADMIN']); $arParams['MAIL_SUBJECT_SENDER'] = trim($arParams['MAIL_SUBJECT_SENDER']); $arParams['MAIL_SEND_USER'] = $arParams['MAIL_SEND_USER'] == 'Y'; $arParams['ENABLE_SEND_MAIL'] = $arParams['ENABLE_SEND_MAIL'] === 'Y'; $arParams['EMAIL_FILE'] = $arParams['EMAIL_FILE'] === 'Y'; $arParams['USE_JQUERY'] = $arParams['USE_JQUERY'] === 'Y'; $arParams['HIDE_FIELD_NAME'] = $arParams['HIDE_FIELD_NAME'] === 'Y'; $arParams['HIDE_ASTERISK'] = $arParams['HIDE_ASTERISK'] === 'Y'; $arParams['FORM_AUTOCOMPLETE'] = $arParams['FORM_AUTOCOMPLETE'] === 'Y'; $arParams['FORM_SUBMIT_VALUE'] = htmlspecialcharsback($arParams['FORM_SUBMIT_VALUE']); $arParams['SEND_AJAX'] = $arParams['SEND_AJAX'] === 'Y'; $arParams['FORM_SUBMIT'] = false; if ($arParams['USE_MODULE_VARNING'] != 'N' && Loader::includeModule("slam.easyform")) { if (Option::get("slam.easyform", "SHOW_MESSAGE", "", SITE_ID) == 'Y') { $mess = Option::get("slam.easyform", "MESSAGE_TEXT", "", SITE_ID); if (strlen($mess) > 0) { $arResult['WARNING_MSG'] = str_replace('#BUTTON#', $arParams['FORM_SUBMIT_VALUE'], $mess); } } } elseif (strlen($arParams['FORM_SUBMIT_VARNING']) > 0) { $arResult['WARNING_MSG'] = str_replace('#BUTTON#', $arParams['FORM_SUBMIT_VALUE'], $arParams['~FORM_SUBMIT_VARNING']); } $arMessageError = array(); $arFields = array(); $isAjax = $request['AJAX']; if ($request->isPost() && $arParams['FORM_ID'] == $request['FORM_ID']) { $arParams['FORM_SUBMIT'] = true; if (isset($_REQUEST['ANTIBOT']) && is_array($_REQUEST['ANTIBOT'])) { foreach ($_REQUEST['ANTIBOT'] as $k => $v) if (empty($v)) unset($_REQUEST['ANTIBOT'][$k]); } if ($_REQUEST['ANTIBOT'] || !isset($_REQUEST['ANTIBOT'])) { $APPLICATION->RestartBuffer(); die(); } if ($arParams["USE_CAPTCHA"]) { require_once(dirname(__FILE__) . '/lib/recaptcha/autoload.php'); if (isset($_REQUEST['g-recaptcha-response'])) { $recaptcha = new \ReCaptcha\ReCaptcha($arResult["CAPTCHA_SECRET_KEY"]); $resp = $recaptcha->verify($_REQUEST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']); if ($resp->isSuccess()) { } else { $errors = $resp->getErrorCodes(); $arMessageError[] = Loc::getMessage('SLAM_EASYFORM_CAPTCHA_ERROR'); } } } $arPostFieldsTmp = (array)$request['FIELDS']; foreach ($arResult['FORM_FIELDS'] as $code => $val) { if ($val['TYPE'] == 'file' && !empty($request[$code])) { $arPostFieldsTmp[$code] = (array)$request[$code]; } elseif ($val['TYPE'] == 'file') { $files = $request->getFile("FIELDS"); if($files['name'][$code]) { $file = array(); $file['name'] = $files['name'][$code]; $file['type'] = $files['type'][$code]; $file['tmp_name'] = $files['tmp_name'][$code]; $file['error'] = $files['error'][$code]; $file['size'] = $files['size'][$code]; $arPostFieldsTmp[$code] = $file; } } } $arPostFields = array(); $emptyForm = true; $idFilesAll = array(); foreach ($arPostFieldsTmp as $key => $field) { if(!array_key_exists($key, $arResult['FORM_FIELDS'])){ continue; } $fieldInfo = $arResult['FORM_FIELDS'][$key]; if (is_array($field)) { $arPostFields[$key] = array(); if ($fieldInfo['TYPE'] == 'file') { $fieldFiles = array(); if (!empty($field['tmp_name'])) { $res = CFile::CheckFile($field, $fieldInfo["FILE_MAX_SIZE"], false, $fieldInfo["FILE_EXTENSION"]); if (strlen($res) > 0) { $arMessageError[] = $res; continue; } $f_id = \CFile::SaveFile($field, 'slam.easyform'); if ($f_id) $fieldFiles[] = $f_id; } else { $fieldFiles = $field; } foreach ($fieldFiles as $strVal) { if($strVal){ $idFilesAll[] = $strVal; $arPostFields[$key][] = $arParams['HTTP_HOST'] . CFile::GetPath($strVal); } } } else { foreach ($field as $strVal){ if($strVal){ $arPostFields[$key][] = nl2br(htmlspecialcharsbx($strVal)); } } } $emptyForm = false; } else { if ($fieldInfo['SET_ADDITION_SELECT_VAL'] && $arPostFieldsTmp[$key . "_ADD"]) { if (strlen(trim($arPostFieldsTmp[$key . "_ADD"])) > 0) { $arPostFields[$key] = nl2br(htmlspecialcharsbx($arPostFieldsTmp[$key . "_ADD"])); } } else { $arPostFields[$key] = nl2br(htmlspecialcharsbx($field)); } if(strlen(trim($field)) > 0){ $emptyForm = false; } } } if ((!empty($arPostFields['EMAIL']) || in_array('EMAIL', $arParams['REQUIRED_FIELDS'])) && !check_email($arPostFields['EMAIL'])) $arMessageError[] = Loc::getMessage('SLAM_EASYFORM_EMAIL_ERROR'); if(!$emptyForm){ foreach($arPostFields as &$element){ if(is_array($element) && !empty($element)){ $element = implode("\n", $element); }else{ $element = !empty($element) ? $element : '-'; } } } if ($emptyForm) { $arMessageError[] = Loc::getMessage('SLAM_EASYFORM_EMPTY_FORM_ERROR'); } $_REQUEST['FIELDS']['TITLE'] = 0; if (!in_array('NONE', $arParams['REQUIRED_FIELDS'])) { foreach ($arParams['REQUIRED_FIELDS'] as $FIELD) { $message_field = $arResult['FORM_FIELDS'][$FIELD]['TITLE']; if ((empty($arParams['REQUIRED_FIELDS']) || in_array($FIELD, $arParams['REQUIRED_FIELDS'])) && strlen($arPostFields[$FIELD]) == 0) { $arMessageError[] = Loc::getMessage("SLAM_EASYFORM_FIELD_ERROR_MESS", array("#FIELD_NAME#" => $message_field)); } } unset($FIELD); } if ($isAjax && !Main\Application::isUtfMode()) { $arPostFields = Main\Text\Encoding::convertEncoding($arPostFields, 'UTF-8', $context->getCulture()->getCharset()); } if (empty($arMessageError) && $arParams['ENABLE_SEND_MAIL']) { $arServiceFields = Array( 'FORM_FIELDS' => '', 'AUTHOR_NAME' => '', 'AUTHOR_EMAIL' => '', 'SUBJECT' => '', 'EMAIL_FROM' => '', 'EMAIL_TO' => $arParams['EMAIL_TO'], 'EMAIL_BCC' => $arParams['EMAIL_BCC'], 'DEFAULT_EMAIL_FROM' => Option::get("main", "email_from", ""), 'FORM_TITLE' => $arParams['FORM_TITLE'], 'SITE_NAME' => Option::get("main", "site_name", $GLOBALS['SERVER_NAME']), 'SERVER_NAME' => $request->getHttpHost(), 'IP' => $request->getRemoteAddress(), ); if ($isAjax && !Main\Application::isUtfMode()) { $arServiceFields = Main\Text\Encoding::convertEncoding($arServiceFields, 'UTF-8', $context->getCulture()->getCharset()); } $arServiceFields['EMAIL_FROM'] = $arServiceFields['DEFAULT_EMAIL_FROM']; if ($arPostFields) { $nameStyle = 'font-weight:bold;'; $defaultStyle = "padding:10px;border-bottom:1px dashed #dadada;"; foreach ($arPostFields as $code => $val) { foreach (GetModuleEvents("slam.easyform", "OnBeforeFieldsValue", true) as $arEvent) ExecuteModuleEventEx($arEvent, array($code, &$val)); $name = $arResult['FORM_FIELDS'][$code]['TITLE'] ? $arResult['FORM_FIELDS'][$code]['TITLE'] : $code; $curVal = is_array($val) ? implode('<br>', $val) : $val; $strFieldsNames .= "\n<div style=\"" . $defaultStyle . "\">"; $strFieldsNames .= "\n\t<div style=\"" . $nameStyle . "\">" . $name . "</div>"; $strFieldsNames .= "\n\t<div>" . $curVal . "</div>"; $strFieldsNames .= "\n</div>"; } $arServiceFields['FORM_FIELDS'] = $strFieldsNames; } foreach ($arPostFields as $code => $val) { $curVal = is_array($val) ? implode(', ', $val) : $val; $arServiceFields[$code] = $curVal; if ($code == 'EMAIL') { $arServiceFields['AUTHOR_EMAIL'] = $val; } } $arServiceFields['SUBJECT'] = str_replace('#SITE_NAME#', $arServiceFields['SERVER_NAME'], $arParams['MAIL_SUBJECT_ADMIN']); } $file_id = array(); $idElement = false; if (empty($arMessageError) && $arParams['USE_IBLOCK_WRITE'] == 'Y' && intval($arParams['IBLOCK_ID']) > 0 && Loader::IncludeModule("iblock")) { $arLoadFields = array( 'NAME', 'DETAIL_TEXT', 'PREVIEW_TEXT' ); $PROP = array(); foreach ($arPostFields as $key => $val) { $fieldCode = $arParams['WRITE_FIELDS'][$key]; if($arResult['FORM_FIELDS'][$key]['TYPE'] != 'file' && strpos($val, ";\n") !== false){ $val = explode(";\n", $val); } if ($val && $fieldCode) { if (in_array($fieldCode, $arLoadFields)) { $arFields[$fieldCode] = $val; } else { if ($fieldCode != 'NO_WRITE') { $PROP[$fieldCode] = $val; if($arFormField = $arResult['FORM_FIELDS'][$key]['TYPE'] == 'file' && $val){ $arFiles = array(); $files = explode(";\n", $val ); foreach($files as $file){ $arFiles[] = CFile::MakeFileArray(str_replace($arParams['HTTP_HOST'], $_SERVER['DOCUMENT_ROOT'], $file)); } $PROP[$fieldCode] = $arFiles; } } } } } if (!empty($PROP)) { $properties = CIBlockProperty::GetList(Array(), Array("ACTIVE" => "Y", "IBLOCK_ID" => $arParams['IBLOCK_ID'])); while ($prop_fields = $properties->GetNext()) { $arPropsCode[] = $prop_fields['CODE']; } foreach ($PROP as $code => $propValue) { if (strpos($code, 'FORM_') !== false && !in_array($code, $arPropsCode)) { $arFormField = $arResult['FORM_FIELDS'][str_replace("FORM_", "", $code)]; if ($arFormField) { $arLoadPropFields = Array( "NAME" => $arFormField['TITLE'], "ACTIVE" => "Y", "SORT" => "700", "CODE" => $code, "MULTIPLE" => in_array($arFormField['TYPE'], array('file', 'checkbox', 'select')) ? "Y" : "N", "PROPERTY_TYPE" => $arFormField['TYPE'] == 'file' ? "F" : "S", "IBLOCK_ID" => $arParams['IBLOCK_ID'] ); $ibp = new CIBlockProperty; $PropID = $ibp->Add($arLoadPropFields); } } } } $arLoadProductArray = Array( "IBLOCK_ID" => $arParams['IBLOCK_ID'], "PROPERTY_VALUES" => $PROP, "NAME" => $arFields['NAME'] ? $arFields['NAME'] : date("d.m.Y H:i:s"), "ACTIVE" => $arParams['ACTIVE_ELEMENT'] == 'Y' ? "N" : "Y", "DETAIL_TEXT" => $arFields['DETAIL_TEXT'] ? $arFields['DETAIL_TEXT'] : strip_tags($strFieldsNames), "DETAIL_TEXT_TYPE" => 'text', "PREVIEW_TEXT" => $arFields['PREVIEW_TEXT'], "PREVIEW_TEXT_TYPE" => 'text', "DATE_ACTIVE_FROM" => date("d.m.Y H:i:s"), ); foreach (GetModuleEvents("slam.easyform", "OnBeforeIBlockElementAdd", true) as $arEvent) ExecuteModuleEventEx($arEvent, array(&$arLoadProductArray, &$arParams, &$arPostFields, &$arServiceFields, &$file_id)); $el = new CIBlockElement; if ($idElement = $el->Add($arLoadProductArray)) { foreach (GetModuleEvents("slam.easyform", "OnAfterIBlockElementAdd", true) as $arEvent) ExecuteModuleEventEx($arEvent, array($idElement, &$arParams, &$arPostFields, &$arServiceFields, &$file_id)); } } if (Loader::IncludeModule("slam.easyform") && empty($arMessageError)) { $fields = array(); foreach ($arResult['FORM_FIELDS'] as $key => $val): $fields[!empty($arParams['CATEGORY_' . $key . '_TITLE']) ? $arParams['CATEGORY_' . $key . '_TITLE'] : $key] = $arPostFields[$key]; endforeach; $tblObj = new Slam\Easyform\EasyformTable(); $resultSave = $tblObj->Add( array( "NAME" => $arParams['FORM_NAME'] ? $arParams['FORM_NAME'] : 'forms', 'FIELDS' => $fields ) ); } if($arParams['EMAIL_FILE'] && !empty($idFilesAll)) { $file_id = $idFilesAll; } if (empty($arMessageError) && $arParams['ENABLE_SEND_MAIL']) { if (is_array($arParams['EVENT_MESSAGE_ID']) && !empty($arParams['EVENT_MESSAGE_ID'])) { foreach ($arParams['EVENT_MESSAGE_ID'] as $arMessID) { if (!CEvent::Send($arParams['EVENT_NAME'], SITE_ID, $arServiceFields, 'N', $arMessID, $file_id)) { $arMessageError[] = Loc::getMessage('SLAM_EASYFORM_SEND_ERROR_MESS', array("#MESS_ID#" => $arMessID)); } } } else { if (!CEvent::Send($arParams['EVENT_NAME'], SITE_ID, $arServiceFields, 'N', "", $file_id)) { $arMessageError[] = Loc::getMessage('SLAM_EASYFORM_SEND_ERROR'); } } if($arParams['EMAIL_SEND_FROM'] == 'Y') { $arServiceFields['EMAIL_TO'] = $arServiceFields['EMAIL']; $arServiceFields['EMAIL_BCC'] = $arServiceFields['EMAIL_BCC_SENDER']; $arServiceFields['SUBJECT'] = str_replace('#SITE_NAME#', $arServiceFields['SERVER_NAME'], $arParams['MAIL_SUBJECT_SENDER']); if (is_array($arParams['EVENT_MESSAGE_ID_SENDER']) && !empty($arParams['EVENT_MESSAGE_ID_SENDER'])) { foreach ($arParams['EVENT_MESSAGE_ID_SENDER'] as $arMessID) { if (!CEvent::Send($arParams['EVENT_NAME'], SITE_ID, $arServiceFields, 'N', $arMessID, $file_id)) { $arMessageError[] = Loc::getMessage('SLAM_EASYFORM_SEND_ERROR_MESS', array("#MESS_ID#" => $arMessID)); } } } else { if (!CEvent::Send($arParams['EVENT_NAME'], SITE_ID, $arServiceFields, 'N', "", $file_id)) { $arMessageError[] = Loc::getMessage('SLAM_EASYFORM_SEND_ERROR'); } } } } $arResult['FIELDS'] = $arPostFields; $arAdditionalMessage = false; foreach (GetModuleEvents("slam.easyform", "OnAfterAdditionalMessage", true) as $arEvent) ExecuteModuleEventEx($arEvent, array(&$arAdditionalMessage, &$arParams, $idElement, $arPostFields)); if (!empty($arMessageError)) { $result = array( 'result' => 'error', 'message' => implode("</br>", $arMessageError), 'additiona_msg' => $arAdditionalMessage ); } else { $result = array('result' => 'ok', 'additiona_msg' => $arAdditionalMessage); } if ($isAjax) { ob_end_clean(); $GLOBALS['APPLICATION']->RestartBuffer(); echo Json::encode($result); die(); } else { $arResult['STATUS'] = empty($arMessageError) ? 'ok' : 'error'; $arResult['ERROR_MSG'] = $arMessageError; $arResult['ADDITIONAL_MSG'] = $arAdditionalMessage; } } $arResult['ANTIBOT'] = $_REQUEST['ANTIBOT']; if ($arParams["USE_CAPTCHA"] && !defined("SLAM_RE_CAPTCHA_INCLUDE")) { $APPLICATION->AddHeadScript('https://www.google.com/recaptcha/api.js'); define("SLAM_RE_CAPTCHA_INCLUDE", "Y"); } if ($arParams["USE_JQUERY"] && !defined("SLAM_JQUERY_INCLUDE")) { $APPLICATION->AddHeadScript($componentPath . '/lib/js/jquery-1.12.4.min.js'); define("SLAM_JQUERY_INCLUDE", "Y"); } if ($arParams["USE_BOOTSRAP_JS"] == 'Y' && !defined("SLAM_BOOTSTRAP_JS_INCLUDE")) { $APPLICATION->AddHeadScript($componentPath . '/lib/js/bootstrap.min.js'); define("SLAM_BOOTSTRAP_JS_INCLUDE", "Y"); } if ($arParams["USE_BOOTSRAP_CSS"] == 'Y' && !defined("SLAM_BOOTSTRAP_CSS_INCLUDE")) { $APPLICATION->SetAdditionalCSS($componentPath . '/lib/css/bootstrap.min.css'); define("SLAM_BOOTSTRAP_CSS_INCLUDE", "Y"); } if ($arParams['USE_FORMVALIDATION_JS'] == "Y" && $arParams['INCLUDE_BOOTSRAP_JS'] != "N" && !defined("SLAM_BOOTSTRAP_VALIDATOR_INCLUDE")) { $APPLICATION->SetAdditionalCSS($componentPath . '/lib/css/bootstrapValidator.min.css'); $APPLICATION->AddHeadScript($componentPath . '/lib/js/bootstrapValidator.min.js'); define("SLAM_BOOTSTRAP_VALIDATOR_INCLUDE", "Y"); } if ($arParams["USE_INPUTMASK_JS"] == 'Y' && !defined("SLAM_FORM_INPUTMASK_INCLUDE")) { $APPLICATION->AddHeadScript($componentPath . '/lib/js/inputmask.js'); define("SLAM_FORM_INPUTMASK_INCLUDE", "Y"); } if (!defined("SLAM_FORM_JS_INCLUDE")) { $APPLICATION->AddHeadScript($componentPath . '/script.js'); define("SLAM_FORM_JS_INCLUDE", "Y"); } $this->IncludeComponentTemplate();
/var/www/axolotl/data/www/kirov.axolotls.ru/bitrix/components/slam/easyform/component.php