403Webshell
Server IP : 89.108.64.180  /  Your IP : 216.73.216.229
Web Server : Apache/2.4.41 (Ubuntu)
System : Linux 89-108-64-180.cloudvps.regruhosting.ru 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User : www-root ( 1010)
PHP Version : 8.0.30
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /var/www/www-root/data/www/hostelfortuna.ru/wp-content/plugins/wp-yandex-metrika/assets/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /var/www/www-root/data/www/hostelfortuna.ru/wp-content/plugins/wp-yandex-metrika/assets/admin.js
const eventsList = [
    "click",
    "submit",
    "mouseover",
    "mouseout",
    // "mousedown",
    // "mouseup",
    // "mousemove",
    "focus",
    "blur",
    "change",
    // "contextmenu",
];

jQuery(function($){
    let locale = 'en';

    $(document).ready(function () {
        $(document.body).hasClass('locale-ru-ru') ? locale = 'ru' : locale = 'en';

        initSelectors();

        initAddButton($('.custom-targets-table'));


        $('.event-input.suggestion-input').each((_, item) => {
            initSuggestionFields($(item))
        });
    });

    $('.yam-repeater-field__add-btn').on('click', function(){
        let $repeater = $(this).parents('.yam-repeater-field'),
            $row = $repeater.find('.yam-repeater-field__row_tpl').eq(0).clone().removeClass('yam-repeater-field__row_tpl');

        $repeater.find('.yam-repeater-field__rows').append($row);

        if ($repeater.data('name') === 'custom_targets') {
            initSuggestionFields($row.find('.event-input.suggestion-input'));
        }

        $(this).addClass('disabled');
        reindexRows($repeater);
    });

    $('.yam-repeater-field__add-btn.yam-repeater-field__btn.yam-repeater-field__btn--primary.button-primary').click(() => {
        initSelectors();
    })

    $(document).on('click', '.yam-repeater-field__remove-btn',function(){
        let $btn = $(this),
            $repeater = $btn.closest('.yam-repeater-field'),
            $row = $btn.closest('.yam-repeater-field__row');


        $row.remove();
        reindexRows($repeater);
        initAddButton($repeater);
    });

    $(document).on('change keyup input click', '[data-input-type="number"]',function(){
        this.value = this.value.replace(/[^0-9]/g, '');
    });

    $(document).on('click', '.yam-spoiler__btn', function(){
        var $btn = $(this),
            $spoiler = $btn.closest('.yam-spoiler'),
            $secondButton = $(`.yam-spoiler__btn.yam-spoiler__btn--${$btn.hasClass('yam-spoiler__btn--show') ? 'hide' : 'show'}`),
            $content = $spoiler.find('.yam-spoiler__content');

        $btn.toggleClass('active');
        $content.toggleClass('active');
        $secondButton.toggleClass('active');
    });

    $(document).on('click', '.yam-notice .notice-dismiss', function(){
        var $btn = $(this),
            $message = $btn.closest('.yam-notice'),
            messageId = $message.data('id');

        $.ajax({
            type: 'POST',
            url: ajaxurl,
            data: {
                messageId: messageId,
                action: 'yam_dismiss_message',
            }
        });
    });

    $(document).on('select2:select', '.custom-targets-container select.yam-repeater-field__input', function(e) {
        const $input = $(this);

        const $row = $input.parents('.yam-repeater-field__row');

        if ($input.val() !== '') {
            $row.find('input[type="text"].disabled').removeClass('disabled');
        } else {
            $row.find('input[type="text"]').addClass('disabled');
        }
    });

    $(document).on('input', '.yam input[type="text"]', function (event, data) {
        const input = $(this);

        if (input.hasClass('disabled')) {
            event.preventDefault();
        }
    });

    $(document).on('click', '.yam-copy-button', async function () {
        await navigator.clipboard.writeText($('.yam-logs').text());
    });

    $(document).on('click', '.yam .show-button', function () {
        const btn = $(this);
        const selectors = btn.parents('.show-button__wrap').data('selectors');

        if ($(selectors).hasClass('table-shown')) {
            $(selectors).removeClass('table-shown');
            btn.children('.show-button__arrow').removeClass('show-button__arrow--open');
        } else {
            $(selectors).addClass('table-shown');
            btn.children('.show-button__arrow').addClass('show-button__arrow--open');
        }
    });

    $(document).on('input', '.counters-table', function () {
        initAddButton($(this));
    });

    $(document).on('change', '.counters-table', function () {
        initAddButton($(this));
    });

    $(document).on('input', '.custom-targets-table', function () {
        initAddButton($(this));
    });

    $(document).on('change', '.custom-targets-table', function () {
        initAddButton($(this));
    })

    //functions

    function reindexRows($repeater){
        //reindex row inputs
        $repeater.find('.yam-repeater-field__row').each(function(index){
            const $row = $(this);

            $row.find('.yam-repeater-field__input').each(function(){
                let $input = $(this),
                    name = $input.attr('name');

                $input.attr('name', name.replace(/\[([^\]]+)\]\[([\-\d]+)\]/, function($0, $1, $2) {
                    return '['+$1+']['+(index-1)+']'
                }));
            });
        });
    }

    function formatSelection (state) {
        const $state = $(
            `<span>${state.text}</span>`
        );
        return $state;
    }

    function formatSelectOption (state) {
        if (!state.id) {
            return state.text;
        }
        const optionDescription = $(state.element).data('description') || '';

        return  $state = $(`
            <div class="yam-option__wrap">
                <span class="yam-option__val">${state.text}</span>
                ${optionDescription !== '' ? '<span class="yam-option__description">'+optionDescription+'</span>' : ''}
            </div>
        `);
    }

    function initSelectors() {
        const selects = $('.yam-repeater-field__row:not(.yam-repeater-field__row_tpl) .yam-select2');

        selects.each((_, select) => {
            const parent = $(select).parents('.yam-repeater-field__input-wrap');

            const placeholderOption = [...$(select).find('option')].find(item => item.getAttribute('value') === '');

            const options = {
                templateResult: formatSelectOption,
                templateSelection: formatSelection,
                // dropdownParent: parent,
                dropdownCssClass: 'yam-dropdown',
                language: locale,
                placeholder: {
                    id: '', // the value of the option
                    text: $(placeholderOption).text()
                }
            };

            if ($(select).hasClass('no-search-select')) {
                options.minimumResultsForSearch = -1;
            }

            $(select).select2(options);

            $(select).on('select2:open', function (event) {
                if ($('input.select2-search__field').last().length) {
                    $('input.select2-search__field').last()[0].focus();
                }
            });
        })

    }

    function initAddButton(el) {
        const rows = el.find('.yam-repeater-field__row:not(.yam-repeater-field__row_tpl)'),
            btn = el.find('.yam-repeater-field__add-btn');

        const valuedInRow = [];

        rows.last().find('input.yam-repeater-field__input').each((_, item) => {
            console.log({item: $(item)})

            valuedInRow.push($(item).val() !== '');
        });

        !valuedInRow.includes(false) ? btn.removeClass('disabled') : btn.addClass('disabled');
    }

    function initSuggestionFields(el) {
        const input = $(el);
        let suggestionField = $(`
            <div class="suggestion__wrap">
                <ul class="suggestion__list"></ul>     
            </div>
        `);
        input.after(suggestionField);
        let suggestionList = suggestionField.find('.suggestion__list');
        let prevState = false;

        input.on('input', function () {
            computeSuggestions({input, suggestionList, suggestionField});
        });

        input.on('focus', () => {
            computeSuggestions({input, suggestionList, suggestionField});

            suggestionField.toggleClass('suggestion__wrap--show', true);
        });

        input.on('blur', () => {
            setTimeout(() => {
                suggestionField.toggleClass('suggestion__wrap--show', false)
            }, 300)
        });
    }

    function computeSuggestions({
        input,
        suggestionList,
        suggestionField
    }) {
        const val = $(input).val();
        let eventsTemp = [];

        suggestionList.find('.suggestion__option').remove();

        eventsList.forEach(item => {
            if (val === '' || item.toLowerCase().includes(val.toLowerCase())) {
                eventsTemp.push(item);
                const option = $(`
                        <li class="suggestion__option">${item}</li>
                    `);
                suggestionList.append(option);

                option.on('click', () => {
                    $(input).val(item);
                    suggestionList.find('.suggestion__option').remove();
                    eventsTemp = [item];
                    suggestionField.toggleClass('suggestion__wrap--show', false);

                    initAddButton($('.custom-targets-table'));
                })
            }
        });

        if (eventsTemp.length === 0) {
            suggestionList.append(`<li class="suggestion__option not-found">
            ${locale === 'ru' ? 
                'Совпадений не найдено' :
                'No results found'
            }</li>`);
        }
    }
});

Youez - 2016 - github.com/yon3zu
LinuXploit