HEX
Server: Apache
System: Linux server11 5.10.0-33-amd64 #1 SMP Debian 5.10.226-1 (2024-10-03) x86_64
User: web95 (5097)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/clients/client1/web95/web/wp-content/plugins/kk-star-ratings/public/js/kk-star-ratings.js
"use strict";

jQuery(document).ready(function ($) {
    function apply ($el, options) {
        var options = options || { isBusy: false };

        function ajax(data, successCallback, errorCallback)
        {
            if (options.isBusy || $el.hasClass('kksr-disabled')) {
                return;
            }

            options.isBusy = true;

            $.ajax({
                type: 'POST',
                url: kk_star_ratings.endpoint,
                data: Object.assign({
                    nonce: kk_star_ratings.nonce,
                    action: kk_star_ratings.action
                }, data),
                error: errorCallback,
                success: successCallback,
                complete: function () {
                    options.isBusy = false;
                }
            });
        }

        function onClick(e) {
            var $star = $(this);

            ajax({
                id: $el.data('id'),
                slug: $el.data('slug'),
                score: $star.data('star'),
                best: $('[data-star]', $el).length
            }, function (response, status, xhr) {
                var $newEl = $(response);
                $newEl.addClass($el.attr('class'));
                $el.replaceWith($newEl);
                destroy();
                apply($newEl, options);
            }, function (xhr, status, err) {
                if (xhr.responseJSON && xhr.responseJSON.error) {
                    console.error(xhr.responseJSON.error);
                }
            });
        }

        function destroy() {
            $('[data-star]', $el).each(function () {
                $(this).off('click', onClick);
            });

            $el.remove();
        }

        $('[data-star]', $el).each(function () {
            $(this).on('click', onClick);
        });
    }

    $('.kk-star-ratings').each(function () {
        apply($(this))
    });
});