var softaculous_pro_show_themes_loaded = 0; jQuery(document).ready(function(){ let url = new URL(window.location.href); let step = url.searchParams.get('step'); if(step === 'import_theme'){ jQuery('.softaculous-pro-wizard-sidebar').addClass('compact'); jQuery('.softaculous-pro-setup-logo').hide(); jQuery('.active_step').find('span').css('min-width', '0'); if(!softaculous_pro_show_themes_loaded){ softaculous_pro_show_themes(); } } var feature_holder = jQuery('.softaculous-pro-features'); feature_holder.each(function(){ var feature_checked = jQuery(this).find('input').is(":checked"); if(feature_checked){ jQuery(this).addClass("feature-border"); } }); feature_holder.click(function(){ var feature_disabled = jQuery(this).find('input').is(":disabled"); if(feature_disabled && !jQuery(this).hasClass("spro-erro")){ var selected_erro = jQuery(this).find('input').attr('spro-erro'); const para = $('
'+selected_erro+'
').css('color', 'red'); jQuery(this).find('.softaculous-pro-features-text').find('p').replaceWith(para); jQuery(this).addClass("spro-erro"); } }); if(jQuery('.softaculous-pro-wizard').length > 0){ window.addEventListener('popstate', function(event){ // Get the current URL let url = new URL(window.location.href); let step = url.searchParams.get('step'); if(step){ softaculous_pro_set_active_step(step); } }); } }); function softaculous_pro_set_active_step(step) { // Active Tab jQuery('.softaculous-pro-steps-holder ol li').removeClass('active_step'); if(step ==='import_theme'){ jQuery('.softaculous-pro-steps-holder ol li [data-step="'+step+'"]').closest('li').addClass('active_step'); jQuery('.softaculous-pro-wizard-sidebar').addClass('compact'); jQuery('.softaculous-pro-setup-logo').hide(); jQuery('.active_step').find('span').css('min-width', '0'); }else{ jQuery('.softaculous-pro-steps-holder ol li [data-step="'+step+'"]').closest('li').addClass('active_step'); } // Active Panel jQuery('.softaculous-pro-wizard .softaculous-pro-wizard-content').attr('data-active-panel', step); } function softaculous_pro_next_handler(element) { var ele = jQuery(element); var nextStep = ele.data('step'); var currentStep = ele.closest('[data-panel]').data('panel'); // Save the current URL let currentUrl = window.location.href; if(currentStep === 'welcome'){ if(jQuery("#onboarding_done_confirm").length > 0 && !jQuery("#onboarding_done_confirm").is(":checked")){ alert("Please confirm that you accept data loss since you have already run the onboarding process previously"); return false; } } // Get the current URL let url = new URL(currentUrl); // Add a query parameter url.searchParams.set('step', nextStep); // Replace the current URL without refreshing the page window.history.pushState({ path: currentUrl }, '', url); softaculous_pro_set_active_step(nextStep); jQuery('.softaculous-pro-steps-holder ol li').removeClass('active_step'); jQuery('.softaculous-pro-steps-holder ol li [data-step="'+nextStep+'"]').closest('li').addClass('active_step'); var post_data = null; if(currentStep === 'type'){ var active_step = jQuery('.active_category').children('input').val(); if(active_step === 'Others'){ post_data = jQuery('.softaculous-pro-category-input').children('input').val(); } else{ post_data = active_step; } } if(currentStep === 'title'){ var site_input = jQuery('.softaculous-pro-title-input'); var new_site_title = site_input.children('input').val(); post_data = new_site_title ; } if(currentStep === 'features'){ var selected_feats = []; var feature_holder = jQuery('.softaculous-pro-features'); feature_holder.each(function(){ var feature_checked = jQuery(this).find('input').is(":checked"); if(feature_checked){ var selected_feat = jQuery(this).attr('data-slug'); selected_feats.push(selected_feat); } }); post_data = selected_feats; } if(nextStep === 'import_theme'){ if(!softaculous_pro_show_themes_loaded){ softaculous_pro_show_themes(); } } if(post_data){ jQuery.ajax({ type: 'post', url: soft_pro_obj.ajax_url, data: { action: 'softaculous_pro_setup_info', step: currentStep, softaculous_pro_nonce: softaculous_pro_ajax_nonce, data: post_data, }, success: function (response) {}, }); } } function softaculous_pro_prev_handler(element) { var ele = jQuery(element); var currentStep = ele.closest('[data-panel]').data('panel'); var prevStep = ele.data('step'); let currentUrl = window.location.href; let url = new URL(currentUrl); url.searchParams.set('step', prevStep); window.history.pushState({ path: currentUrl }, '', url); softaculous_pro_set_active_step(prevStep); jQuery('.softaculous-pro-steps-holder ol li').removeClass('active_step'); jQuery('.softaculous-pro-steps-holder ol li [data-step="'+prevStep+'"]').closest('li').addClass('active_step'); } function softaculous_pro_selected_features(element) { var ele_parent = jQuery(element).parent().parent(); if(jQuery(element).is(":checked")){ ele_parent.addClass("feature-border"); }else{ ele_parent.removeClass("feature-border"); } } function softaculous_pro_modal(sel){ var page_names = []; jQuery('.softaculous_pro_img_screen').each(function() { var is_selected = jQuery(this).find('input').is(':checked'); if(is_selected){ var page_name = jQuery(this).attr('page-name'); } page_names.push(page_name); }); page_names.forEach(function(value) { var input = jQuery('').attr('type', 'hidden').attr('name', 'to_import[]').val(value); jQuery('#softaculous-pro-import-form').append(input); }); if(page_names.length == 0){ alert("Please select atleast one page to import"); } else{ jQuery('#softaculous-pro-templates-holder').hide(); var modal = jQuery(sel); modal.show(); modal.find('.softaculous-pro-done').hide(); modal.find('.softaculous-pro-import').show(); var spro_temp_form_data = jQuery('#softaculous-pro-import-form').serialize(); softaculous_pro_handle_templates(spro_temp_form_data); } } function softaculous_pro_handle_templates(spro_temp_form_data){ jQuery('#softaculous-pro-templates-holder').remove(); jQuery('#SproTemplatesModal').hide(); var message = 'Checking the requirements ...'; softaculous_pro_create_html(message, 10, true); // Start progress at 1% jQuery.ajax({ url: softaculous_pro_ajax_url+'action=softaculous_pro_start_install_template', type: 'POST', data: spro_temp_form_data+'&softaculous_pro_nonce='+softaculous_pro_ajax_nonce, success: function(response){ if(!response.success && response.data && response.data.form){ softaculous_handle_ftp_form(response.data.form, spro_temp_form_data); return; } // Install plugin gives too much output, hence match the data var data = response.match(/