Skip to main content

Скрипты в настройках

Дополнительные теги для HEAD (применяются в течение 10 минут )

<!-- START Оформление Remake -->    
<!-- подключение уведомления об изменениях в оформлении для учеников -->
<style>@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700;800;900&display=swap');.message-wrapper{width:100%;position:fixed;left:50%;bottom:50px;background:#333;border-radius:50px;display:flex;flex-direction:row;align-items:center;padding:20px 40px;z-index:10000;max-width:1000px;animation:fadeIn .3s linear 1 forwards 5s;transform:translate(-50%,10px);opacity:0}.message-wrapper.fadeOut{animation:fadeOut .3s linear 1 forwards}.message-text,.message-btn{font-family:'Golos','Manrope',Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;font-size:16px;line-height:140%;color:#fff}.message-text{padding-right:20px}.message-btn{border:none;cursor:pointer;background:#fff;border-radius:30px;padding:20px 89px;transition:.3s all;color:#333}.message-btn:hover{opacity: 0.8;}.message-text a{border-bottom:1px solid #fff;text-decoration:none;color:#fff!important}@media (max-width:991px){.message-wrapper{flex-direction:column;justify-content:center;align-items:center;padding:20px;border-radius:20px}.message-text{margin-bottom:30px;margin-right:0;padding-right:0}}@keyframes fadeIn{0%{transform:translate(-50%,10px);opacity:0}100%{transform:translate(-50%,0);opacity:1}}@keyframes fadeOut{0%{transform:translate(-50%,0);opacity:1}100%{transform:translate(-50%,10px);opacity:0}}</style>




<script>
/* Параметры прелоадера */
const PRELOADER_REMAKE_READY_TIMEOUT = 1500; // таймаут для remake-ready в мс
const PRELOADER_FALLBACK_TIMEOUT = 7000; // таймаут для принудительного скрытия прелоадера в мс
const PRELOADER_COLOR = '#333';

const removePreloader=()=>{$('body').css('opacity','1');$('html').addClass('loaded page-ready')};$(document).on('remake-ready',()=>{setTimeout(()=>{removePreloader()},PRELOADER_REMAKE_READY_TIMEOUT)});setTimeout(()=>{removePreloader()},PRELOADER_FALLBACK_TIMEOUT);</script>

<!-- Подключение Remake -->
<script type="text/javascript" src="/pl/cms/layout/js?hash&bundle=0&id=52740"></script>
<!-- END Оформление Remake -->

<style>
    body {
        opacity: 0;
        transition: opacity 1ms linear;
    }
    #gcAccountUserMenu {
        opacity: 0;
    }
</style>
<script>
    $(() => {
        setTimeout(() => {
            console.log("body loaded");
            $("body").css("opacity", "1");
            $("#gcAccountUserMenu").css("opacity", "1");
        }, 500);
    });
</script>

<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-PF7BJR6');</script>
<!-- End Google Tag Manager -->


<!--<script src="https://getfusion.ru/fusion/plugin.js?hash=97259168913" crossorigin="use-credentials"></script> -->

Счетчики и прочие скрипты для BODY (применяются в течение 10 минут )

<style>
.vpn-alert {display: none}
</style>

<!-- Прямой переход ученика к открытому потоку (подтренингу) -->
<script>
$(document).ready(function () {
  if (window.location.href.indexOf('/teach/control/stream/view') > -1) {
    if (!$('.gc-main-content').hasClass('gc-user-user')) return;

    const $streamTable = $('.stream-table');
    if (!$streamTable.length) return;

    const $subTrainingRows = $streamTable.find('tbody tr');


    const $lessonsList = $('.lesson-list');
    const $lessons = $lessonsList.find('li');

    if ($subTrainingRows.length === 1 && $lessons.length < 1) {
      const link = $subTrainingRows.find('a').attr('href');
      if (link) window.location.href = link;
    }
  }
});
</script>


<!-- New design Start -->
<!-- Служебные скрипты -->
<link rel="stylesheet" href="https://fitnessmama.school/pl/cms/layout/css?id=29679&hash=760805fe8b3b3849412df8b01bdb52f1&bundle=1" />
<script src="https://fitnessmama.school/pl/cms/layout/js?id=29679&hash=760805fe8b3b3849412df8b01bdb52f1&bundle=1"></script>



<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PF7BJR6"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->

