1jQuery(document).bind('formcraft_math_change', function(event, form){ 2 setTimeout(function() { 3 form.find('.paypal-cover table').each(function(){ 4 paypal = jQuery(this); 5 symbol = paypal.attr('data-symbol'); 6 total = 0; 7 thousand = jQuery(this).parents('.fc-form').attr('data-thousand'); 8 jQuery(this).find('.pp-items').each(function(){ 9 10 var new_name = jQuery(this).find('.pp-sub-item').text(); 11 var new_qty = jQuery(this).find('.pp-sub-qty').text(); 12 var new_total = jQuery(this).find('.pp-sub-total').text().replace(thousand, ''); 13 var index = jQuery(this).attr('data-index'); 14 15 new_total = isNaN(parseFloat(new_total)) ? 0 : new_total; 16 17 new_qty = isNaN(parseFloat(new_qty)) ? 0 : new_qty; 18 new_total = parseFloat(new_total) / parseFloat(new_qty); 19 20 form.parents('.form-live').find('.paypal-form').find('.pp-final-name-'+index).val(new_name); 21 form.parents('.form-live').find('.paypal-form').find('.pp-final-qty-'+index).val(new_qty); 22 form.parents('.form-live').find('.paypal-form').find('.pp-final-amount-'+index).val(new_total); 23 }); 24 jQuery(this).find('.pp-sub-total').each(function(){ 25 number = isNaN(parseFloat(jQuery(this).text().replace(thousand, ''))) ? 0 : parseFloat(jQuery(this).text().replace(thousand, '')); 26 total = (parseFloat(total) + parseFloat(number)).toString().replace(/\B(?=(\d{3})+(?!\d))/g, thousand); 27 paypal.parents('.paypal-cover').find('.pp-total').text(symbol+total); 28 }); 29 setTimeout(function(){ 30 form.parents('.form-live').find('.paypal-form').find('[name="a3"]').val(form.find('.pp-subs-price').val()); 31 }, 100); 32 }); 33 }, 750) 34}); 35 36jQuery(document).bind('formcraft_submit_trigger', function(event, form, data, abort){ 37 form.attr('paypal-hidden', form.find('.form-element-type-PayPal.state-hidden').length) 38}) 39jQuery(document).bind('formcraft_submit_result', function(event, form, response){ 40 if ( form.parents('.form-live').find('.paypal-form').length > 0 && form.attr('paypal-hidden') == '0' ) 41 { 42 if ( response.redirect ) 43 { 44 form.parents('.form-live').find('.paypal-form').append('<input type="hidden" name="return" value="'+response.redirect+'">'); 45 delete response.redirect; 46 } 47 form.parents('.form-live').find('.paypal-form').append('<input type="hidden" name="custom" value="'+response.submission_id+'">'); 48 var length = form.find('.pp-items').length; 49 form.find('.pp-items').each(function(x){ 50 var amount = form.parents('.form-live').find('.paypal-form').find('.pp-final-qty-'+(x+1)).val(); 51 if (amount==0) { 52 form.parents('.form-live').find('.paypal-form').find('[name="'+'item_id_'+(x+1)+'"]').remove(); 53 form.parents('.form-live').find('.paypal-form').find('.pp-final-name-'+(x+1)).remove(); 54 form.parents('.form-live').find('.paypal-form').find('.pp-final-qty-'+(x+1)).remove(); 55 form.parents('.form-live').find('.paypal-form').find('.pp-final-amount-'+(x+1)).remove(); 56 var a = x + 2 57 while (a <= length) { 58 console.log(a); 59 form.parents('.form-live').find('.paypal-form').find('[name="'+'item_id_'+a+'"]').attr('name','item_id_'+(a-1)); 60 form.parents('.form-live').find('.paypal-form').find('[name="'+'item_name_'+a+'"]').attr('name','item_name_'+(a-1)); 61 form.parents('.form-live').find('.paypal-form').find('[name="'+'quantity_'+a+'"]').attr('name','quantity_'+(a-1)); 62 form.parents('.form-live').find('.paypal-form').find('[name="'+'amount_'+a+'"]').attr('name','amount_'+(a-1)); 63 a++; 64 } 65 } 66 }) 67 form.parents('.form-live').find('.paypal-form').trigger('submit'); 68 } 69}); 70jQuery(document).ready(function(){ 71 jQuery('.fc-form').each(function(){ 72 form = jQuery(this); 73 if ( form.find('.paypal-cover').length!=0 ) { 74 table = form.find('.paypal-cover table'); 75 cover = form.parents('.form-live'); 76 uniq = cover.attr('data-uniq'); 77 78 if ( table.attr('data-email').trim()=='' ) 79 { 80 if (typeof toastr!='undefined') { toastr["error"]("Error: PayPal Email is Required"); } 81 } 82 83 84 pp_url = table.attr('data-mode')=='sandbox' ? 'https://www.sandbox.paypal.com/cgi-bin/webscr' : 'https://www.paypal.com/cgi-bin/webscr'; 85 cover.append('<form class="paypal-form" id="pp-form-'+uniq+'" action="'+pp_url+'"></form>'); 86 pp_form = jQuery('#pp-form-'+uniq); 87 pp_form.append('<input type="hidden" name="upload" value="1">'); 88 pp_form.append('<input type="hidden" name="business" value="'+table.attr('data-email')+'">'); 89 pp_form.append('<input type="hidden" name="button_subtype" value="'+table.attr('data-type')+'">'); 90 pp_form.append('<input type="hidden" name="currency_code" value="'+table.attr('data-currency')+'">'); 91 pp_form.append('<input type="hidden" name="notify_url" value="'+FCPP.paypal_ipn+'">'); 92 if ( table.attr('data-pp-type')=='subscription' ) 93 { 94 pp_form.append('<input type="hidden" name="cmd" value="_xclick-subscriptions">');
95 pp_form.append('<input type="hidden" name="src" value="1">'); 96 pp_form.append('<input type="hidden" name="item_name" value="'+table.attr('data-s-description')+'">'); 97 pp_form.append('<input type="hidden" name="a3" value="'+form.find('.pp-subs-price').val()+'">'); 98 pp_form.append('<input type="hidden" name="p3" value="'+table.attr('data-s-every')+'">'); 99 pp_form.append('<input type="hidden" name="t3" value="'+table.attr('data-s-period')+'">'); 100 var frequency = parseInt(table.attr('data-s-frequency')); 101 if ( frequency!=0 && frequency>=2 && frequency<=52 ) 102 { 103 pp_form.append('<input type="hidden" name="srt" value="'+table.attr('data-s-frequency')+'">'); 104 } 105 } 106 else 107 { 108 pp_form.append('<input type="hidden" name="cmd" value="_cart">'); 109 var items = ''; 110 var i = 0; 111 table.find('.pp-items').each(function(){ 112 i++; 113 new_total = isNaN(parseFloat(jQuery(this).find('.pp-sub-total').text())) ? 0 : jQuery(this).find('.pp-sub-total').text(); 114 new_qty = isNaN(parseFloat(jQuery(this).find('.pp-sub-qty').text())) ? 0 : jQuery(this).find('.pp-sub-qty').text(); 115 new_total = parseFloat(new_total) / parseFloat(new_qty); 116 new_total = isNaN(parseFloat(new_total)) ? 0 : new_total; 117 items = items + "<input class='pp-final-name-"+i+"' type='hidden' name='item_name_"+i+"' value='"+jQuery(this).find('.pp-sub-item').text()+"'>"; 118 items = items + "<input class='pp-final-qty-"+i+"' type='hidden' name='quantity_"+i+"' value='"+jQuery(this).find('.pp-sub-qty').text()+"'>"; 119 items = items + "<input class='pp-final-amount-"+i+"' type='hidden' name='amount_"+i+"' value='"+new_total+"'>"; 120 items = items + "<input type='hidden' name='item_id_"+i+"' value='"+i+"'>"; 121 }); 122 pp_form.append(items); 123 } 124 } 125 }); 126});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.