diff --git a/local/ajax/consultation.php b/local/ajax/consultation.php index 9a1d445..6bee359 100644 --- a/local/ajax/consultation.php +++ b/local/ajax/consultation.php @@ -8,6 +8,18 @@ $response = array(); if ($_SERVER["REQUEST_METHOD"] == "POST") { $name = trim($_POST["name"]); $phone = trim($_POST["phone"]); + $recaptcha_response = trim($_POST["recaptcha_response"]); + + if ($recaptcha_response){ + $recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify'; + $recaptcha_secret_key = '6LcSCXArAAAAAEdhWbATecK4jwMK9WvZbUV2szrY'; + + $recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret_key . '&response=' . $recaptcha_response); + $recaptcha = json_decode($recaptcha); + + //score от 0.1 до 1.0 + if ($recaptcha->score <= 0.4) return; + } if (empty($name) || empty($phone)) { $response = array( diff --git a/local/ajax/order.php b/local/ajax/order.php index d2baa2d..a7490f8 100644 --- a/local/ajax/order.php +++ b/local/ajax/order.php @@ -18,6 +18,20 @@ try { $name = trim($_POST["name"]); $phone = trim($_POST["phone"]); $email = trim($_POST["email"]); + + $recaptcha_response = trim($_POST["recaptcha_response"]); + + if ($recaptcha_response){ + $recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify'; + $recaptcha_secret_key = '6LcSCXArAAAAAEdhWbATecK4jwMK9WvZbUV2szrY'; + + $recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret_key . '&response=' . $recaptcha_response); + $recaptcha = json_decode($recaptcha); + + //score от 0.1 до 1.0 + if ($recaptcha->score <= 0.4) return; + } + $deliveryMethod = trim($_POST["delivery_method"]); $pickupAddress = trim($_POST["pickup_address"]); $address = trim($_POST["address"]); diff --git a/local/templates/.default/js/custom.js b/local/templates/.default/js/custom.js index c32da5f..0f4e77a 100644 --- a/local/templates/.default/js/custom.js +++ b/local/templates/.default/js/custom.js @@ -131,7 +131,15 @@ function handleConsultationForm(formElement) { .then(response => response.json()) .then(data => { if (data.success) { - window.location.href = '/spasibo_blue/'; + const isFooterPopup = formElement.querySelector('[name="footer_popup_form"]'); + const isConsultation = formElement.querySelector('[name="consultation_form"]'); + + if (isFooterPopup) { + window.location.href = '/spasibo_blue/'; + } else if (isConsultation) { + window.location.href = '/spasibo-footer/'; + } + formElement.reset(); } else { showCartToast("Ошибка при отправке заявки", 3000, 'error'); diff --git a/local/templates/EraSeptik/footer.php b/local/templates/EraSeptik/footer.php index f5e9e5c..77e26b7 100644 --- a/local/templates/EraSeptik/footer.php +++ b/local/templates/EraSeptik/footer.php @@ -3,43 +3,39 @@ use Bitrix\Main\Page\Asset; -?> +?> -IncludeComponent("bitrix:main.include","",Array( - "AREA_FILE_SHOW" => "sect", - "AREA_FILE_SUFFIX" => "form_inc", - "AREA_FILE_RECURSIVE" => "Y", - "EDIT_TEMPLATE" => "" + +IncludeComponent( + "bitrix:main.include", + "", + array( + "AREA_FILE_SHOW" => "sect", + "AREA_FILE_SUFFIX" => "form_inc", + "AREA_FILE_RECURSIVE" => "Y", + "EDIT_TEMPLATE" => "" ) -);?> +); ?> -
-

Нужна консультация?

-
- -
-
- Нажимая кнопку «Получить консультацию», вы соглашаетесь с условиями конфиденциальности -
-
-
-
- Код PHP/images/png/house.png')"> -
- -

- Рассчитать септик за 5 минут!

-

- Наш менеджер свяжется с вами в ближайшее время -

- -

- Нажимая кнопку «Заказать звонок», вы подтверждаете свое согласие на обработку персональных данных -

-
-
-
+ + + + +
+

Нужна консультация?

+
+ + + + + +
+
+ Нажимая кнопку «Получить консультацию», вы соглашаетесь с условиями конфиденциальности +
+
+ -
-
- - - - - - - - - - Главная - -
-
- - - - - - - - - - Услуги - -
-
- -
-
- - - - - - - - - - Корзина - -
-
- - - - - - - - - - Расчет - -
-
- -
-
+ - addJs(DEFAULT_TEMPLATE_PATH . '/js/libs/fancybox.umd.js'); - Asset::getInstance()->addJs(DEFAULT_TEMPLATE_PATH . '/js/custom.js'); -?> +addJs(DEFAULT_TEMPLATE_PATH . '/js/libs/fancybox.umd.js'); +Asset::getInstance()->addJs(DEFAULT_TEMPLATE_PATH . '/js/custom.js'); +?> +
- +

- Оформление заказа

+ Оформление заказа
- +

- Нажимая кнопку «Оформить заказ», вы подтверждаете свое согласие на обработку персональных данных + Нажимая кнопку «Оформить заказ», вы подтверждаете свое согласие на обработку персональных данных

diff --git a/local/templates/EraSeptik/js/custom.js b/local/templates/EraSeptik/js/custom.js deleted file mode 100644 index 2f3c6d4..0000000 --- a/local/templates/EraSeptik/js/custom.js +++ /dev/null @@ -1,47 +0,0 @@ -function handleConsultationForm(formElement) { - if (!formElement) return; - - const formData = new FormData(formElement); - const submitButton = formElement.querySelector('.button'); - - if (submitButton) { - submitButton.disabled = true; - submitButton.classList.add('is-loading'); - } - - fetch('/ajax/local/consultation.php', { - method: 'POST', - body: formData - }) - .then(response => response.json()) - .then(data => { - if (data.success) { - window.location.href = '/spasibo-footer/'; - formElement.reset(); - } else { - showCartToast("Ошибка при отправке заявки", 3000, 'error'); - } - }) - .catch(error => { - showCartToast("Произошла ошибка при отправке", 3000, 'error'); - }) - .finally(() => { - if (submitButton) { - submitButton.disabled = false; - submitButton.classList.remove('is-loading'); - } - }); -} - - -document.querySelectorAll('.accordion__title').forEach(title => { - title.addEventListener('click', function() { - this.closest('.js-accordion').classList.toggle('active'); - }); -}); - - -$('[data-product]').on('click', function(){ - $('.cart-popup__wrapper').removeClass('.cart-popup__wrapper--hidden') - $('#fast_product').val($(this).data('product')) -}) \ No newline at end of file diff --git a/services/element.php b/services/element.php deleted file mode 100644 index af6ee4f..0000000 --- a/services/element.php +++ /dev/null @@ -1,75 +0,0 @@ -SetTitle("Услуга"); - -// Определяем код элемента из URL -$elementCode = isset($_REQUEST["ELEMENT_CODE"]) ? $_REQUEST["ELEMENT_CODE"] : ""; - -// Если код элемента не передан, проверяем путь -if (empty($elementCode)) { - $path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); - $parts = explode('/', trim($path, '/')); - if (count($parts) >= 2) { - $elementCode = end($parts); - } -} - -// Отладочный вывод, чтобы проверить значение elementCode -echo "DEBUG: elementCode = |" . htmlspecialchars($elementCode) . "|
"; - -// Если код все еще пустой, выводим ошибку -if (empty($elementCode)) { - echo "Код элемента не указан"; -} else { - // Выводим компонент каталога с указанным кодом элемента - $APPLICATION->IncludeComponent( - "bitrix:catalog.element", - "", - array( - "IBLOCK_TYPE" => "services", - "IBLOCK_ID" => "34", - "ELEMENT_CODE" => $elementCode, - "CHECK_SECTION_ID_VARIABLE" => "N", - "SECTION_ID_VARIABLE" => "SECTION_ID", - "SECTION_URL" => "/services/#SECTION_CODE_PATH#/", - "DETAIL_URL" => "/services/#SECTION_CODE_PATH#/#ELEMENT_CODE#/", - "BASKET_URL" => "/personal/basket.php", - "ACTION_VARIABLE" => "action", - "PRODUCT_ID_VARIABLE" => "id", - "PRODUCT_QUANTITY_VARIABLE" => "quantity", - "PRODUCT_PROPS_VARIABLE" => "prop", - "CACHE_TYPE" => "A", - "CACHE_TIME" => "36000000", - "CACHE_GROUPS" => "Y", - "SET_TITLE" => "Y", - "SET_CANONICAL_URL" => "N", - "SET_BROWSER_TITLE" => "Y", - "SET_META_KEYWORDS" => "Y", - "SET_META_DESCRIPTION" => "Y", - "SET_LAST_MODIFIED" => "N", - "ADD_SECTIONS_CHAIN" => "Y", - "ADD_ELEMENT_CHAIN" => "Y", - "USE_MAIN_ELEMENT_SECTION" => "Y", - "SET_STATUS_404" => "Y", - "SHOW_404" => "Y", - "MESSAGE_404" => "", - "STRICT_SECTION_CHECK" => "N", - "PRICE_CODE" => array(), - "USE_PRICE_COUNT" => "N", - "SHOW_PRICE_COUNT" => "1", - "PRICE_VAT_INCLUDE" => "Y", - "PRICE_VAT_SHOW_VALUE" => "N", - "CONVERT_CURRENCY" => "N", - "HIDE_NOT_AVAILABLE" => "N", - "HIDE_NOT_AVAILABLE_OFFERS" => "Y", - "USE_ELEMENT_COUNTER" => "Y", - "SHOW_DEACTIVATED" => "N", - "DISABLE_INIT_JS_IN_COMPONENT" => "N", - "COMPATIBLE_MODE" => "N", - ), - false - ); -} - -require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php"); -?> \ No newline at end of file diff --git a/services/index.php b/services/index.php deleted file mode 100644 index 613c968..0000000 --- a/services/index.php +++ /dev/null @@ -1,81 +0,0 @@ -SetTitle("Услуги"); -?> -IncludeComponent( - "bitrix:news", - "services", - array( - "IBLOCK_TYPE" => "content", - "IBLOCK_ID" => "34", - "NEWS_COUNT" => "20", - "USE_SEARCH" => "N", - "USE_RSS" => "N", - "USE_RATING" => "N", - "USE_CATEGORIES" => "N", - "USE_REVIEW" => "N", - "USE_FILTER" => "N", - "SORT_BY1" => "ACTIVE_FROM", - "SORT_ORDER1" => "DESC", - "SORT_BY2" => "SORT", - "SORT_ORDER2" => "ASC", - "CHECK_DATES" => "Y", - "SEF_MODE" => "Y", - "SEF_FOLDER" => "/services/", - "AJAX_MODE" => "N", - "CACHE_TYPE" => "A", - "CACHE_TIME" => "36000000", - "CACHE_FILTER" => "N", - "CACHE_GROUPS" => "Y", - "SET_TITLE" => "Y", - "SET_STATUS_404" => "N", - "INCLUDE_IBLOCK_INTO_CHAIN" => "Y", - "ADD_SECTIONS_CHAIN" => "Y", - "USE_PERMISSIONS" => "N", - "PREVIEW_TRUNCATE_LEN" => "0", - "LIST_ACTIVE_DATE_FORMAT" => "d.m.Y", - "LIST_FIELD_CODE" => array( - 0 => "NAME", - 1 => "PREVIEW_TEXT", - 2 => "PREVIEW_PICTURE", - 3 => "", - ), - "LIST_PROPERTY_CODE" => array( - 0 => "PRICE", - 1 => "TIME", - 2 => "", - ), - "HIDE_LINK_WHEN_NO_DETAIL" => "N", - "PARENT_SECTION" => "", - "PARENT_SECTION_CODE" => "", - "INCLUDE_SUBSECTIONS" => "Y", - "STRICT_SECTION_CHECK" => "N", - "DETAIL_ACTIVE_DATE_FORMAT" => "d.m.Y", - "DETAIL_FIELD_CODE" => array( - 0 => "NAME", - 1 => "DETAIL_TEXT", - 2 => "PREVIEW_TEXT", - ), - "DETAIL_PROPERTY_CODE" => array( - 0 => "HTML", - 1 => "PRICE", - 2 => "TIME", - ), - "SET_CANONICAL_URL" => "N", - "SET_LAST_MODIFIED" => "N", - "SET_META_KEYWORDS" => "N", - "SET_META_DESCRIPTION" => "N", - "SET_BROWSER_TITLE" => "N", - "MESSAGE_404" => "", - "SEF_URL_TEMPLATES" => array( - "news" => "", - "section" => "", - "detail" => "#ELEMENT_CODE#/", - ) - ), - false -);?> - - - - \ No newline at end of file diff --git a/uslugi/sect_form_inc.php b/uslugi/sect_form_inc.php index ca7c56c..d110f6c 100644 --- a/uslugi/sect_form_inc.php +++ b/uslugi/sect_form_inc.php @@ -1,19 +1,19 @@
-
-
-

- Рассчитать септик за 5 минут!

-

- Наш менеджер свяжется с вами в ближайшее время -

- - - - -

- Нажимая кнопку «Заказать звонок», вы подтверждаете свое согласие на обработку персональных данных -

- -
-
-
\ No newline at end of file +
+
+

+ Рассчитать септик за 5 минут!

+

+ Наш менеджер свяжется с вами в ближайшее время +

+ + + + +

+ Нажимая кнопку «Заказать звонок», вы подтверждаете свое согласие на обработку персональных данных +

+ +
+
+ \ No newline at end of file diff --git a/uslugi/ustanovka-septika-dlya-dachi/index.php b/uslugi/ustanovka-septika-dlya-dachi/index.php index bc3e4a8..e0d6869 100644 --- a/uslugi/ustanovka-septika-dlya-dachi/index.php +++ b/uslugi/ustanovka-septika-dlya-dachi/index.php @@ -43,13 +43,4 @@ $APPLICATION->IncludeFile($APPLICATION->GetCurDir() . 'page-content.php', array( )); ?> - -IncludeComponent( - "bitrix:main.include", - "", - array( - "AREA_FILE_SHOW" => "file", - "PATH" => "/include/order-call.php" - ) -); */?> - \ No newline at end of file + \ No newline at end of file