diff --git a/2026-04-18_18-51-10.png b/2026-04-18_18-51-10.png new file mode 100644 index 00000000..a9564bbc Binary files /dev/null and b/2026-04-18_18-51-10.png differ diff --git a/index3.js b/index3.js index 03b92d71..1433a970 100644 --- a/index3.js +++ b/index3.js @@ -157,6 +157,7 @@ const mobileToggle = document.getElementById('mobileToggle') formData.append('action', leadFormConfig.action) formData.append('nonce', leadFormConfig.nonce) formData.append('form_type', formType) + formData.append('page_url', window.location.href) try { const response = await window.fetch(leadFormConfig.ajaxUrl, { @@ -328,7 +329,7 @@ const mobileToggle = document.getElementById('mobileToggle') }, 700) }) - submitLeadForm(contactForm, contactSuccess, 'contacts') + submitLeadForm(contactForm, contactSuccess, 'landing_contacts') document.addEventListener('keydown', event => { if (event.key !== 'Escape') { diff --git a/wp-content/themes/twentytwentyfour/assets/js/test1-contacts.js b/wp-content/themes/twentytwentyfour/assets/js/test1-contacts.js index cb694bc2..5162d169 100644 --- a/wp-content/themes/twentytwentyfour/assets/js/test1-contacts.js +++ b/wp-content/themes/twentytwentyfour/assets/js/test1-contacts.js @@ -19,7 +19,8 @@ const formData = new window.FormData(contactForm) formData.append('action', formConfig.action) formData.append('nonce', formConfig.nonce) - formData.append('form_type', 'contacts') + formData.append('form_type', 'contacts_page') + formData.append('page_url', window.location.href) try { const response = await window.fetch(formConfig.ajaxUrl, { diff --git a/wp-content/themes/twentytwentyfour/functions.php b/wp-content/themes/twentytwentyfour/functions.php index 236ec743..ea879bf4 100644 --- a/wp-content/themes/twentytwentyfour/functions.php +++ b/wp-content/themes/twentytwentyfour/functions.php @@ -620,7 +620,12 @@ function twentytwentyfour_submit_lead_ajax() { wp_send_json_error( array( 'message' => __( 'Ошибка проверки формы. Обновите страницу и попробуйте снова.', 'twentytwentyfour' ) ), 403 ); } - $form_type = isset( $_POST['form_type'] ) ? sanitize_key( wp_unslash( $_POST['form_type'] ) ) : 'contacts'; + $form_type = isset( $_POST['form_type'] ) ? sanitize_key( wp_unslash( $_POST['form_type'] ) ) : 'contacts_page'; + $page_url = isset( $_POST['page_url'] ) ? esc_url_raw( wp_unslash( $_POST['page_url'] ) ) : ''; + + if ( 'contacts' === $form_type ) { + $form_type = false !== strpos( $page_url, '/contacts' ) ? 'contacts_page' : 'landing_contacts'; + } if ( 'landing_order' === $form_type ) { $name = isset( $_POST['customerName'] ) ? sanitize_text_field( wp_unslash( $_POST['customerName'] ) ) : ''; @@ -634,14 +639,36 @@ function twentytwentyfour_submit_lead_ajax() { } $sent = twentytwentyfour_send_telegram_message( - 'Новая заявка с главной страницы', + 'Новая заявка с главной страницы (модалка заказа)', array( 'Имя' => $name, 'Телефон' => $phone, 'Адрес' => $address, 'Тип' => $type, 'Комментарий' => $comment, - 'Источник' => home_url( '/' ), + 'Источник' => 'Главная страница (модалка заказа)', + 'URL' => $page_url, + ) + ); + } elseif ( 'landing_contacts' === $form_type ) { + $name = isset( $_POST['name'] ) ? sanitize_text_field( wp_unslash( $_POST['name'] ) ) : ''; + $phone = isset( $_POST['phone'] ) ? sanitize_text_field( wp_unslash( $_POST['phone'] ) ) : ''; + $address = isset( $_POST['address'] ) ? sanitize_text_field( wp_unslash( $_POST['address'] ) ) : ''; + $comment = isset( $_POST['comment'] ) ? sanitize_textarea_field( wp_unslash( $_POST['comment'] ) ) : ''; + + if ( '' === $name || '' === $phone ) { + wp_send_json_error( array( 'message' => __( 'Укажите имя и телефон.', 'twentytwentyfour' ) ), 422 ); + } + + $sent = twentytwentyfour_send_telegram_message( + 'Новая заявка с главной страницы (контактная форма)', + array( + 'Имя' => $name, + 'Телефон' => $phone, + 'Адрес' => $address, + 'Комментарий' => $comment, + 'Источник' => 'Главная страница (блок Контакты)', + 'URL' => $page_url, ) ); } else { @@ -655,13 +682,14 @@ function twentytwentyfour_submit_lead_ajax() { } $sent = twentytwentyfour_send_telegram_message( - 'Новая заявка с страницы Контакты', + 'Новая заявка со страницы Контакты', array( - 'Имя' => $name, - 'Телефон' => $phone, - 'Адрес' => $address, + 'Имя' => $name, + 'Телефон' => $phone, + 'Адрес' => $address, 'Комментарий' => $comment, - 'Источник' => home_url( '/contacts/' ), + 'Источник' => 'Страница Контакты', + 'URL' => $page_url, ) ); }