удобный магазин фриланс услуг

Официальный форум поддержки Kandidat CMSФорум Kan-Studio

Официальный форум поддержки Kandidat CMS


Страниц 1

Вы должны войти или зарегистрироваться чтобы отвечать на сообщения

Опрос

Пригодилось?!

Варианты ответа
  • +
  • -

Гости не могут голосовать.

RSS темы

Сообщений [ 1 ]

1

Тема: Политика конфиденциальности

Привет, сообщество!
Вот не большой скрипт, который предупреждает о сборе файлов cookie на сайте! Может кому и понадобиться! Это по 152 ФЗ!

Начнёмсъ!

1. Создайте файл 152.js или любое другое название! Положите в любое для вас место! Я обычно складываю *.js-файлы в папку JS.
Затем, вставьте текст такого содержания:

$(document).ready(function ($) {
    /*****************************/
    /* Текст всплываемой надписи */
    var text = '<p>На данном сайте используются cookie-файлы и другие аналогичные технологии. Если, прочитав это сообщение, вы остаетесь на сайте, это означает, что вы не возражаете против использования этих технологий.</p>';

    /* Стили всплывающей надписи */
    var styles = {
      "position": "fixed",
      "left": "30px",
      "bottom": "30px",
      "width": "400px",
      "height": "auto",
      "padding": "10px",
      "background-color": "#F2F2F2",
      "opacity": "1",
      "border": "1px solid #888",      
      "border-radius": "10px",
      "color": "#555",
      "z-index": "10000",
    };
    /* Стили всплывающей надписи - параграф(абзац) */
    var styles_p = {
      "margin": "10px 0px",
    };
    /* Стиль ссылки в надписи*/
    var styles_a = {
      "color": "#188be5",
    };
    /* Стиль кнопки в надписи */
    var styles_button = {
      "float": "right",
      "cursor": "pointer",
      "background": "#088dba",
      "color": "#fff",
      "padding": "5px 35px",
      "border-radius": "5px",      
      "border": "none",
      
    };
    /* Кнопка при наведении */
    var styles_button_hover = {
      "float": "right",
      "cursor": "pointer",
      "background": "#088dba",
      "color": "#fff",
      "padding": "5px 35px",
      "border-radius": "5px",      
      "border": "none",

    };
    
    /****************************************/
    /* Текст под формами, не меняйте классы */
    var formtext = '';
    var formtext_styles = {
      "color": "#7d7d7d",
      "font-size": "12px",
      "line-height": "1.1em",
      "padding": "15px 5px",
      "letter-spacing": "0px",
      "text-align": "center"
    };
    /* стиль для ссылки */
    var formtext_styles_a = {
      "color": "#7d7d7d",
      "font-size": "12px",
      "line-height": "1.1em",
    };
    /* Селекторы form которых не надо вставлять надпись, через запятую */
    /* Если в форме есть классы (class) то добавим их .имя_класса без пробелов */
    /* Если в форме есть идентификатор (id) то добавим их #идентификатор без пробелов */
    var ignore_form = 'body > div.main-block > div > form.main-form, #poll-form, .blind_search_form, #sdsfsdf';

    /**************************************/ 
    /* Ссылки в футер, не меняйте классы  */    
    var links = '<div class="FZ152_footer_links"></div>';
    var links_styles = {
      "color": "#7d7d7d",
      "padding": "0 0 10px 0",
      "margin": "0 0 10px 0",

    };
    /* стиль для ссылки */
    var links_styles_a = {
      "color": "#fff",
      "font-size": "12px"
    };
    
    /*Селектор куда вставить ссылки в футер*/
    var FooterSelector = '.contacts';


    /************************************************************/
    /* !!! Дальше ничего не меняем, если ты  НЕ программист !!! */
    /************************************************************/
  setTimeout(function() {
    /* Вставим текст к формам */
    FZ152_SetCheckForms ();
    /* Вставим ссылки в футер */  
    $(FooterSelector).append( links );
    /* Применим стили */
    $('.FZ152_footer_links').css( links_styles );  
    $('.FZ152_footer_links a').css( links_styles_a );  

    var ireadthis = 0;
    ireadthis = FZ152_readCookie('FZ152_ireadthis');
    if (ireadthis != 'yes') {
      /* Вставим надпись , если нет нужной куки */
      $('body').append('<div class="FZ152_personal_information__">' + text +'<p><a href="/privacy-policy.html" rel="nofollow">Подробнее</a> &nbsp; &nbsp; &nbsp; &nbsp; <button>Хорошо</button></p></div>');
  
      $('.FZ152_personal_information__').css( styles );  
      $('.FZ152_personal_information__ a').css( styles_a );  
      $('.FZ152_personal_information__ p').css( styles_p );  

      $('.FZ152_personal_information__ button').css( styles_button );  

      $('.FZ152_personal_information__ button').hover(function(){
        $(this).css( styles_button_hover );  
      }, function() {
        $(this).css( styles_button );  
      });
  
  
      $('.FZ152_personal_information__ button').click(function() {
        FZ152_createCookie('FZ152_ireadthis', 'yes', '3');
        $('.FZ152_personal_information__').hide();
        return false;
      });
    }
  
      /*Для ajaxform и встлывающих form*/
      var isChecking = false;
      $('body').bind("DOMSubtreeModified",function(){
        if (!isChecking) {
          isChecking = true;
          setTimeout(function() {
            FZ152_SetCheckForms ();
            isChecking = false;
          }, 200);
        }
      });
  }, 1000);
  
  /* Функция для вставки надписи в формы */
  function FZ152_SetCheckForms () {
    var selector = 'form';
    if (ignore_form != '') {
      selector = 'form:not(' + ignore_form + ')';
    };
    $(selector).each(function(){
      if (!$(this).hasClass('FZ152_form')) {     

          $(this).append( formtext );
          $('.FZ152_personal-information').css( formtext_styles );            
          $('.FZ152_personal-information a').css( formtext_styles_a );
          $(this).addClass('FZ152_form');

      }
    });
  }

});  

function FZ152_createCookie(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    } else {
        expires = "";
    }
    document.cookie = encodeURIComponent(name) + "=" + encodeURIComponent(value) + expires + "; path=/";
};

function FZ152_readCookie(name) {
    var nameEQ = encodeURIComponent(name) + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) === ' ')
            c = c.substring(1, c.length);
        if (c.indexOf(nameEQ) === 0)
            return decodeURIComponent(c.substring(nameEQ.length, c.length));
    }
    return null;
};

2. Подключите в файл шаблона. Пример подключения такой: <script type="text/javascript" src="/js/fz152.js"></script>

3. Готово!

P.S. Вся текстовка и css-разметка храниться в файле fz152.js. Можете редактировать на свой вкус и цвет! Текст о политике конфиденциальности можете найти на просторах Рунета!

Отредактировал Dysha (06-11-2018 08:46:20)

Сообщений [ 1 ]

Страниц 1

Вы должны войти или зарегистрироваться чтобы отвечать на сообщения

Тему просматривают: 1 гость

Версия для печати