Initial Commit
This commit is contained in:
345
views/legacy/signup/pricing-table/coupon-code.php
Normal file
345
views/legacy/signup/pricing-table/coupon-code.php
Normal file
@ -0,0 +1,345 @@
|
||||
<?php
|
||||
/**
|
||||
* Coupon code view.
|
||||
*
|
||||
* @since 2.0.0
|
||||
*/
|
||||
?>
|
||||
<?php
|
||||
|
||||
if (isset($_GET['coupon']) && wu_get_coupon($_GET['coupon']) !== false && isset($_GET['step']) && $_GET['step'] == 'plan') :
|
||||
|
||||
|
||||
$coupon = wu_get_coupon($_GET['coupon']);
|
||||
|
||||
?>
|
||||
|
||||
<div id="coupon-code-app">
|
||||
</div>
|
||||
<script>
|
||||
(function($) {
|
||||
|
||||
var coupon_app = new Vue({
|
||||
el: "#coupon-code-app",
|
||||
data: {
|
||||
coupon_id: '',
|
||||
coupon: '<?php echo json_encode($coupon); ?>',
|
||||
type : '<?php echo json_encode(get_post_meta($coupon->id, 'wpu_type', true)); ?>',
|
||||
value : parseFloat(<?php echo json_encode(get_post_meta($coupon->id, 'wpu_value', true)); ?>),
|
||||
applies_to_setup_fee : <?php echo json_encode(get_post_meta($coupon->id, 'wpu_applies_to_setup_fee', true)); ?>,
|
||||
setup_fee_discount_value : parseFloat(<?php echo json_encode(get_post_meta($coupon->id, 'wpu_setup_fee_discount_value', true)); ?>),
|
||||
setup_fee_discount_type : '<?php echo json_encode(get_post_meta($coupon->id, 'wpu_setup_fee_discount_type', true)); ?>',
|
||||
allowed_plans : '<?php echo json_encode(get_post_meta($coupon->id, 'wpu_allowed_plans', true)); ?>',
|
||||
allowed_freqs : '<?php echo json_encode(get_post_meta($coupon->id, 'wpu_allowed_freqs', true)); ?>',
|
||||
success: false,
|
||||
},
|
||||
mounted: function() {
|
||||
|
||||
this.apply_coupon();
|
||||
this.add_event_tabs();
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
add_event_tabs: function() {
|
||||
|
||||
$('.wu-plans-frequency-selector li a').each(function() {
|
||||
|
||||
this.addEventListener('click',function() {
|
||||
coupon_app.apply_coupon();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
|
||||
apply_coupon: function() {
|
||||
|
||||
if(this.coupon) {
|
||||
|
||||
$("body").block({
|
||||
message: null,
|
||||
overlayCSS: {
|
||||
background: "#F1F1F1",
|
||||
opacity: 0.6
|
||||
}
|
||||
});
|
||||
|
||||
this.coupon_id = this.coupon.id;
|
||||
|
||||
var coupon_type = this.type;
|
||||
|
||||
var coupon_value = this.value;
|
||||
|
||||
var applies_to_setup_fee = this.applies_to_setup_fee;
|
||||
var setup_fee_discount_value = this.setup_fee_discount_value;
|
||||
var setup_fee_discount_type = this.setup_fee_discount_type;
|
||||
var allowed_plans = $.parseJSON(this.allowed_plans);
|
||||
var allowed_freqs = $.parseJSON(this.allowed_freqs);
|
||||
|
||||
//$('#signupform').append($('#coupon_id'));
|
||||
|
||||
$('.superscript').show();
|
||||
$('h5 sub').show();
|
||||
|
||||
setTimeout( function() { $('.wu-plan').each(function() {
|
||||
|
||||
if (!$(this).find('.old-price').get(0)) {
|
||||
|
||||
$(this).find('h4').after('<div class="old-price">--</div>');
|
||||
|
||||
} // end if;
|
||||
|
||||
let plan_id = $(this).data('plan');
|
||||
|
||||
let is_allowed_plan = false;
|
||||
|
||||
let is_allowed_freq = false;
|
||||
|
||||
// check plan is_allowed
|
||||
if (typeof allowed_plans === 'object'){
|
||||
|
||||
for (var each_plan of allowed_plans) {
|
||||
|
||||
if (parseInt(each_plan) == plan_id) {
|
||||
is_allowed_plan = true;
|
||||
}
|
||||
|
||||
} // end for;
|
||||
|
||||
} else {
|
||||
is_allowed_plan = true;
|
||||
}
|
||||
|
||||
// check freq is_allowed
|
||||
|
||||
if (typeof allowed_freqs === 'object'){
|
||||
|
||||
for (var each_freq of allowed_freqs) {
|
||||
|
||||
if (each_freq == $('#wu_plan_freq').val()) {
|
||||
is_allowed_freq = true;
|
||||
}
|
||||
|
||||
} // end for;
|
||||
|
||||
} else {
|
||||
is_allowed_freq = true;
|
||||
}
|
||||
|
||||
if (!is_allowed_plan) {
|
||||
|
||||
$("body").unblock();
|
||||
return;
|
||||
|
||||
} // end if;
|
||||
|
||||
if (!is_allowed_freq) {
|
||||
|
||||
$("body").unblock();
|
||||
$(".old-price").hide();
|
||||
$(".off-value").hide();
|
||||
return;
|
||||
|
||||
} else {
|
||||
|
||||
$(".old-price").show();
|
||||
$(".off-value").show();
|
||||
|
||||
}
|
||||
|
||||
let old_price = $(this).data('price-' + $('#wu_plan_freq').val());
|
||||
|
||||
old_price = wu_fix_money_string(old_price);
|
||||
|
||||
let new_price = 0;
|
||||
|
||||
let old_yearly_value = old_price * jQuery('#wu_plan_freq').val();
|
||||
|
||||
let new_yearly_value = 0;
|
||||
|
||||
let old_setupfee = $(this).find('.pricing-table-setupfee') ? $(this).find('.pricing-table-setupfee').attr('data-value') : 0;
|
||||
|
||||
let new_setupfee = 0;
|
||||
|
||||
let off_with_symbol = '';
|
||||
|
||||
// OFF RENDER
|
||||
if (coupon_type != '"absolute"')
|
||||
off_with_symbol = ''.concat(coupon_value, '%');
|
||||
else
|
||||
off_with_symbol = accounting.formatMoney(parseFloat(coupon_value));
|
||||
|
||||
$(this).find('.old-price').html(accounting.formatMoney(parseFloat(old_price)));
|
||||
if (!$(this).find('.off-value').get(0)) {
|
||||
|
||||
$(this).find('.old-price').after('<div class="off-value">(' + off_with_symbol + ' ' + '<?php _e('OFF', 'wp-ultimo'); ?>' + ')</div>');
|
||||
|
||||
}
|
||||
|
||||
if(applies_to_setup_fee) {
|
||||
|
||||
if (setup_fee_discount_type != '"absolute"')
|
||||
setupfee_off_with_symbol = ''.concat(setup_fee_discount_value, '%');
|
||||
else
|
||||
setupfee_off_with_symbol = accounting.formatMoney(parseFloat(setup_fee_discount_value));
|
||||
|
||||
if (!$(this).find('.setupfee-off-value').get(0)) {
|
||||
|
||||
$(this).find('.pricing-table-setupfee').after('<span class="setupfee-off-value"> (' + setupfee_off_with_symbol + ' ' + '<?php _e('OFF', 'wp-ultimo'); ?>' + ')</span>');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// END OFF RENDER
|
||||
|
||||
if(coupon_type != '"absolute"') {
|
||||
|
||||
new_price = old_price * ((100 - coupon_value) / 100);
|
||||
|
||||
new_yearly_value = old_yearly_value * ((100 - coupon_value) / 100);
|
||||
|
||||
} else {
|
||||
|
||||
if(jQuery('#wu_plan_freq').val() > 1){
|
||||
|
||||
new_price = ((old_price * jQuery('#wu_plan_freq').val()) - parseFloat(coupon_value)) / jQuery('#wu_plan_freq').val();
|
||||
|
||||
new_yearly_value = old_yearly_value - parseFloat(coupon_value);
|
||||
|
||||
} else {
|
||||
|
||||
new_price = old_price - parseFloat(coupon_value);
|
||||
|
||||
new_yearly_value = old_yearly_value - parseFloat(coupon_value);
|
||||
|
||||
}
|
||||
|
||||
} // end if;
|
||||
|
||||
if (applies_to_setup_fee) {
|
||||
|
||||
if (setup_fee_discount_type != '"absolute"') {
|
||||
|
||||
new_setupfee = old_setupfee * ((100 - setup_fee_discount_value) / 100);
|
||||
|
||||
} else {
|
||||
|
||||
new_setupfee = old_setupfee - parseFloat(setup_fee_discount_value);
|
||||
|
||||
} // end if;
|
||||
|
||||
} else {
|
||||
|
||||
new_setupfee = old_setupfee;
|
||||
|
||||
} // end if;
|
||||
|
||||
if (new_yearly_value > 0) {
|
||||
|
||||
wu_set_yearly_value(this, new_yearly_value);
|
||||
|
||||
} else {
|
||||
|
||||
$(this).find('.total-price.total-price-' + $('#wu_plan_freq').val() ).html(' <?php esc_js(_e('Free!', 'wp-ultimo')); ?>');
|
||||
|
||||
}
|
||||
|
||||
if (new_setupfee > 0) {
|
||||
|
||||
wu_set_setupfee_value(this, new_setupfee);
|
||||
|
||||
} else {
|
||||
|
||||
$(this).find('.pricing-table-setupfee').html(' <?php esc_js(_e('No Setup Fee', 'wp-ultimo')); ?>');
|
||||
|
||||
}
|
||||
|
||||
if (new_price > 0) {
|
||||
|
||||
$(this).find('.plan-price').html( accounting.formatMoney( parseFloat(new_price) ) );
|
||||
|
||||
if ( $(this).find('.plan-price').html().indexOf(wpu.currency_symbol) !== -1 ) {
|
||||
|
||||
$(this).find('.plan-price').html($(this).find('.plan-price').html().replace(wpu.currency_symbol, ''));
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
let plan_price = $(this).find('.plan-price');
|
||||
plan_price.html(' <?php esc_js(_e('Free!', 'wp-ultimo')); ?>');
|
||||
let hagacinco = $(this).find('h5');
|
||||
hagacinco.find('sub').hide();
|
||||
hagacinco.find('.superscript').hide();
|
||||
|
||||
}
|
||||
|
||||
$("body").unblock();
|
||||
|
||||
}); }, 400);
|
||||
|
||||
|
||||
} else {
|
||||
|
||||
$('.old-price').hide();
|
||||
|
||||
this.coupon_id = '';
|
||||
|
||||
$('.wu-plan').each(function() {
|
||||
|
||||
var price = $(this).data('price-' + $('#wu_plan_freq').val());
|
||||
|
||||
$(this).find('.plan-price').html( price );
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
|
||||
function wu_fix_money_string(value) {
|
||||
|
||||
if(typeof value == 'number'){
|
||||
value = value.toString();
|
||||
}
|
||||
|
||||
return parseFloat(value.replace(wpu.thousand_separator, '').replace(wpu.decimal_separator, '.'));
|
||||
|
||||
}
|
||||
|
||||
function wu_set_setupfee_value(list, value) {
|
||||
|
||||
jQuery(list).find('.pricing-table-setupfee').html( accounting.formatMoney(value));
|
||||
|
||||
}
|
||||
|
||||
function wu_set_yearly_value(list, value) {
|
||||
|
||||
var current_freq = jQuery('#wu_plan_freq').val();
|
||||
|
||||
var string = jQuery(list).find('.total-price.total-price-' + current_freq).html();
|
||||
|
||||
if (string) {
|
||||
|
||||
var parts = string.split(',');
|
||||
|
||||
var result = accounting.formatMoney(parseFloat(value)) + ', ' + parts[1];
|
||||
|
||||
jQuery(list).find('.total-price.total-price-' + current_freq).html(result);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<?php
|
||||
endif;
|
||||
// wp_enqueue_style('wub-checkout', WP_Ultimo_Billwerk()->get_asset('checkout.min.css', 'css'), false); ?>
|
Reference in New Issue
Block a user