<script>
$(function(){
  $('a[href*="'+window.location.pathname+'"][href$="/editMode/1"]').each((i,el)=>{
    $(el).attr('href', $(el).attr('href').replace('/editMode/1','?editMode=1'));
  });
});
</script>

<!-- IШрифты -->
<style>
@import url('https://fonts.googleapis.com/css2?family=Urbanist:wght@100;200;300;400;500;600;700;800;900&display=swap');
</style>
<!-- New design End -->


<!-- Yandex.Metrika counter -->
<script type="text/javascript" >
   (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)};
   m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)})
   (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");

   ym(70381675, "init", {
        clickmap:true,
        trackLinks:true,
        accurateTrackBounce:true,
        webvisor:true
   });
</script>

<noscript><div><img src="https://mc.yandex.ru/watch/70381675" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
<!-- /Yandex.Metrika counter -->

<!-- Модуль проверки ошибок при рассылках -->
<script src="https://fs.gcfiles.net/fileservice/file/download/a/87136/sc/378/h/efdbab0338b54a8791c0bffc7423ec2e.js"></script>
<script>
$.zygcmailerrors({
  'groups': {
    'default': {
      id: 3355832, // id группы в ГК
      name: 'GetHelpers. Ошибки рассылки - ошибка в доменной зоне почты'  // название группы в ГК
    },
    'domain': {
      id: 3355831, // id группы в ГК
      name: 'GetHelpers. Ошибки рассылки - любые ошибки' // название группы в ГК
    },
    'spam': {
      id: 3355834, // id группы в ГК
      name: 'GetHelpers. Ошибки рассылки - ip в спаме, в сером или черном списке' // название группы в ГК
    },
    'overquota': {
      id: 3355835, // id группы в ГК
      name: 'GetHelpers. Ошибки рассылки - переполнение почтового ящика пользователя' // название группы в ГК
    },
    'user': {
      id: 3355840, // id группы в ГК
      name: 'GetHelpers. Ошибки рассылки - почтовый адрес пользователя указан неверно или удален' // название группы в ГК
    },
    'dns': {
      id:3355841, // id группы в ГК
      name: 'GetHelpers. Ошибки рассылки - проблемы с spf, dkim, mx, dmarc' // название группы в ГК
    }
  }
});
</script>
<!-- / Модуль проверки ошибок при рассылках -->

<!-- (GC) Скрыть нулевые заказы на странице Мои покупки -->
<script>
$(document).ready(function () {
  if (window.location.href.indexOf('/sales/control/userProduct/my') > 0 && $('.gc-main-content').hasClass('gc-user-user')) {
    
    $('.table tr').each(function(){
      if ($(this).find('td:last-child').text().trim() === '0€') {
        $(this).hide();
      }
    });
  }
});
</script>


<script>
if (window.userInfo.isAdmin || window.userInfo.isManager || window.userInfo.isTeacher) {

function FindDublicateAccount() {
    // Проверяем наличие блока, в котором записан телефон, в правой панели. Проверка на случай работы у пользователя специального виджета IP телефонии
    if ($('.user-phone span[data-reactid=".0.1.1.0.0.2.5.2"] span span').length>0) {
        // записываем телефон в переменную tel, для дальнейшего использования
        var tel = $('.user-phone span[data-reactid=".0.1.1.0.0.2.5.2"] span span').html();
    } else {
       // записываем телефон в переменную tel, для дальнейшего использования 
       var tel = $('.user-phone span[data-reactid=".0.1.1.0.0.2.5.2"]').html();
    }
    // Проверяем переменную с телефоном, на предмет наличия в нем значения
    if (!(tel == "null")&&!(typeof tel == 'undefined')&&(tel != '')) {
        // Запрашиваем страницу поиска пользователей по номеру телефона, на всякий случай чистим телефон от любых не цифр!
        $.get('/pl/user/user/search?uc%5Bphone%5D='+tel.replace(/\D/g,'')+'&search=1',function(data) {
            // считаем в полученной странице кол-во строк с пользователями имеющими одинаковый номер телефона
            count = $(data).find('.standard-page-content > table tbody tr').length;
            // удаляем со страницы предыдущий блок с информацией о дублях. Это нужно делать, чтобы избежать дубликатов информационного блока 
            $('span.DublicateAccount').remove();
            // Проверяем кол-во пользователей с таким номером телефона, если пользователь один, тогда выводим после телефона блок с изображением человечка зеленого цвета
            if (count == 1) $('.user-phone span[data-reactid=".0.1.1.0.0.2.5.2"]').after('<span class="DublicateAccount" style="color:green;"><i class="fa fa-user"  aria-hidden="true"></i><sup><small>'+count+'</small></sup></span>');
            
            // Проверяем кол-во пользователей с таким номером телефона, если пользователей больше чем один, тогда выводим после телефона блок со ссылкой на страницу поиска и красным изображением группы человечков, а в правом верхнем углу выводим кол-во пользователей с таким телефоном (в формате степени числа)
            if (count > 1) $('.user-phone span[data-reactid=".0.1.1.0.0.2.5.2"]').after('<span class="DublicateAccount"><a href="/pl/user/user/search?uc%5Bphone%5D='+tel.replace(/\D/g,'')+'&search=1"  style="color:red;"><i class="fa fa-users" aria-hidden="true"></i><sup><small>'+count+'</small></sup></a></span>');
            
        })
    };
    // Отдельно ищем дубликаты по имени в почте пользователя
    var email = $('.user-email[data-reactid=".0.1.1.0.0.2.3"]').text();
    if (!(email == "null")&&!(typeof email == 'undefined')&&(email != '')) {
	var name_email   = email.match(/^.+(?=@)/)[0]+'@';
        // Ищем дубликаты по имени в почте
        $.get('/pl/user/user/search?search=1&uc%5Bemail%5D='+name_email,function(data) {
            // считаем в полученной странице кол-во строк с пользователями имеющими похожую почту
            count = $(data).find('.standard-page-content > table tbody tr').length;
            // удаляем со страницы предыдущий блок с информацией о дублях. Это нужно делать, чтобы избежать дубликатов информационного блока 
            $('span.DublicateAccountEmail').remove();
            // Проверяем кол-во пользователей с похожей почтой, если пользователь один, тогда выводим после почты блок с изображением человечка зеленого цвета
            if (count == 1) $('.user-email[data-reactid=".0.1.1.0.0.2.3"]').append('<span class="DublicateAccountEmail" style="color:green;"><i class="fa fa-user"  aria-hidden="true"></i><sup><small>'+count+'</small></sup></span>');
            
            // Проверяем кол-во пользователей с таким номером телефона, если пользователей больше чем один, тогда выводим после телефона блок со ссылкой на страницу поиска и красным изображением группы человечков, а в правом верхнем углу выводим кол-во пользователей с таким телефоном (в формате степени числа)
            if (count > 1) $('.user-email[data-reactid=".0.1.1.0.0.2.3"]').append('<span class="DublicateAccountEmail"><a href="/pl/user/user/search?search=1&uc%5Bemail%5D='+name_email+'"  style="color:red;"><i class="fa fa-users" aria-hidden="true"></i><sup><small>'+count+'</small></sup></a></span>');
            
        })
    }
}

// Начинаем отслеживать событие ajaxSuccess во всем документе
$(document).ajaxSuccess(function(event, xhr, settings) {
    
        // Запускаем функцию поиска дубликатов через 1 секунду
        setTimeout(function (){
            // Проверяем, нет ли уже блока с информацией о дубликате.
            if ($('span.DublicateAccount').length==0) FindDublicateAccount()
        },1000);
})

// Запускаем функцию поиска дубликатов после загрузки страницы с задержкой запуска в одну секунду
$(function(){setTimeout(function (){FindDublicateAccount();},1000)});

}
</script>


<!-- Оформление Remake для чатиума -->
<script type="text/javascript" src="/pl/layout/52740/0/chatium-connect.js"></script>
<!-- Оформление Remake для чатиума -->

<!-- START | Меняем цвет фона для администраторов на вебинарной странице -->
<script>
(function() {
  // Проверка: страница вебинара и пользователь — админ
  if (document.body.classList.contains('isWebinarPage') &&
    window.userInfo.isAdmin === true) {
    // Установка инлайн-стиля
    document.body.style.backgroundColor = '#222 !important';
   console.log(15);
  }
})();
</script>




<!-- END | Меняем цвет фона для администраторов на вебинарной странице -->


<!-- Модуль помощи в исправлении опечаток -->
<script src="https://fs.gcfiles.net/fileservice/file/download/a/87136/sc/209/h/05f2811a4524ba191f05cb2af0e51dac.js"></script>
<script>$.zygcfixemailtypos();</script>
<!-- / Модуль помощи в исправлении опечаток -->