fix
This commit is contained in:
@@ -325,4 +325,97 @@ add_filter( 'get_the_archive_title', 'water_delivery_category_title' );
|
||||
/**
|
||||
* Load init.
|
||||
*/
|
||||
require_once get_template_directory() . '/inc/init.php';
|
||||
require_once get_template_directory() . '/inc/init.php';
|
||||
|
||||
/**
|
||||
* Display the privacy policy page without requiring a database page.
|
||||
*/
|
||||
function water_delivery_privacy_policy_template() {
|
||||
if ( is_admin() || empty( $_SERVER['REQUEST_URI'] ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$request_path = trim( wp_parse_url( wp_unslash( $_SERVER['REQUEST_URI'] ), PHP_URL_PATH ), '/' );
|
||||
|
||||
if ( 'privacy-policy' === $request_path ) {
|
||||
status_header( 200 );
|
||||
include get_template_directory() . '/privacy-policy.php';
|
||||
exit;
|
||||
}
|
||||
}
|
||||
add_action( 'template_redirect', 'water_delivery_privacy_policy_template', 0 );
|
||||
|
||||
/**
|
||||
* Cookie notice and personal data consent controls.
|
||||
*/
|
||||
function water_delivery_privacy_footer_assets() {
|
||||
$privacy_url = esc_url( home_url( '/privacy-policy/' ) );
|
||||
?>
|
||||
<div class="cookie-consent-banner" data-cookie-consent-banner hidden>
|
||||
<p>
|
||||
<?php esc_html_e( 'Мы используем файлы cookie для улучшения работы сайта. Продолжая использовать сайт, Вы соглашаетесь с нашей', 'water-delivery' ); ?>
|
||||
<a href="<?php echo $privacy_url; ?>"><?php esc_html_e( 'Политикой конфиденциальности', 'water-delivery' ); ?></a>.
|
||||
</p>
|
||||
<button type="button" class="cookie-consent-accept" data-cookie-consent-accept><?php esc_html_e( 'Принять', 'water-delivery' ); ?></button>
|
||||
</div>
|
||||
<script>
|
||||
(function () {
|
||||
var consentKey = 'water_delivery_cookie_consent';
|
||||
var banner = document.querySelector('[data-cookie-consent-banner]');
|
||||
var acceptButton = document.querySelector('[data-cookie-consent-accept]');
|
||||
var privacyUrl = <?php echo wp_json_encode( $privacy_url ); ?>;
|
||||
var consentHtml = 'Согласен(на) на обработку персональных данных и принимаю <a href="' + privacyUrl + '">Политику конфиденциальности</a>';
|
||||
|
||||
if (banner && localStorage.getItem(consentKey) !== 'accepted') {
|
||||
banner.hidden = false;
|
||||
}
|
||||
|
||||
if (acceptButton) {
|
||||
acceptButton.addEventListener('click', function () {
|
||||
localStorage.setItem(consentKey, 'accepted');
|
||||
if (banner) {
|
||||
banner.hidden = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
document.querySelectorAll('form').forEach(function (form, index) {
|
||||
var ignored = form.matches('.search-form, .woocommerce-cart-form, form[role="search"]');
|
||||
var hasPersonalFields = form.querySelector('input[type="email"], input[type="tel"], input[name*="phone"], input[name*="email"], textarea, .wpforms-submit, .wpcf7-submit');
|
||||
|
||||
if (ignored || !hasPersonalFields || form.querySelector('.personal-data-consent')) {
|
||||
return;
|
||||
}
|
||||
|
||||
var field = document.createElement('label');
|
||||
field.className = 'personal-data-consent';
|
||||
field.innerHTML = '<input type="checkbox" name="personal_data_consent_' + index + '" required> <span>' + consentHtml + '</span>';
|
||||
|
||||
var submit = form.querySelector('button[type="submit"], input[type="submit"], .wpforms-submit, .wpcf7-submit');
|
||||
if (submit && submit.parentNode) {
|
||||
submit.parentNode.insertBefore(field, submit);
|
||||
} else {
|
||||
form.appendChild(field);
|
||||
}
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
add_action( 'wp_footer', 'water_delivery_privacy_footer_assets', 20 );
|
||||
|
||||
function water_delivery_comment_privacy_consent_field( $fields ) {
|
||||
$fields['privacy_consent'] = '<p class="comment-form-privacy-consent"><label><input type="checkbox" name="privacy_consent" required> ' . sprintf( wp_kses( __( 'Согласен(на) на обработку персональных данных и принимаю <a href="%s">Политику конфиденциальности</a>', 'water-delivery' ), array( 'a' => array( 'href' => array() ) ) ), esc_url( home_url( '/privacy-policy/' ) ) ) . '</label></p>';
|
||||
|
||||
return $fields;
|
||||
}
|
||||
add_filter( 'comment_form_default_fields', 'water_delivery_comment_privacy_consent_field' );
|
||||
|
||||
function water_delivery_comment_privacy_consent_validate( $commentdata ) {
|
||||
if ( empty( $_POST['privacy_consent'] ) ) {
|
||||
wp_die( esc_html__( 'Необходимо согласиться на обработку персональных данных.', 'water-delivery' ) );
|
||||
}
|
||||
|
||||
return $commentdata;
|
||||
}
|
||||
add_filter( 'preprocess_comment', 'water_delivery_comment_privacy_consent_validate' );
|
||||
|
||||
@@ -191,7 +191,7 @@ if ( ! function_exists( 'water_delivery_footer_section' ) ) :
|
||||
?>
|
||||
<div class="copy_right_block">
|
||||
<div class="wrapper">
|
||||
<span class="copy-right"><?php echo esc_html($copyright_footer);?><?php echo $powered_by_text;?></span>
|
||||
<span class="copy-right"><?php echo esc_html($copyright_footer);?> <a class="footer-privacy-link" href="<?php echo esc_url( home_url( '/privacy-policy/' ) ); ?>"><?php esc_html_e( 'Политика конфиденциальности', 'water-delivery' ); ?></a><?php echo $powered_by_text;?></span>
|
||||
</div><!-- .wrapper -->
|
||||
</div>
|
||||
</div> <!-- .site-info -->
|
||||
@@ -398,4 +398,4 @@ function water_delivery_render_social_links() {
|
||||
}
|
||||
echo '</ul>';
|
||||
echo '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
102
wp-content/themes/water-delivery/privacy-policy-content.txt
Normal file
102
wp-content/themes/water-delivery/privacy-policy-content.txt
Normal file
@@ -0,0 +1,102 @@
|
||||
Политика в отношении обработки персональных данных
|
||||
Документ определяет порядок обработки персональных данных посетителей сайта https://dostavka-vodi-krim.ru/.
|
||||
|
||||
1. Общие положения
|
||||
Настоящая политика обработки персональных данных составлена в соответствии с требованиями Федерального закона от 27.07.2006 № 152-ФЗ «О персональных данных» (далее — Закон) и определяет порядок обработки персональных данных и меры по обеспечению безопасности персональных данных, предпринимаемые ИП Максимов Антон Сергеевич (далее – Оператор).
|
||||
|
||||
1.1. Оператор ставит своей важнейшей целью и условием осуществления своей деятельности соблюдение прав и свобод человека и гражданина при обработке его персональных данных, в том числе защиты прав на неприкосновенность частной жизни, личную и семейную тайну.
|
||||
|
||||
1.2. Настоящая политика Оператора в отношении обработки персональных данных (далее – Политика) применяется ко всей информации, которую Оператор может получить о посетителях веб-сайта https://dostavka-vodi-krim.ru/.
|
||||
|
||||
2. Основные понятия, используемые в Политике
|
||||
2.1. Автоматизированная обработка персональных данных – обработка персональных данных с помощью средств вычислительной техники.
|
||||
|
||||
2.2. Блокирование персональных данных – временное прекращение обработки персональных данных, за исключением случаев, если обработка необходима для уточнения персональных данных.
|
||||
|
||||
2.3. Веб-сайт – совокупность графических и информационных материалов, а также программ для ЭВМ и баз данных, обеспечивающих их доступность в сети интернет по сетевому адресу https://dostavka-vodi-krim.ru/.
|
||||
|
||||
2.4. Информационная система персональных данных — совокупность содержащихся в базах данных персональных данных и обеспечивающих их обработку информационных технологий и технических средств.
|
||||
|
||||
2.5. Обезличивание персональных данных — действия, в результате которых невозможно определить без использования дополнительной информации принадлежность персональных данных конкретному Пользователю или иному субъекту персональных данных.
|
||||
|
||||
2.6. Обработка персональных данных – любое действие или совокупность действий, совершаемых с использованием средств автоматизации или без использования таких средств с персональными данными, включая сбор, запись, систематизацию, накопление, хранение, уточнение, извлечение, использование, передачу, обезличивание, блокирование, удаление и уничтожение персональных данных.
|
||||
|
||||
2.7. Оператор – государственный орган, муниципальный орган, юридическое или физическое лицо, самостоятельно или совместно с другими лицами организующие и (или) осуществляющие обработку персональных данных, а также определяющие цели обработки персональных данных, состав персональных данных, подлежащих обработке, и действия, совершаемые с персональными данными.
|
||||
|
||||
2.8. Персональные данные – любая информация, относящаяся прямо или косвенно к определенному или определяемому Пользователю веб-сайта https://dostavka-vodi-krim.ru/.
|
||||
|
||||
2.9. Пользователь – любой посетитель веб-сайта https://dostavka-vodi-krim.ru/.
|
||||
|
||||
2.10. Предоставление персональных данных – действия, направленные на раскрытие персональных данных определенному лицу или определенному кругу лиц.
|
||||
|
||||
2.11. Распространение персональных данных – любые действия, направленные на раскрытие персональных данных неопределенному кругу лиц или на ознакомление с персональными данными неограниченного круга лиц.
|
||||
|
||||
2.12. Трансграничная передача персональных данных – передача персональных данных на территорию иностранного государства органу власти иностранного государства, иностранному физическому или иностранному юридическому лицу.
|
||||
|
||||
2.13. Уничтожение персональных данных – любые действия, в результате которых персональные данные уничтожаются безвозвратно с невозможностью дальнейшего восстановления.
|
||||
|
||||
3. Категории субъектов персональных данных
|
||||
3.1. Оператор обрабатывает персональные данные следующих категорий субъектов:
|
||||
|
||||
Пользователи веб-сайта (посетители).
|
||||
Лица, оставившие заявку через формы обратной связи.
|
||||
Лица, подписавшиеся на рассылку при наличии такой возможности на сайте.
|
||||
4. Персональные данные, обрабатываемые Оператором
|
||||
4.1. Оператор может обрабатывать следующие персональные данные Пользователя:
|
||||
|
||||
Фамилия, имя, отчество.
|
||||
Электронный адрес.
|
||||
Номера телефонов.
|
||||
Комментарий к заказу или обращению, который Пользователь самостоятельно указывает в форме.
|
||||
4.2. Также на сайте происходит сбор и обработка обезличенных данных о посетителях, в том числе файлов cookie, с помощью сервисов интернет-статистики: Яндекс Метрика.
|
||||
|
||||
4.3. Вышеперечисленные данные далее по тексту Политики объединены общим понятием «персональные данные».
|
||||
|
||||
5. Цели обработки персональных данных
|
||||
5.1. Цели обработки персональных данных Пользователя:
|
||||
|
||||
Информирование Пользователя посредством звонка, отправки электронных сообщений или ответа на заявку.
|
||||
Связь с Пользователем для расчета стоимости торта, уточнения состава заказа, даты, доставки и других деталей.
|
||||
Заключение и исполнение договоров с Пользователем.
|
||||
Улучшение качества сайта, его содержания и удобства использования.
|
||||
5.2. Оператор имеет право направлять Пользователю уведомления о продуктах, услугах, специальных предложениях и различных событиях. Пользователь может отказаться от получения информационных сообщений, направив Оператору обращение через контактные данные, указанные на сайте.
|
||||
|
||||
5.3. Обезличенные данные Пользователей, собираемые с помощью сервисов интернет-статистики, служат для сбора информации о действиях Пользователей на сайте, улучшения качества сайта и его содержания.
|
||||
|
||||
6. Правовые основания обработки персональных данных
|
||||
6.1. Оператор обрабатывает персональные данные Пользователя только при наличии отдельного, явно выраженного согласия, предоставляемого Пользователем при заполнении форм на сайте. Согласие оформляется с помощью активного чекбокса в форме обратной связи.
|
||||
|
||||
6.2. Оператор обрабатывает обезличенные данные о Пользователе (cookie) в случае, если это разрешено в настройках браузера Пользователя и если Пользователь дал соответствующее согласие через всплывающее уведомление на сайте.
|
||||
|
||||
7. Порядок и условия обработки персональных данных
|
||||
7.1. Оператор обеспечивает сохранность персональных данных и принимает все возможные меры, исключающие доступ к персональным данным неуполномоченных лиц.
|
||||
|
||||
7.2. Персональные данные Пользователя не будут переданы третьим лицам, за исключением случаев, связанных с исполнением действующего законодательства, а также случаев, необходимых для обработки заявки и связи с Пользователем.
|
||||
|
||||
7.3. Срок обработки персональных данных — не более 5 лет с момента последнего взаимодействия с Пользователем либо до момента отзыва согласия, если отзыв произошел раньше.
|
||||
|
||||
7.4. По истечении срока обработки или при отзыве согласия персональные данные подлежат уничтожению в течение 30 календарных дней, если иное не предусмотрено законом.
|
||||
|
||||
8. Права субъекта персональных данных и ответы на запросы
|
||||
8.1. Пользователь вправе:
|
||||
|
||||
Получить доступ к своим персональным данным.
|
||||
Требовать уточнения, блокирования или уничтожения своих персональных данных.
|
||||
Отозвать согласие на обработку персональных данных.
|
||||
Обжаловать действия Оператора.
|
||||
8.2. Для реализации своих прав Пользователь направляет запрос Оператору через контактные данные, указанные на сайте. Оператор отвечает на запрос в течение 10 рабочих дней.
|
||||
|
||||
9. Трансграничная передача персональных данных
|
||||
9.1. Оператор до начала осуществления трансграничной передачи персональных данных обязан убедиться в надежной защите прав субъектов персональных данных на территории иностранного государства.
|
||||
|
||||
9.2. Трансграничная передача персональных данных на территории иностранных государств, не отвечающих требованиям Закона, может осуществляться только при наличии письменного согласия субъекта персональных данных.
|
||||
|
||||
9.3. Оператор может использовать Яндекс Метрику. Обработка данных при этом осуществляется на территории РФ. Использование сервисов, влекущих трансграничную передачу персональных данных, не осуществляется без дополнительного основания, предусмотренного законом.
|
||||
|
||||
10. Заключительные положения
|
||||
10.1. Пользователь может получить любые разъяснения по вопросам обработки его персональных данных, обратившись к Оператору через контактные данные, указанные на сайте.
|
||||
|
||||
10.2. В данном документе будут отражены любые изменения политики обработки персональных данных Оператором. Политика действует бессрочно до замены ее новой версией.
|
||||
|
||||
10.3. Актуальная версия Политики в свободном доступе расположена в сети Интернет по адресу https://dostavka-vodi-krim.ru/privacy-policy/.
|
||||
|
||||
44
wp-content/themes/water-delivery/privacy-policy.php
Normal file
44
wp-content/themes/water-delivery/privacy-policy.php
Normal file
@@ -0,0 +1,44 @@
|
||||
<?php
|
||||
/**
|
||||
* Template for the privacy policy page.
|
||||
*
|
||||
* @package Water Delivery
|
||||
*/
|
||||
|
||||
get_header();
|
||||
?>
|
||||
|
||||
<div id="primary" class="content-area privacy-policy-page">
|
||||
<main id="main" class="site-main" role="main">
|
||||
<article class="privacy-policy-content">
|
||||
<header class="entry-header">
|
||||
<h1 class="entry-title"><?php esc_html_e( 'Политика конфиденциальности', 'water-delivery' ); ?></h1>
|
||||
</header>
|
||||
|
||||
<div class="entry-content">
|
||||
<?php
|
||||
$policy_file = get_template_directory() . '/privacy-policy-content.txt';
|
||||
$policy_text = file_exists( $policy_file ) ? file_get_contents( $policy_file ) : '';
|
||||
|
||||
if ( ! empty( $policy_text ) ) {
|
||||
$policy_text = str_replace( array( "\r\n", "\r" ), "\n", $policy_text );
|
||||
$paragraphs = preg_split( "/\n{2,}/", trim( $policy_text ) );
|
||||
|
||||
foreach ( $paragraphs as $paragraph ) {
|
||||
$paragraph = trim( $paragraph );
|
||||
|
||||
if ( '' === $paragraph ) {
|
||||
continue;
|
||||
}
|
||||
|
||||
echo '<p>' . nl2br( esc_html( $paragraph ) ) . '</p>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</article>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
get_footer();
|
||||
@@ -13,8 +13,8 @@ License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
||||
Text Domain: water-delivery
|
||||
Tags: translation-ready, custom-background, theme-options, custom-menu, threaded-comments, featured-images, footer-widgets, left-sidebar, editor-style, right-sidebar, full-width-template, two-columns, three-columns, custom-colors, custom-header, custom-logo
|
||||
|
||||
This theme, like WordPress, is licensed under the GPL.
|
||||
Use it to make something cool, have fun, and share what you've learned with others.
|
||||
This theme, like WordPress, is licensed under the GPL.
|
||||
Use it to make something cool, have fun, and share what you've learned with others.
|
||||
|
||||
Water Delivery is based on Underscores http://underscores.me/, (C) 2012-2016 Automattic, Inc.
|
||||
Underscores is distributed under the terms of the GNU GPL v2 or later.
|
||||
@@ -57,11 +57,92 @@ Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
|
||||
# Footer
|
||||
# Responsive
|
||||
|
||||
--------------------------------------------------------------*/
|
||||
|
||||
/*--------------------------------------------------------------
|
||||
# Normalize
|
||||
--------------------------------------------------------------*/
|
||||
--------------------------------------------------------------*/
|
||||
|
||||
.privacy-policy-page .privacy-policy-content {
|
||||
max-width: 980px;
|
||||
margin: 0 auto;
|
||||
padding: 60px 20px;
|
||||
}
|
||||
|
||||
.privacy-policy-page .entry-title {
|
||||
margin-bottom: 32px;
|
||||
}
|
||||
|
||||
.privacy-policy-page .entry-content p {
|
||||
margin-bottom: 18px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.footer-privacy-link {
|
||||
display: inline-block;
|
||||
margin: 0 8px;
|
||||
}
|
||||
|
||||
.cookie-consent-banner {
|
||||
position: fixed;
|
||||
right: 24px;
|
||||
bottom: 24px;
|
||||
z-index: 9999;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 18px;
|
||||
max-width: 760px;
|
||||
padding: 18px 20px;
|
||||
background: #fff;
|
||||
border: 1px solid rgba(0, 0, 0, 0.12);
|
||||
box-shadow: 0 12px 36px rgba(0, 0, 0, 0.18);
|
||||
}
|
||||
|
||||
.cookie-consent-banner[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.cookie-consent-banner p {
|
||||
margin: 0;
|
||||
color: #333;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.cookie-consent-accept {
|
||||
flex: 0 0 auto;
|
||||
padding: 10px 20px;
|
||||
border: 0;
|
||||
background: #fcb614;
|
||||
color: #000;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.personal-data-consent,
|
||||
.comment-form-privacy-consent {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 8px;
|
||||
margin: 14px 0;
|
||||
color: #333;
|
||||
font-size: 14px;
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.personal-data-consent input,
|
||||
.comment-form-privacy-consent input {
|
||||
width: auto;
|
||||
margin-top: 4px;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 767px) {
|
||||
.cookie-consent-banner {
|
||||
right: 12px;
|
||||
bottom: 12px;
|
||||
left: 12px;
|
||||
flex-direction: column;
|
||||
align-items: stretch;
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------
|
||||
# Normalize
|
||||
--------------------------------------------------------------*/
|
||||
html {
|
||||
font-family: sans-serif;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
@@ -4787,4 +4868,4 @@ ul.social-icons {
|
||||
.features-block:hover .read-more a {
|
||||
color: #fff;
|
||||
}
|
||||
/* Features Section end */
|
||||
/* Features Section end */
|
||||
|
||||
Reference in New Issue
Block a user