403Webshell
Server IP : 216.106.184.20  /  Your IP : 216.73.216.234
Web Server : LiteSpeed
System : Linux asmodeus.in-hell.com 5.14.0-570.58.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 29 06:24:11 EDT 2025 x86_64
User : sekoaid1 ( 1891)
PHP Version : 7.3.33
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/sekoaid1/www/wp-content/plugins/quiz-maker/admin/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/sekoaid1/www/wp-content/plugins/quiz-maker/admin/js/quiz-maker-admin-ajax.js
(function( $ ) {
    'use strict';
    var emailValidatePattern = /^[a-zA-Z0-9\._-]+@[a-zA-Z0-9\._-]+\.\w{2,}$/;
    $.fn.serializeFormJSON = function () {
        let o = {},
            a = this.serializeArray();
        $.each(a, function () {
            if (o[this.name]) {
                if (!o[this.name].push) {
                    o[this.name] = [o[this.name]];
                }
                o[this.name].push(this.value || '');
            } else {
                o[this.name] = this.value || '';
            }
        });
        return o;
    };
    
    $.fn.aysModal = function(action){
        let $this = $(this);
        switch(action){
            case 'hide':
                $(this).find('.ays-modal-content').css('animation-name', 'zoomOut');
                setTimeout(function(){
                    $(document.body).removeClass('modal-open');
                    $(document).find('.ays-modal-backdrop').remove();
                    $this.hide();
                }, 250);
            break;
            case 'show': 
            default:
                $this.show();
                $(this).find('.ays-modal-content').css('animation-name', 'zoomIn');
                $(document).find('.modal-backdrop').remove();
                $(document.body).append('<div class="ays-modal-backdrop"></div>');
                $(document.body).addClass('modal-open');
            break;
        }
    }

    $(document).find('form#ays_add_question_rows').on( 'submit', function(e) {
        $(document).find('div.ays-quiz-preloader').css('display', 'flex');
        $(document).find('td.empty_quiz_td').parent().remove();
        let data = $(this).serializeFormJSON();
        data.action = 'add_question_rows';
        data['ays_questions_ids[]'] = window.aysQuestSelected;
        $.ajax({
            url: quiz_maker_ajax.ajax_url,
            method: 'post',
            dataType: 'json',
            data: data,
            success: function(response){
                if( response.status === true ) {
                    $(document).find("table#ays-questions-table").find('.dataTables_empty').parents('tr').remove();
                    $(document).find('div.ays-quiz-preloader').css('display', 'none');
                    let table = $('table#ays-questions-table tbody'),
                        id_container = $(document).find('input#ays_already_added_questions'),
                        existing_ids = ( id_container.val().split(',')[0] === "" ) ? [] : id_container.val().split(','),
                        new_ids = [];
                    for(let i = 0; i < response.ids.length; i++) {
                        if( $.inArray( response.ids[i], existing_ids ) === -1 ) {
                            new_ids.push(response.ids[i]);
                            table.append(response.rows[i]);
                            let table_rows = $('table#ays-questions-table tbody tr'),
                                table_rows_length = table_rows.length;
                            if( table_rows_length % 2 === 0 ) {
                                table_rows.eq( ( table_rows_length - 1 ) ).addClass('even');
                            }
                        }else{
                            let position = $.inArray( response.ids[i], existing_ids );
                        }
                    }
                    
                    let table_rows = $('table#ays-questions-table tbody tr');
                    // new_ids = new_ids.reverse();
                    for(var i = 0; i < new_ids.length; i++){
                        existing_ids.push(new_ids[i]);
                    }                    
                    table_rows.each(function(){
                        let id = $(this).data('id');
                        if($.inArray( id.toString(), existing_ids ) === -1){
                            $(this).remove();
                        }
                    });
                    id_container.val( existing_ids );
                }
                $(document).find('#ays-questions-modal').aysModal('hide');
                let questions_count = response.ids.length;

                let table_rows = $('table#ays-questions-table tbody tr');
                
                var questions_count_val = questions_count;
                if ( table_rows.length > 0 && table_rows.length > questions_count ) {
                    questions_count_val = table_rows.length;
                }

                $(document).find('.questions_count_number').html(questions_count_val);

                let pagination = $('.ays-question-pagination');
                if (pagination.length > 0) {
                    let trCount = $(document).find('#ays-questions-table tbody tr').length;
                    let pagesCount = 1;
                    let pageCount = Math.ceil(trCount/5);
                    createPagination(pagination, pageCount, pagesCount);

                    let page = 1; // set page 1
                    $('ul.ays-question-nav-pages').removeAttr('style');//moves pagination to first
                    let pages = $('ul.ays-question-nav-pages li');
                    pages.each(function () {
                        $(this).removeClass('active'); //remove active pages
                    });
                    pages.eq(0).addClass('active'); // assigning to first page element active
                    show_hide_rows(page); // show count of rows
                }
            }
        });
        e.preventDefault();
    } );
    
    $(document).find('#ays_quick_submit_button').on('click',function (e) {
        // deactivate_questions();
        $(document).find('div.ays-quiz-preloader').css('display', 'flex');
        var questions =  $(document).find('.ays_modal_question');
        if($(e.target).parents('#ays-quick-modal-content').find('#ays-quiz-title').val() == ''){            
            swal.fire({
                type: 'error',
                text: "Quiz title can't be empty"
            });
            $(document).find('div.ays-quiz-preloader').css('display', 'none');
            return false;
        }
        var qqanswers = $(e.target).parents('#ays-quick-modal-content').find('.ays_answer');
        var emptyAnswers = 0;
        for(var j = 0; j < qqanswers.length; j++){
            var parent =  qqanswers.eq(j).parents('.ays_modal_question');
            var questionType = parent.find('.ays_quick_question_type').val();

            if ( questionType == 'text' ) {
                var answerVal = parent.find('textarea.ays-correct-answer-value.ays-text-question-type-value').val();

                if(answerVal == ''){
                    emptyAnswers++;
                    break;
                }
            } else if( questionType == 'short_text' || questionType == 'number' || questionType == 'date') {
                var answerVal = parent.find('input.ays-correct-answer-value.ays-text-question-type-value').val();

                if(answerVal == ''){
                    emptyAnswers++;
                    break;
                }
            } else {
                if(qqanswers.eq(j).val() == ''){
                    emptyAnswers++;
                    break;
                }
            }
        }
        if(emptyAnswers > 0){
            swal.fire({
                type: 'error',
                text: "You must fill all answers"
            });
            $(document).find('div.ays-quiz-preloader').css('display', 'none');
            return false;
        }
        
        for(var i=0;i<questions.length;i++){
            var question_text = aysEscapeHtml( questions.eq(i).find('.ays_question_input').val() );
            var question_type = questions.eq(i).find('.ays_quick_question_type').val();

            questions.eq(i).find('.ays_question_input').after('<input type="hidden" name="ays_quick_question[]" value="'+question_text+'">');

            if ( question_type == 'text' ) {
                var question_answers = questions.eq(i).find('.ays-correct-answer-value');

                question_answers.append('<input type="hidden" name="ays_quick_answer['+i+'][]" value="'+ aysEscapeHtml( question_answers.val() ) +'">');
                question_answers.append('<input type="hidden" name="ays_quick_answer_correct['+i+'][]" value="true">');
            } else if( question_type == 'short_text' ||  question_type == 'number' || question_type == 'date' ){

                var question_answers = questions.eq(i).find('input.ays-correct-answer-value.ays-text-question-type-value');

                question_answers.after('<input type="hidden" name="ays_quick_answer['+i+'][]" value="'+ aysEscapeHtml( question_answers.val() )+'">');
                question_answers.after('<input type="hidden" name="ays_quick_answer_correct['+i+'][]" value="true">');
            } else {
                var question_answers = questions.eq(i).find('.ays_answer');
                var question_answers_correct = questions.eq(i).find('input.ays_answer_unique_id');
                for(var a=0;a<question_answers.length;a++){
                    question_answers.eq(a).after('<input type="hidden" name="ays_quick_answer['+i+'][]" value="'+question_answers.eq(a).val()+'">');
                }
                for(var z=0;z<question_answers_correct.length;z++){
                    if(question_answers_correct.eq(z).prop('checked')){
                        question_answers_correct.eq(z).parents().eq(0).append('<input type="hidden" name="ays_quick_answer_correct['+i+'][]" value="true">');
                    }else{
                        question_answers_correct.eq(z).parents().eq(0).append('<input type="hidden" name="ays_quick_answer_correct['+i+'][]" value="false">');
                    }
                }
            }
        }

        var data = $('#ays_quick_popup').serializeFormJSON();
        data.action = 'ays_quick_start';

        $.ajax({
            url: quiz_maker_ajax.ajax_url,
            method: 'post',
            dataType: 'json',
            data: data,
            success: function (response) {
                $(document).find('div.ays-quiz-preloader').css('display', 'none');
                if(response.status === true){
                    $(document).find('#ays_quick_popup')[0].reset();
                    $(document).find('#ays-quick-modal .ays-modal-content').addClass('animated bounceOutRight');
                    $(document).find('#ays-quick-modal').aysModal('hide');
                    swal({
                        title: '<strong>Great job</strong>',
                        type: 'success',
                        html: '<p>You can use this shortcode to show your quiz.</p><input type="text" id="quick_quiz_shortcode" onClick="this.setSelectionRange(0, this.value.length)" readonly value="[ays_quiz id=\'' + response.quiz_id + '\']" /><p style="margin-top:1rem;">For more detailed configuration visit <a href="admin.php?page=quiz-maker&action=edit&quiz=' + response.quiz_id + '">edit quiz page</a>.</p>',
                        showCloseButton: true,
                        focusConfirm: false,
                        confirmButtonText:
                          '<i class="ays_fa ays_fa_thumbs_up"></i> Great!',
                        confirmButtonAriaLabel: 'Thumbs up, great!',
                        onAfterClose: function() {
                            $(document).find('#ays-quick-modal').removeClass('animated bounceOutRight');
                            $(document).find('#ays-quick-modal').css('display', 'none');
                            window.location.href = "admin.php?page=quiz-maker";
                        }
                    });
                    var modalQuestion = $('.ays_modal_element.ays_modal_question');
                    modalQuestion.each(function(){
                        if($('.ays_modal_element.ays_modal_question').length !== 1){
                            $(this).remove();
                        }
                    });
                }
            }
        });
    });

    // Open results more information popup window
    $(document).on('click', '.ays_quiz_read_result', function(e){
        var where = 'row';
        ays_show_results(e, $(this).find('.ays-show-results').eq(0), where);
    });

    $(document).on("click", ".ays-quiz-subscribe-button", function(e){
        var $this = $(this);
        var thisParent = $this.parents(".ays-quiz-subscribe-email-page");
        var emailInput = thisParent.find(".ays-quiz-subscribe-email-address");
        var emailInputVal = emailInput.val();
        var flag = false;
        var data = {
            email: emailInputVal,
            action: 'ays_quiz_subscribe_email'
        };

        if(emailInputVal != ""){
            if(!(emailValidatePattern.test(emailInputVal))){
                emailInput.addClass("ays-quiz-subscribe-email-error");
                thisParent.find(".ays-quiz-subscribe-email-error-message").css("visibility", "visible");
                thisParent.find(".ays-quiz-subscribe-email-error-message span.ays-quiz-subscribe-email-errors").text(quiz_maker_ajax.invalidEmailError);
            }
            else{
                flag = true;
            }
        }
        else{
            thisParent.find(".ays-quiz-subscribe-email-error-message").css("visibility", "visible");
            thisParent.find(".ays-quiz-subscribe-email-error-message span.ays-quiz-subscribe-email-errors").text(quiz_maker_ajax.emptyEmailError);
        }
        if(flag){
            thisParent.find(".ays-quiz-subscribe-email-loader").show();
            thisParent.find(".ays-quiz-subscribe-email-error-message").css("visibility", "hidden");
            $.ajax({
                url: quiz_maker_ajax.ajax_url,
                method: 'post',
                dataType: 'json',
                data: data,
                success: function (response) {
                    thisParent.find(".ays-quiz-subscribe-email-loader").hide();
                    var messageBox = thisParent.find(".ays-quiz-subscribe-email-success-message").clone(true, true);
                    messageBox.css("display" , "flex");
                    if(response.status){
                        messageBox.find(".ays-quiz-subscribe-email-success-message-true").css("display" , "block");
                    }
                    else{
                        messageBox.find(".ays-quiz-subscribe-email-success-message-false").css("display" , "block");
                    }
                    messageBox.find(".ays-quiz-subscribe-email-success-message-text").text(response.message);
                    thisParent.find(".ays-quiz-subscribe-email-page-box").css("width","initial").html(messageBox);
                }
            });
        }
    });

    $(document).find('#ays_quiz_create_author').select2({
        placeholder: quiz_maker_ajax.selectUser,
        minimumInputLength: 1,
        allowClear: true,
        language: {
            // You can find all of the options in the language files provided in the
            // build. They all must be functions that return the string that should be
            // displayed.
            searching: function() {
                return quiz_maker_ajax.searching;
            },
            inputTooShort: function () {
                return quiz_maker_ajax.pleaseEnterMore;
            }
        },
        ajax: {
            url: quiz_maker_ajax.ajax_url,
            dataType: 'json',
            data: function (response) {
                var checkedUsers = $(document).find('#ays_quiz_create_author').val();
                return {
                    action: 'ays_quiz_author_user_search',
                    search: response.term,
                    val: checkedUsers,
                };
            },
        }
    });

    function ays_show_results(e, this_element, where){        
        if($(e.target).hasClass('ays_confirm_del') || $(e.target).hasClass('ays_result_delete')){
            
        }else{
            e.preventDefault();
            $(document).find('div.ays-quiz-preloader').css('display', 'flex');
            $(document).find('#ays-results-modal').aysModal('show');
            let result_id = this_element.data('result');
            let action = 'ays_show_results';
            $.ajax({
                url: quiz_maker_ajax.ajax_url,
                method: 'post',
                dataType: 'json',
                data: {
                    result: result_id,
                    action: action
                },
                success: function(response){
                    if(response.status === true){
                        $('div#ays-results-body').html(response.rows);
                        $(document).find('div.ays-quiz-preloader').css('display', 'none');
                        if($(this_element).parents('tr').hasClass('ays_read_result')){
                            $(this_element).parents('tr').removeClass('ays_read_result');
                            $(this_element).parents('tr').find('a.ays-show-results').css('font-weight', 'initial');
                            $(document).find('.ays_results_bage').each(function(){
                                $(this).text(parseInt($(this).text())-1);
                                if(parseInt($(this).text()) == 0){
                                    $(this).remove();
                                }
                            });
                        }
                    }else{
                        swal.fire({
                            type: 'info',
                            html: "<h2>Can't load resource.</h2><br><h4>Maybe the data has been deleted.</h4>",
                            
                        }).then( function(res) {
                            $(document).find('div.ays-quiz-preloader').css('display', 'none');
                            if($(this_element).parents('tr').hasClass('ays_read_result')){
                                $(this_element).parents('tr').removeClass('ays_read_result');
                                $(this_element).parents('tr').find('a.ays-show-results').css('font-weight', 'initial');
                                $(document).find('.ays_results_bage').each(function(){
                                    $(this).text(parseInt($(this).text())-1);
                                    if(parseInt($(this).text()) == 0){
                                        $(this).remove();
                                    }
                                });
                            }
                            $(document).find('#ays-results-modal').aysModal('hide');
                        });
                    }
                },
                error: function(){
                    swal.fire({
                        type: 'info',
                        html: "<h2>Can't load resource.</h2><br><h6>Maybe the data has been deleted.</h46>"
                    }).then( function(res) {
                        $(document).find('div.ays-quiz-preloader').css('display', 'none');
                        if($(this_element).parents('tr').hasClass('ays_read_result')){
                            $(this_element).parents('tr').removeClass('ays_read_result');
                            $(this_element).parents('tr').find('a.ays-show-results').css('font-weight', 'initial');                        
                            $(document).find('.ays_results_bage').each(function(){
                                $(this).text(parseInt($(this).text())-1);
                                if(parseInt($(this).text()) == 0){
                                    $(this).remove();
                                }
                            });
                            // $(document).find('.ays_results_bage').text(
                            //     parseInt($(document).find('.ays_results_bage').text())-1
                            // );
                            // if(parseInt($(document).find('.ays_results_bage').text()) == 0){
                            //     $(document).find('.ays_results_bage').remove();
                            // }
                        }
                        $(document).find('#ays-results-modal').aysModal('hide');
                    });
                }
            });
        }
    }

    function deactivate_questions() {
        if ($('.active_question').length !== 0) {
            var question = $('.active_question').eq(0);
            if(!$(question).find('input[name^="ays_answer_radio"]:checked').length){
                $(question).find('input[name^="ays_answer_radio"]').eq(0).attr('checked',true)
            }
            $(question).find('.ays_add_answer').parents().eq(1).addClass('show_add_answer');
            $(question).find('.fa.fa-times').parent().removeClass('active_remove_answer').addClass('show_remove_answer');

            var question_text = $(question).find('.ays_question_input').val();
            $(question).find('.ays_question_input').remove();
            $(question).prepend('<p class="ays_question">' + question_text + '</p>');
            var answers_tr = $(question).find('.ays_answers_table tr');
            for (var i = 0; i < answers_tr.length; i++) {
                var answer_text = ($(answers_tr.eq(i)).find('.ays_answer').val()) ? $(answers_tr.eq(i)).find('.ays_answer').val() : '';
                $(answers_tr.eq(i)).find('.ays_answer_td').empty();
                let answer_html = '<p class="ays_answer">' + answer_text + '</p>'+((answer_text == '')?'<p>Answer</p>':'');
                $(answers_tr.eq(i)).find('.ays_answer_td').append(answer_html)
            }
            $('.active_question').find('.ays_question_overlay').removeClass('display_none');
            $('.active_question').removeClass('active_question');
        }
    }    
    
    function show_hide_rows(page) {
        let rows = $('table.ays-questions-table tbody tr');
        rows.each(function (index) {
            $(this).css('display', 'none');
        });
        let counter = page * 5 - 4;
        for (let i = counter; i < (counter + 5); i++) {
            rows.eq(i - 1).css('display', 'table-row');
        }
    }

    function createPagination(pagination, pagesCount, pageShow) {
        (function (baseElement, pages, pageShow) {
            let pageNum = 0, pageOffset = 0;

            function _initNav() {
                let appendAble = '';
                for (let i = 0; i < pagesCount; i++) {
                    let activeClass = (i === 0) ? 'active' : '';
                    appendAble += '<li class="' + activeClass + ' button ays-question-page" data-page="' + (i + 1) + '">' + (i + 1) + '</li>';
                }
                $('ul.ays-question-nav-pages').html(appendAble);
                let pagePos = ($('div.ays-question-pagination').width()/2) - (parseInt($('ul.ays-question-nav-pages>li:first-child').css('width'))/2);
                $('ul.ays-question-nav-pages').css({
                    'margin-left': pagePos,
                });
                //init events
                let toPage;
                let pagesCountExists = $('ul.ays-question-nav-pages li').length;
                baseElement.on('click', '.ays-question-nav-pages li, .ays-question-nav-btn', function (e) {
                    if ($(e.target).is('.ays-question-nav-btn')) {
                        toPage = $(this).hasClass('ays-question-prev') ? pageNum - 1 : pageNum + 1;
                    } else {
                        toPage = $(this).index();
                    }
                    let page = Number(toPage) + 1;
                    
                    if(page > pagesCountExists){
                        page = pagesCountExists;
                    }
                    if(page <= 0){
                        page = 1;
                    }
                    show_hide_rows(page);
                    _navPage(toPage);
                });
            }

            function _navPage(toPage) {
                let sel = $('.ays-question-nav-pages li', baseElement), w = sel.first().outerWidth(),
                    diff = toPage - pageNum;

                if (toPage >= 0 && toPage <= pages - 1) {
                    sel.removeClass('active').eq(toPage).addClass('active');
                    pageNum = toPage;
                } else {
                    return false;
                }

                if (toPage <= (pages - (pageShow + (diff > 0 ? 0 : 1))) && toPage >= 0) {
                    pageOffset = pageOffset + -w * diff;
                } else {
                    pageOffset = (toPage > 0) ? -w * (pages - pageShow) : 0;
                }
                sel.parent().css('left', pageOffset + 'px');
            }

            _initNav();

        })(pagination, pagesCount, pageShow);
    }

    /**
     * @return {string}
     */
    function aysEscapeHtml(text) {
        var map = {
            '&': '&amp;',
            '<': '&lt;',
            '>': '&gt;',
            '"': '&quot;',
            "'": '&#039;'
        };
        if ( typeof text !== 'undefined' ) {
            return text.replace(/[&<>\"']/g, function(m) { return map[m]; });
        }
    }
    
})( jQuery );

Youez - 2016 - github.com/yon3zu
LinuXploit