Plugin Directory

Changeset 3415753


Ignore:
Timestamp:
12/09/2025 07:51:52 PM (3 months ago)
Author:
mycustomsoftware
Message:

clear code added additional float percent, In addition excluded calculation if fee is not checked.

Location:
recover-fees-for-gravity-forms
Files:
44 added
6 edited

Legend:

Unmodified
Added
Removed
  • recover-fees-for-gravity-forms/trunk/includes/Gf_Recovery_Fees.php

    r3239718 r3415753  
    1010class Gf_Recovery_Fees extends \GFAddOn
    1111{
    12     protected $_version = '1.0.3';
     12    protected $_version = '2.1.2';
    1313    protected $_min_gravityforms_version = '1.9';
    1414    protected $_slug = 'recover-fees-for-gravity-forms';
  • recover-fees-for-gravity-forms/trunk/js/recover-fees-for-gravity-forms-admin.min.js

    r3205958 r3415753  
    1 jQuery(function($){var b=recover_fees_for_gravity_forms_js_strings,c=a=>{SetFieldProperty('FixedFees',a);jQuery('.field_selected .gfield_fixedfees').val(a)},d=A=>{SetFieldProperty('PercentFees',A);jQuery('.field_selected .gfield_percentfees').val(A)},e=_=>{SetFieldProperty('RecoverFees',_);jQuery('.field_selected .gfield_recoverfees').prop('checked',_=='yes')};$(document).on('change','.forms_fixedfees',function(){c($(this).val())});$(document).on('change','.forms_percentfees',function(){d($(this).val())});$(document).on('change','.forms_recoverfees',function(){e($(this).is(':checked')?'yes':'no')});$(document).on('gform_field_added',function(B,C,_c){_c.type=='recoverfees'&&(b.fdllabel!==''&&($('[for="input_'+_c.id+'"]').text(b.fdllabel),_c.label=b.fdllabel),b.fdlfixed!==''&&(_c.FixedFees=b.fdlfixed),b.fdlpercent!==''&&(_c.PercentFees=b.fdlpercent))});$(document).on('gform_load_field_settings',function(_a,_b){_b.type=='recoverfees'&&(_b.FixedFees&&$('body').find('.forms_fixedfees').val(_b.FixedFees),_b.PercentFees&&$('body').find('.forms_percentfees').val(_b.PercentFees),_b.RecoverFees=='yes'&&$('body').find('.forms_recoverfees').prop('checked',!0))})});
     1jQuery(function($){let b=recover_fees_for_gravity_forms_js_strings,c=a=>{SetFieldProperty('FixedFees',a);jQuery('.field_selected .gfield_fixedfees').val(a)},d=A=>{SetFieldProperty('PercentFees',A);jQuery('.field_selected .gfield_percentfees').val(A)},e=_=>{SetFieldProperty('RecoverFees',_);jQuery('.field_selected .gfield_recoverfees').prop('checked',_=='yes')};$(document).on('change','.forms_fixedfees',function(B){c($(this).val())});$(document).on('change','.forms_percentfees',function(C){d($(this).val())});$(document).on('change','.forms_recoverfees',function(_a){e($(this).is(':checked')?'yes':'no')});$(document).on('gform_field_added',function(D,_b,_c){if(_c.type==='recoverfees'){b.fdllabel!==''&&($('[for="input_'+_c.id+'"]').text(b.fdllabel),_c.label=b.fdllabel);b.fdlfixed!==''&&(_c.FixedFees=b.fdlfixed);b.fdlpercent!==''&&(_c.PercentFees=b.fdlpercent)}});$(document).on('gform_load_field_settings',function(_A,_B){if(_B.type==='recoverfees'){_B.FixedFees&&$('body').find('.forms_fixedfees').val(_B.FixedFees);_B.PercentFees&&$('body').find('.forms_percentfees').val(_B.PercentFees);_B.RecoverFees==='yes'&&$('body').find('.forms_recoverfees').prop('checked',!0)}})});
  • recover-fees-for-gravity-forms/trunk/js/recover-fees-for-gravity-forms.js

    r3410548 r3415753  
    11jQuery(function($) {
    22    var gform = window.gform || {};
    3     const trigger_inputs = function(){
    4         $('body').find('.gfield_price input').trigger('change');
    5         $('body').find('.gfield_price input').get(0).dispatchEvent(new Event("change"));
    6         $(".gfield--input-type-price input").get(0).dispatchEvent(new Event("change"));
    7         if($('body').find('.ginput_quantity').length){
    8             $('body').find('.ginput_quantity').trigger('change');
    9             $('body').find('.ginput_quantity').get(0).dispatchEvent(new Event("change"));
     3    const changeHtmlLabel = (fee,product_fees_container) => {
     4        let price_text = `<strong>${gformFormatMoney(fee)}</strong>`;
     5        let label = product_fees_container.find('.gform-label_product_fees');
     6        let html = label.attr('data-label-tootlip');
     7        html = html.replace(new RegExp('%RECOVERFEE%','g'),price_text);
     8        label.html(html);
     9    }
     10    const inputValueToFloatNumber = (input_val) => {
     11        let return_number = 0;
     12        if(input_val.trim() !== ""){
     13            return_number = parseFloat(input_val);
    1014        }
    11         $('body').find('.gfield_recoverfeescustomer').val('changed');
    12         $('body').find('.gfield_recoverfeescustomer').get(0).dispatchEvent(new Event("change"));
    13         $(".gfield--input-type-price input").get(0).dispatchEvent(new Event("change"));
     15        return return_number;
     16    }
     17    const convertPercantToFee = (total,percent) => {
     18        percentFee = total / 100 * parseFloat(percent);
     19        return parseFloat(percentFee.toFixed(2));
    1420    }
    1521    $( document ).on( 'change','.gfield_recoverfees', function (event) {
     
    1824    if(gform.addFilter){
    1925        gform.addFilter( 'gform_product_total', function(total, formId){
    20             if($('body').find('#gform_'+formId+' .ginput_container_product_fees .gfield_recoverfees').length){
    21                 var product_fees_container = $('body').find('#gform_'+formId+' .ginput_container_product_fees');
    22                 var checkBox = product_fees_container.find('.gfield_recoverfees');
    23                 var IsRecoverFees = checkBox.is(':checked') ? 1 : 0;
    24                 let percentfees = parseFloat(product_fees_container.find('.gfield_percentfees').val());
    25                 var fixedfees = parseFloat(product_fees_container.find('.gfield_fixedfees').val());
    26                 price = total + fixedfees;
    27                 percentfees = total / 100 * percentfees;
    28                 let html = $('body').find('.gform-label_product_fees').attr('data-label-tootlip');
    29                 let price_text = gformFormatMoney(percentfees+fixedfees);
    30                 price_text = `<strong>${price_text}</strong>`;
    31                 html = html.replace(new RegExp('%RECOVERFEE%','g'),price_text);
    32                 $('body').find('.gform-label_product_fees').html(html);
    33                 if(IsRecoverFees === 1 && total > 0) {
    34                     total = price + percentfees;
    35                 }
     26            var product_fees_container = $('body').find('#gform_'+formId+' .ginput_container_product_fees');
     27            if(product_fees_container.length < 1){
     28                return total;
    3629            }
    37 
     30            var checkBox = product_fees_container.find('.gfield_recoverfees');
     31            if(checkBox.length < 1){
     32                return total;
     33            }
     34            var IsRecoverFees = checkBox.is(':checked') ? 1 : 0;
     35            let percentfees   = inputValueToFloatNumber(product_fees_container.find('.gfield_percentfees').val());
     36            var fixedfees     = inputValueToFloatNumber(product_fees_container.find('.gfield_fixedfees').val());
     37            let totalFee      = 0;
     38            let feePercent    = convertPercantToFee(total,percentfees);
     39            // console.log("percentfees:",percentfees);
     40            // console.log("fixedfees:",fixedfees);
     41            if(fixedfees > 0){
     42                totalFee = fixedfees;
     43            }
     44            if(percentfees > 0){
     45                totalFee = parseFloat((feePercent+fixedfees).toFixed(2));
     46            }
     47            changeHtmlLabel(totalFee,product_fees_container);
     48            if(IsRecoverFees !== 1) {
     49                return total;
     50            }
     51            // if(fixedfees > 0) {
     52            //  console.log("fixed fee:",fixedfees);
     53            // }
     54            // if(percentfees > 0) {
     55            //  console.log("percent fee:",feePercent);
     56            // }
     57            if(totalFee>0){
     58                return total + totalFee;
     59            }
    3860            return total;
    3961        },50.999999 );
  • recover-fees-for-gravity-forms/trunk/js/recover-fees-for-gravity-forms.min.js

    r3410548 r3415753  
    1 jQuery($=>{var b=window.gform||{},c=function(){$('body').find('.gfield_price input').trigger('change');$('body').find('.gfield_price input').get(0).dispatchEvent(new Event('change'));$('.gfield--input-type-price input').get(0).dispatchEvent(new Event('change'));$('body').find('.ginput_quantity').length&&($('body').find('.ginput_quantity').trigger('change'),$('body').find('.ginput_quantity').get(0).dispatchEvent(new Event('change')));$('body').find('.gfield_recoverfeescustomer').val('changed');$('body').find('.gfield_recoverfeescustomer').get(0).dispatchEvent(new Event('change'));$('.gfield--input-type-price input').get(0).dispatchEvent(new Event('change'))};$(document).on('change','.gfield_recoverfees',function(a){gformInitPriceFields()});b.addFilter&&b.addFilter('gform_product_total',function(A,_){if($('body').find(`#gform_${_} .ginput_container_product_fees .gfield_recoverfees`).length){var B=$('body').find(`#gform_${_} .ginput_container_product_fees`),d=B.find('.gfield_recoverfees'),e=d.is(':checked')?1:0,C=parseFloat(B.find('.gfield_percentfees').val()),f=parseFloat(B.find('.gfield_fixedfees').val()),_c=gformFormatMoney(C+f);price=A+f;C=A/100*C;let _b=$('body').find('.gform-label_product_fees').attr('data-label-tootlip');_c=`<strong>${_c}</strong>`;_b=_b.replace(/%RECOVERFEE%/g,_c);$('body').find('.gform-label_product_fees').html(_b);(e===1&&A>0)&&(A=price+C)}return A},50.999999)});
     1jQuery($=>{var b=window.gform||{},c=(a,A)=>{let _=A.find('.gform-label_product_fees');let B=_.attr('data-label-tootlip');B=B.replace(/%RECOVERFEE%/g,`<strong>${gformFormatMoney(a)}</strong>`);_.html(B)},d=C=>{let _b=0;C.trim()!==''&&(_b=parseFloat(C));return _b},e=(_a,D)=>(percentFee=_a/100*parseFloat(D),parseFloat(percentFee.toFixed(2)));$(document).on('change','.gfield_recoverfees',function(_A){gformInitPriceFields()});b.addFilter&&b.addFilter('gform_product_total',function(E,_B){var _c=$('body').find(`#gform_${_B} .ginput_container_product_fees`),f=d(_c.find('.gfield_percentfees').val()),g=d(_c.find('.gfield_fixedfees').val()),h=0,i=e(E,f);if(_c.length<1)return E;var _d=_c.find('.gfield_recoverfees');if(_d.length<1)return E;var _e=_d.is(':checked')?1:0;g>0&&(h=g);f>0&&(h=parseFloat((i+g).toFixed(2)));c(h,_c);if(_e!==1)return E;if(h>0)return E+h;return E},50.999999)});
  • recover-fees-for-gravity-forms/trunk/readme.txt

    r3410548 r3415753  
    33Requires at least: 6.7.1
    44Tested up to: 6.9
    5 Stable tag: 2.1.1
     5Stable tag: 2.1.2
    66License: GPLv3
    77License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    6363== Changelog ==
    6464
     65= 2.1.2 =
     66Fixed issue with percent fees may be less then .01 added toFixed.
     67
    6568= 2.1.1 =
    6669Fixed issue with filter priority of calculation.
  • recover-fees-for-gravity-forms/trunk/recover-fees-for-gravity-forms.php

    r3410548 r3415753  
    44 * Plugin URI: https://wordpress.org/plugins/recover-fees-for-gravity-forms
    55 * Description: Let users cover credit card fees in Gravity Forms. Adds a new field type with a checkbox to cover fees, simple setup, customizable fees, and seamless integration boost your payment or fundraising efforts.
    6  * Version: 2.1.1
     6 * Version: 2.1.2
    77 * Author:      My Custom Software
    88 * Requires at least: 6.7.1
Note: See TracChangeset for help on using the changeset viewer.