Plugin Directory

Changeset 3417028


Ignore:
Timestamp:
12/11/2025 06:42:08 AM (3 days ago)
Author:
themefic
Message:

Update 1.1.32

Location:
hydra-booking
Files:
272 added
4 edited

Legend:

Unmodified
Added
Removed
  • hydra-booking/trunk/app/Shortcode/HydraBookingShortcode.php

    r3392864 r3417028  
    206206        $availability_range      = isset( $data['availability_range'] ) ? $data['availability_range'] : array();
    207207        $availability_range_type = isset( $data['availability_range_type'] ) ? $data['availability_range_type'] : array();
     208        $questions_type = isset( $data['questions_type'] ) ? $data['questions_type'] : array();
     209        $questions_form_type = isset( $data['questions_form_type'] ) ? $data['questions_form_type'] : array();
     210        $questions_form = isset( $data['questions_form'] ) ? $data['questions_form'] : array();
    208211
    209212        // Duration
     
    260263            'availability_range'      => $availability_range,
    261264            'availability_range_type' => $availability_range_type,
     265            'questions_type' => $questions_type,
     266            'questions_form_type' => $questions_form_type,
     267            'questions_form' => $questions_form,
     268
    262269        );
    263270       
  • hydra-booking/trunk/assets/app/js/app.js

    r3323708 r3417028  
    3434                            `+c+`
    3535                        </div>
    36                     </li>`;$this.find(".tfhb-meeting-details ul").append(o),$this.find(".tfhb-meeting-details ul").append(u),$this.find(".tfhb-timezone").hide(),$this.find(".tfhb-meeting-times").animate({left:"-50%",width:0,opacity:0},300,function(){$(this).css("display","none")}),$this.find(".tfhb-calander-times").animate({left:"-5%",opacity:0},400,function(){$(this).css("display","none"),$this.find(".tfhb-meeting-booking-form").css("display","block").animate({left:"0",opacity:1,width:536},300)})}),$("span.tfhb-see-description").on("click",function(){$(".tfhb-short-description").slideUp(),$(".tfhb-full-description").slideDown()}),$("span.tfhb-see-less-description").on("click",function(){$(".tfhb-full-description").slideUp(),$(".tfhb-short-description").slideDown()}),$($this).on("click",".tfhb-meeting-booking-form .tfhb-back-btn",function(t){$this.find(".tfhb-meeting-booking-form").animate({left:"-5%",opacity:0},300,function(){$(this).css("display","none"),$this.find(".tfhb-timezone").show(),$this.find(".tfhb-calander-times").css("display","flex").animate({left:"0",opacity:1},200,function(){}),$this.find(".tfhb-meeting-times").css("display","block").animate({left:"0",width:224},400,function(){$(this).css("opacity","1"),$this.find(".tfhb-meeting-details ul .tfhb_time_zone_info").remove(),$this.find(".tfhb-meeting-details ul .tfhb_date_time_info").remove()})})}),$this.find(".tfhb-meeting-form.ajax-submit").on("submit",function(t){t.preventDefault();var e=new FormData(this),a={};e.forEach(function(n,o){a[o]=n}),tfhb_from_submission($this,preloader,a,calenderData)}),document.addEventListener("wpcf7mailsent",function(t){var e=t.detail.formData,a={};e.forEach(function(n,o){a[o]=n}),tfhb_from_submission($this,preloader,a,calenderData)}),$(document).on("forminator:form:submit:success",function(t,e){var a={};e.forEach(function(n,o){a[o]=n}),tfhb_from_submission($this,preloader,a,calenderData)}),$(document).on("fluentform_submission_success",function(t,e){var a=new FormData(e.form[0]),n={};a.forEach(function(o,l){n[l]=o}),tfhb_from_submission($this,preloader,n,calenderData)})});function tfhb_render_paypal_payment(t,e){t.find(".tfhb-paypal-button-container");var a=e.confirmation_template;t.find(".tfhb-confirmation-button").hide(),t.find(".wpcf7").hide();let n=typeof tfhb_app_booking.general_settings.currency<"u"&&tfhb_app_booking.general_settings.currency!=""?tfhb_app_booking.general_settings.currency:"USD";paypal.Buttons({createOrder:function(o,l){return l.order.create({purchase_units:[{reference_id:e.data.attendee_data.id,description:e.data.meeting.title+" - "+e.data.meeting.duration+" Minutes | "+e.data.booking.start_time+" - "+e.data.booking.end_time+" | "+e.data.booking.meeting_dates,custom_id:e.data.attendee_data.id,amount:{currency_code:n,value:e.data.meeting.meeting_price}}]})},onApprove:function(o,l){return l.order.capture().then(function(m){$.ajax({url:tfhb_app_booking.ajax_url,type:"POST",data:{nonce:tfhb_app_booking.nonce,action:"tfhb_meeting_paypal_payment_confirmation",payment_details:m,responseData:e},success:function(s){s.success?(t.find(".tfhb-meeting-card").html(""),t.find(".tfhb-meeting-card").append(a)):(t.find(".tfhb-notice").html(s.data.message),t.find(".tfhb-notice").show())},error:function(s){console.log(s)}})})},onCancel:function(o){},onError:function(o){console.error("An error occurred during the transaction",o),alert("Payment could not be completed due to an error")}}).render(".tfhb-paypal-button-container")}function tfhb_render_stripe_payment(t,e,a,n){t.find(".tfhb-confirmation-button").hide();let o=typeof tfhb_app_booking.general_settings.currency<"u"&&tfhb_app_booking.general_settings.currency!=""?tfhb_app_booking.general_settings.currency:"USD";t.find(".wpcf7").hide();const l=t.find(".tfhb-stripe-button-container");l.html("<a href='#' class='tfhb-stripe-payment-btn'>Pay With Stripe</a>"),l.show();var m=e.confirmation_template;const s=StripeCheckout.configure({key:a,locale:"auto",token:function(d){const i={tokenId:d.id};jQuery.ajax({url:tfhb_app_booking.ajax_url,type:"POST",data:{nonce:tfhb_app_booking.nonce,action:"tfhb_meeting_stripe_payment_confirmation",payment_data:i,responseData:e},beforeSend:function(c){$(".tfhb-stripe-payment-btn").append(`<span class="tfhb-submit-preloader"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" style="shape-rendering: auto; display: block; background: transparent;" width="200" height="200" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-dasharray="188.49555921538757 64.83185307179586" r="40" stroke-width="4" stroke="#ffffff" fill="none" cy="50" cx="50">
     36                    </li>`;$this.find(".tfhb-meeting-details ul").append(o),$this.find(".tfhb-meeting-details ul").append(u),$this.find(".tfhb-timezone").hide(),$this.find(".tfhb-meeting-times").animate({left:"-50%",width:0,opacity:0},300,function(){$(this).css("display","none")}),$this.find(".tfhb-calander-times").animate({left:"-5%",opacity:0},400,function(){$(this).css("display","none"),$this.find(".tfhb-meeting-booking-form").css("display","block").animate({left:"0",opacity:1,width:536},300)})}),$("span.tfhb-see-description").on("click",function(){$(".tfhb-short-description").slideUp(),$(".tfhb-full-description").slideDown()}),$("span.tfhb-see-less-description").on("click",function(){$(".tfhb-full-description").slideUp(),$(".tfhb-short-description").slideDown()}),$($this).on("click",".tfhb-meeting-booking-form .tfhb-back-btn",function(t){$this.find(".tfhb-meeting-booking-form").animate({left:"-5%",opacity:0},300,function(){$(this).css("display","none"),$this.find(".tfhb-timezone").show(),$this.find(".tfhb-calander-times").css("display","flex").animate({left:"0",opacity:1},200,function(){}),$this.find(".tfhb-meeting-times").css("display","block").animate({left:"0",width:224},400,function(){$(this).css("opacity","1"),$this.find(".tfhb-meeting-details ul .tfhb_time_zone_info").remove(),$this.find(".tfhb-meeting-details ul .tfhb_date_time_info").remove()})})}),$this.find(".tfhb-meeting-form.ajax-submit").on("submit",function(t){t.preventDefault();var e=new FormData(this),a={};e.forEach(function(n,o){a[o]=n}),tfhb_from_submission($this,preloader,a,calenderData)}),document.addEventListener("wpcf7mailsent",function(t){var e=t.detail.formData;if(calenderData.questions_type=="existing"&&calenderData.questions_form_type=="wpcf7"&&t.detail.contactFormId==calenderData.questions_form){var a={};e.forEach(function(n,o){a[o]=n}),tfhb_from_submission($this,preloader,a,calenderData)}}),$(document).on("forminator:form:submit:success",function(t,e){var a={};e.forEach(function(n,o){a[o]=n}),tfhb_from_submission($this,preloader,a,calenderData)}),$(document).on("fluentform_submission_success",function(t,e){var a=new FormData(e.form[0]),n={};a.forEach(function(o,l){n[l]=o}),tfhb_from_submission($this,preloader,n,calenderData)})});function tfhb_render_paypal_payment(t,e){t.find(".tfhb-paypal-button-container");var a=e.confirmation_template;t.find(".tfhb-confirmation-button").hide(),t.find(".wpcf7").hide();let n=typeof tfhb_app_booking.general_settings.currency<"u"&&tfhb_app_booking.general_settings.currency!=""?tfhb_app_booking.general_settings.currency:"USD";paypal.Buttons({createOrder:function(o,l){return l.order.create({purchase_units:[{reference_id:e.data.attendee_data.id,description:e.data.meeting.title+" - "+e.data.meeting.duration+" Minutes | "+e.data.booking.start_time+" - "+e.data.booking.end_time+" | "+e.data.booking.meeting_dates,custom_id:e.data.attendee_data.id,amount:{currency_code:n,value:e.data.meeting.meeting_price}}]})},onApprove:function(o,l){return l.order.capture().then(function(m){$.ajax({url:tfhb_app_booking.ajax_url,type:"POST",data:{nonce:tfhb_app_booking.nonce,action:"tfhb_meeting_paypal_payment_confirmation",payment_details:m,responseData:e},success:function(s){s.success?(t.find(".tfhb-meeting-card").html(""),t.find(".tfhb-meeting-card").append(a)):(t.find(".tfhb-notice").html(s.data.message),t.find(".tfhb-notice").show())},error:function(s){console.log(s)}})})},onCancel:function(o){},onError:function(o){console.error("An error occurred during the transaction",o),alert("Payment could not be completed due to an error")}}).render(".tfhb-paypal-button-container")}function tfhb_render_stripe_payment(t,e,a,n){t.find(".tfhb-confirmation-button").hide();let o=typeof tfhb_app_booking.general_settings.currency<"u"&&tfhb_app_booking.general_settings.currency!=""?tfhb_app_booking.general_settings.currency:"USD";t.find(".wpcf7").hide();const l=t.find(".tfhb-stripe-button-container");l.html("<a href='#' class='tfhb-stripe-payment-btn'>Pay With Stripe</a>"),l.show();var m=e.confirmation_template;const s=StripeCheckout.configure({key:a,locale:"auto",token:function(d){const i={tokenId:d.id};jQuery.ajax({url:tfhb_app_booking.ajax_url,type:"POST",data:{nonce:tfhb_app_booking.nonce,action:"tfhb_meeting_stripe_payment_confirmation",payment_data:i,responseData:e},beforeSend:function(c){$(".tfhb-stripe-payment-btn").append(`<span class="tfhb-submit-preloader"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" style="shape-rendering: auto; display: block; background: transparent;" width="200" height="200" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-dasharray="188.49555921538757 64.83185307179586" r="40" stroke-width="4" stroke="#ffffff" fill="none" cy="50" cx="50">
    3737                            <animateTransform keyTimes="0;1" values="0 50 50;360 50 50" dur="0.49751243781094534s" repeatCount="indefinite" type="rotate" attributeName="transform"></animateTransform>
    3838                        </circle><g></g></g><!-- [ldio] generated by https://loading.io --></svg><span>`),$(".tfhb-stripe-payment-btn").addClass("disabled")},success:function(c){c.success?(t.find(".tfhb-meeting-card").html(""),t.find(".tfhb-meeting-card").append(m)):(t.find(".tfhb-notice").html(c.data.message),t.find(".tfhb-notice").show())},error:function(c){console.error("Payment processing error:",c)}})}});l.on("click",".tfhb-stripe-payment-btn",function(d){d.preventDefault(),s.open({name:n,amount:e.data.meeting.meeting_price*100,currency:o})}),window.addEventListener("popstate",function(){s.close()})}function tfhb_from_submission(t,e,a,n){t.find(".tfhb-booking-submit").append(`<span class="tfhb-submit-preloader"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" preserveAspectRatio="xMidYMid" style="shape-rendering: auto; display: block; background: transparent;" width="200" height="200" xmlns:xlink="http://www.w3.org/1999/xlink"><g><circle stroke-dasharray="188.49555921538757 64.83185307179586" r="40" stroke-width="4" stroke="#ffffff" fill="none" cy="50" cx="50">
     
    4141                                           <div class="tfhb-notice " >
    4242                                           <span>`+f.data.message+` </span>
    43                                        </div>`)}else return t.find(".tfhb-notice").append(f.data.message),t.find(".tfhb-notice").show(),!1},error:function(f){console.log(f)}})}function tfhb_date_manipulate(t,e,a,n,o,l){const m=t.find(".tfhb-calendar-dates"),s=t.find(".tfhb-calendar-weekdays"),d=t.find(".tfhb-calendar-current-date");let i=e,c=i.availability,u=c.date_slots,p=c.time_slots;i.availability_range;let C=i.availability_range_type,j=i.availability_range.start,M=i.availability_range.end,w=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],v=[],N=tfhb_app_booking.general_settings.week_start_from||"Sunday",h=w.indexOf(N);h===-1&&(h=0);let x=[];for(let r=0;r<7;r++){let g=(h+r)%7;x.push(`<li>${tfhbTranslate(b[g])}</li>`)}s.html(x.join(""));for(let r=0;r<p.length;r++)(p[r].status===!1||p[r].status==!1)&&v.push(p[r].day);let y=(new Date(a,n,1).getDay()-h+7)%7,f=new Date(a,n+1,0).getDate(),L=(new Date(a,n,f).getDay()-h+7)%7,B=new Date(a,n,0).getDate(),D="";for(let r=y;r>0;r--)D+=`<li class="inactive">${tfhbTranslateNumber(B-r+1)}</li>`;for(let r=1;r<=f;r++){let g=r===o.getDate()&&n===new Date().getMonth()&&a===new Date().getFullYear()?"active":"",F=`${a}-${(n+1).toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}`,z=typeof u<"u"?u.find(S=>S.date.match(F)):"",k=typeof z<"u"&&z!==""&&z.available==!0?"inactive ":" ",T="available";new Date>new Date(a,n,r)&&r!==o.getDate()&&(k="inactive ",T="unavailable");let I=w[new Date(a,n,r).getDay()];if(v.includes(I)&&(k="inactive ",T="unavailable",g=""),C!=="indefinitely"){let S=new Date(a,n,r);(S<new Date(j)||S>new Date(M))&&(k="inactive ",T="unavailable",g="")}g==="active"&&(k=" "),D+=`<li data-date="${F}" data-available="${T}" class="${g} current ${k}">${tfhbTranslateNumber(r)}</li>`}for(let r=L;r<6;r++)D+=`<li class="inactive">${tfhbTranslateNumber(r-L+1)}</li>`;d.text(`${tfhbTranslate(l[n])} ${tfhbTranslateNumber(a)}`),m.html(D)}function tfhb_times_manipulate(t,e,a,n=null){var o=t.find(".tfhb-calendar-dates li.active");t.find(".tfhb-available-times").addClass("inactive"),t.find(".tfhb-calendar-body").addClass("inactive");var l=t.find("input[name='meeting_id']").val(),m=e;o.attr("data-available");var s=t.find('input[name="tfhb_time_format"]:checked').val(),d=t.find(".tfhb-time-zone-select").val();$.ajax({url:tfhb_app_booking.ajax_url,type:"POST",data:{action:"tfhb_already_booked_times",nonce:tfhb_app_booking.nonce,selected_date:m,meeting_id:l,time_format:s,time_zone:d},success:function(i){i.success==!0&&(t.find(".tfhb-calendar-body").removeClass("inactive"),i.data,a.calander_available_time_slot=i.data,typeof n=="function"&&n()),i.success==!1&&(t.find(".tfhb-available-times").removeClass("inactive"),t.find(".tfhb-calendar-body").removeClass("inactive"),t.find(".tfhb-available-times").html(""),t.find(".tfhb-available-times").append("<ul></ul>"),t.find(".tfhb-available-times ul").append("<li > <p>"+i.data.message+"</p></li>"),t.find(".tfhb-meeting-times").css("display","block").animate({left:"0",opacity:1,width:224},400))},error:function(i){console.log(i)}})}})})(jQuery);
     43                                       </div>`)}else return t.find(".tfhb-notice").append(f.data.message),t.find(".tfhb-notice").show(),!1},error:function(f){console.log(f)}})}function tfhb_date_manipulate(t,e,a,n,o,l){const m=t.find(".tfhb-calendar-dates"),s=t.find(".tfhb-calendar-weekdays"),d=t.find(".tfhb-calendar-current-date");let i=e,c=i.availability,u=c.date_slots,p=c.time_slots;i.availability_range;let C=i.availability_range_type,j=i.availability_range.start,M=i.availability_range.end,w=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],b=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],v=[],N=tfhb_app_booking.general_settings.week_start_from||"Sunday",h=w.indexOf(N);h===-1&&(h=0);let x=[];for(let r=0;r<7;r++){let g=(h+r)%7;x.push(`<li>${tfhbTranslate(b[g])}</li>`)}s.html(x.join(""));for(let r=0;r<p.length;r++)(p[r].status===!1||p[r].status==!1)&&v.push(p[r].day);let y=(new Date(a,n,1).getDay()-h+7)%7,f=new Date(a,n+1,0).getDate(),F=(new Date(a,n,f).getDay()-h+7)%7,B=new Date(a,n,0).getDate(),D="";for(let r=y;r>0;r--)D+=`<li class="inactive">${tfhbTranslateNumber(B-r+1)}</li>`;for(let r=1;r<=f;r++){let g=r===o.getDate()&&n===new Date().getMonth()&&a===new Date().getFullYear()?"active":"",L=`${a}-${(n+1).toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}`,z=typeof u<"u"?u.find(S=>S.date.match(L)):"",k=typeof z<"u"&&z!==""&&z.available==!0?"inactive ":" ",T="available";new Date>new Date(a,n,r)&&r!==o.getDate()&&(k="inactive ",T="unavailable");let I=w[new Date(a,n,r).getDay()];if(v.includes(I)&&(k="inactive ",T="unavailable",g=""),C!=="indefinitely"){let S=new Date(a,n,r);(S<new Date(j)||S>new Date(M))&&(k="inactive ",T="unavailable",g="")}g==="active"&&(k=" "),D+=`<li data-date="${L}" data-available="${T}" class="${g} current ${k}">${tfhbTranslateNumber(r)}</li>`}for(let r=F;r<6;r++)D+=`<li class="inactive">${tfhbTranslateNumber(r-F+1)}</li>`;d.text(`${tfhbTranslate(l[n])} ${tfhbTranslateNumber(a)}`),m.html(D)}function tfhb_times_manipulate(t,e,a,n=null){var o=t.find(".tfhb-calendar-dates li.active");t.find(".tfhb-available-times").addClass("inactive"),t.find(".tfhb-calendar-body").addClass("inactive");var l=t.find("input[name='meeting_id']").val(),m=e;o.attr("data-available");var s=t.find('input[name="tfhb_time_format"]:checked').val(),d=t.find(".tfhb-time-zone-select").val();$.ajax({url:tfhb_app_booking.ajax_url,type:"POST",data:{action:"tfhb_already_booked_times",nonce:tfhb_app_booking.nonce,selected_date:m,meeting_id:l,time_format:s,time_zone:d},success:function(i){i.success==!0&&(t.find(".tfhb-calendar-body").removeClass("inactive"),i.data,a.calander_available_time_slot=i.data,typeof n=="function"&&n()),i.success==!1&&(t.find(".tfhb-available-times").removeClass("inactive"),t.find(".tfhb-calendar-body").removeClass("inactive"),t.find(".tfhb-available-times").html(""),t.find(".tfhb-available-times").append("<ul></ul>"),t.find(".tfhb-available-times ul").append("<li > <p>"+i.data.message+"</p></li>"),t.find(".tfhb-meeting-times").css("display","block").animate({left:"0",opacity:1,width:224},400))},error:function(i){console.log(i)}})}})})(jQuery);
  • hydra-booking/trunk/hydra-booking.php

    r3414543 r3417028  
    44 * Plugin URI: https://hydrabooking.com/
    55 * Description: Appointment Booking Plugin with Automated Scheduling - Apple/Outlook/ Google Calendar, WooCommerce, Zoom, Fluent Forms, Zapier, Mailchimp & CRM Integration.
    6  * Version: 1.1.31
     6 * Version: 1.1.32
    77 * Tested up to: 6.9
    88 * Author: Themefic
     
    2727        define( 'TFHB_URL', plugin_dir_url( __FILE__ ) );
    2828
    29         define( 'TFHB_VERSION', '1.1.31' );
     29        define( 'TFHB_VERSION', '1.1.32' );
    3030        define( 'TFHB_BASE_FILE', __FILE__);
    3131
  • hydra-booking/trunk/readme.txt

    r3414543 r3417028  
    55Tested up to: 6.9
    66Requires PHP: 7.4
    7 Stable tag: 1.1.31
     7Stable tag: 1.1.32
    88License: GPL-2.0+
    99License URI: http://www.gnu.org/licenses/gpl-2.0.txt
     
    217217== Changelog ==
    218218
     219= 1.1.32 – Dec 11, 2025 =
     220
     221- Compatibility: Fully compatible with Contact Form 7 (v6.1.4).
     222- Resolved: The booking issue occurring when using Contact Form 7.
     223
    219224= 1.1.31 – Dec 08, 2025 =
    220225
Note: See TracChangeset for help on using the changeset viewer.