HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux aritmodecarnaval.es 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: www-data (33)
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: /home/www/aritmodecarnaval/wp-content/plugins/photo-gallery-ecommerce/js/checkoutform.js
////////////////////////////////////////////////////////////////////////////////////////
// Events                                                                             //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Constants                                                                          //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Variables                                                                          //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Constructor                                                                        //
////////////////////////////////////////////////////////////////////////////////////////

Stripe.setPublishableKey(publishable_key);

function showErrorMsg(msg){
	var jq_alert = jQuery(".pge_checkout_alert_incorrect_data");
	if (jq_alert.is(":visible") == false) {
		jq_alert
			.show()
			.slideUp(0)
			.slideDown(250);
	} else {
		jq_alert
			.fadeOut(100)
			.fadeIn(100);
	}
	jQuery(".pge_checkout_alert_incorrect_data").html(msg);
}

function checkFormData(step){
	jQuery(".form_row").removeClass("has-error");
	jQuery(".form_row").find("input").removeClass("has-error");
	jQuery(".pge_checkout_alert_incorrect_data").hide();
	
	switch(step){
		case "pge_shipping_billing_info":
			if(validateEmail(jQuery("[name=billing_data_email]").val()) == false){
				showErrorMsg("Invalid email address.");
				jQuery("[name=billing_data_email]").addClass("has-error");
				return false;			
			}
			break;
	
	}
	var flag = true;
	jQuery(".pge_shipping_billing_info [data-pge-required]").each(function(){
		if(jQuery(this).val() == ""){
			showErrorMsg("Please fill required fields.");
			jQuery(this).addClass("has-error");
			flag = false;
			return;
		}
	});

	return flag;

}

function stripeResponseHandler(status, response) {
    if (response.error) {		
		// show errors returned by Stripe  
        showErrorMsg(response.error.message);        
		if(response.error.param == 'exp_month' || response.error.param == 'exp_year' ){
			jQuery('.card-expiry').addClass("has-error");
            showErrorMsg("Your card's exp. date is invalid. ");
		}
		if(response.error.param == 'number'){
			jQuery('.card-number').addClass("has-error");           
		}
		if(response.error.param == 'cvc'){
			jQuery('.card-cvc').addClass("has-error"); 
 
		}
		
		// re-enable the submit button
		jQuery('[name=checkout]').attr("disabled", false);
      
    } else {
        var form$ = jQuery("#pge_order_form");
        // token contains id, last4, and card type
        var token = response['id'];
		
        // insert the token into the form so it gets submitted to the server
        form$.append("<input type='hidden' name='stripeToken' value='" + token + "'/>");
        // and submit

        jQuery("#pge_order_form").submit();
    }
}

function submitCheckoutForm(obj,event){
	var paymetMethod = jQuery("[name=payment_method]").val();
	var step = jQuery(obj).closest(".pge_checkout_step").attr("data-step");
    
    jQuery(".form_row").removeClass("has-error");
    jQuery(".form_row").find("input").removeClass("has-error");
    if( jQuery("[name=accept_terms]").length>0 && jQuery("[name=accept_terms]").prop("checked") == false){
        showErrorMsg("Please fill required fields.");
        jQuery("[name=accept_terms]").closest(".form_row").addClass("has-error");
        return false;		
    }
    
	if(paymetMethod == "without_online_payment" || (paymetMethod == "paypalexpress" && Number(skipExprresForm) == 0)){
		var flag = checkFormData(step);
        if(flag == false ){
            return false;	
        }
        jQuery("#pge_order_form").submit();						
	}
    else if(paymetMethod == "paypalexpress" && skipExprresForm == "1"){
        jQuery("#pge_order_form").submit();	
    }    
	else if(paymetMethod == "stripe"){

		var flag = true;
		jQuery(".pge_credit_cart_details [data-pge-required]").each(function(){
			if(jQuery(this).val() == ""){
				showErrorMsg("Please fill required fields.");
				jQuery(this).addClass("has-error");					
				flag = false;
				return;
			}
		});

		if(flag == true){
			// disable the submit button to prevent repeated clicks
			jQuery('[name=checkout]').attr("disabled", "disabled");
			var expiry = jQuery('.card-expiry').val();
			expiry = expiry.split("/");
			// send the card details to Stripe
			Stripe.createToken({
				name: jQuery('.card-name').val(),						
				number: jQuery('.card-number').val(),
				cvc: jQuery('.card-cvc').val(),
				exp_month: Number(expiry[0]),
				exp_year: Number(expiry[1]),
				address_line1: jQuery('.address-line1').val(),
				address_line2: jQuery('.address-line2').val(),
				address_city: jQuery('.address-city').val(),
				address_state: jQuery('.address-state').val(),
				address_zip: jQuery('.address-zip').val(),
				address_country: jQuery('.address-country').val()			
			}, stripeResponseHandler);

		}
	}


}

jQuery(document).ready(function($) {
	
	jQuery(".pge_payment_btn").click(function(){
		if(Number(jQuery("[name=pge_product_price]").val()) < 0){
			jQuery(".pge_img").html("Invalid price.");
			return false;
		}
		var paymetMethod = jQuery(this).attr("data-payment-method");		
		jQuery("[name=payment_method]").val(paymetMethod);

        if(licensing == 0 && paymetMethod == "paypalexpress" && skipExprresForm == "1"){
            jQuery("#pge_order_form").submit();
        }
        else{
            jQuery(".pge_checkout_form_wrap_opacity").show();		
            var data = {
                'action': 'display_checkout_form',
                'task': 'display_checkout_form',
                'controller': 'checkout',
                "payment_method": paymetMethod
                
            };		
            jQuery.post(ajaxURL, data, function(response) {
                
                jQuery('.pge_checkout_form_wrap').html(response);			
                jQuery(".pge_checkout_form_wrap").show();
            
            });
        }
	});	
	
	
	
});

function validateEmail(email) {
    var re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
    return re.test(email);
}


////////////////////////////////////////////////////////////////////////////////////////
// Public Methods                                                                     //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Getters & Setters                                                                  //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Private Methods                                                                    //
////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////
// Listeners                                                                          //
////////////////////////////////////////////////////////////////////////////////////////