WhatsApp Chat WP - Version 6.0.7

Version Description

  • Fix. WhatsApp files refactor
Download this release

Release Info

Developer quadlayers
Plugin Icon 128x128 WhatsApp Chat WP
Version 6.0.7
Comparing to
See all releases

Code changes from version 6.0.6 to 6.0.7

.gitignore CHANGED
@@ -1,2 +1,6 @@
1
  *.map
2
- /.developer/node_modules/
 
 
 
 
1
  *.map
2
+ /.developer/node_modules
3
+ /.developer/.delete
4
+ /build
5
+ build
6
+ *.zip
assets/backend/css/main.css DELETED
@@ -1 +0,0 @@
1
- #qlwapp_contacts_table td,#qlwapp_contacts_table th{padding:1em !important;vertical-align:top;line-height:1.75em}#qlwapp_contacts_table td img.qlwapp-avatar{width:50px;height:50px}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button{position:relative;overflow:hidden;float:left;display:block;width:24px;height:24px;margin:0;background:0 0;border:none;box-shadow:none;color:#82878c;text-indent:-9999px;cursor:pointer;outline:0}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button::before{display:inline-block;position:absolute;top:0;right:0;width:100%;height:100%;font:normal 20px/23px dashicons;text-align:center;text-indent:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button.wc-move-up::before{content:"\f343"}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button.wc-move-down::before{content:"\f347"}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav button.wc-move-disabled{color:#d5d5d5 !important;cursor:default;pointer-events:none}#qlwapp_contacts_table tbody.ui-sortable .wc-item-reorder-nav::before{content:"\f333";font-family:Dashicons;text-align:center;line-height:1;color:#999;display:block;width:24px;float:left;height:100%;line-height:24px;cursor:move}#qlwapp_modal{max-width:890px;max-height:560px;margin:auto}#qlwapp_modal.processing{pointer-events:none}#qlwapp_modal.processing:before{content:'';position:absolute;top:0;bottom:0;left:0;right:0;background-color:#ffffff;z-index:999;opacity:0.8}#qlwapp_modal.qlwapp-modal-icon .thumbnail{vertical-align:middle;text-align:center}#qlwapp_modal.qlwapp-modal-icon .thumbnail:before{content:'';display:inline-block;width:0px;height:100%;vertical-align:middle}#qlwapp_modal.qlwapp-modal-icon .thumbnail>i{text-align:center;font-size:2vw;display:inline-block;vertical-align:middle;height:auto;width:auto}#qlwapp_modal.qlwapp-modal-contact{max-width:990px;max-height:560px;margin:auto}#qlwapp_modal.qlwapp-modal-contact table{padding:15px;border-width:1px 0 0 0;box-shadow:none;table-layout:fixed}#qlwapp_modal.qlwapp-modal-contact table th{width:70px}#qlwapp_modal.qlwapp-modal-contact table td{width:calc(50% - 70px)}#qlwapp_modal.qlwapp-modal-contact .edit-attachment-frame .attachment-media-view{width:75%}#qlwapp_modal.qlwapp-modal-contact .edit-attachment-frame .attachment-info{width:25%}#qlwapp_modal.qlwapp-modal-contact .edit-attachment-frame .attachment-details{overflow:hidden}#qlwapp_modal.qlwapp-modal-contact input[type=time]{height:30px}#qlwapp_modal.qlwapp-modal-contact .panel-wrap{overflow:hidden}#qlwapp_modal.qlwapp-modal-contact .panel .options_group{overflow:hidden;border-bottom:1px solid #eee}#qlwapp_modal.qlwapp-modal-contact .panel .options_group:first-child{border-top:0}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field{font-size:12px;padding:7.5px 15px;line-height:24px}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field>label{display:inline-block}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field>label:first-child{width:100px}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field>.select2-container:nth-of-type(1){width:80px !important}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field>.select2-container:nth-of-type(2){width:calc(100% - 191px) !important}#qlwapp_modal.qlwapp-modal-contact .panel p.form-field>.select2-container:only-of-type{width:calc(100% - 88px) !important}#qlwapp_modal.qlwapp-modal-contact .panel select,#qlwapp_modal.qlwapp-modal-contact .panel textarea,#qlwapp_modal.qlwapp-modal-contact .panel input[type=phone],#qlwapp_modal.qlwapp-modal-contact .panel input[type=text]{width:100%;max-width:100%}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs{margin:0;width:20%;float:left;line-height:1em;padding:0 0 10px;position:relative;background-color:#fafafa;border-right:1px solid #eee;box-sizing:border-box}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs:after{content:"";display:block;width:100%;height:9999em;position:absolute;bottom:-9999em;left:0;background-color:#fafafa;border-right:1px solid #eee}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li{margin:0;padding:0;display:block;position:relative}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li a{margin:0;padding:10px;display:block;box-shadow:none;text-decoration:none;line-height:20px !important;border-bottom:1px solid #eee}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li a span{margin-left:.618em;margin-right:.618em}#qlwapp_modal.qlwapp-modal-contact ul.qlwapp-tabs li a:before{content:"\f107";font-family:Dashicons;speak:none;font-weight:400;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;font-variant:normal;text-decoration:none}#qlwapp_modal.qlwapp-modal-contact .qlwapp-input,#qlwapp_modal.qlwapp-modal-contact .qlwapp-select2{width:350px;max-width:100%}#qlwapp_modal.qlwapp-modal-contact .qlwapp-input{margin:0;padding:6px;box-sizing:border-box;vertical-align:top}.settings-save-status .spinner{float:none;display:inline-block;margin:0 10px}.settings-save-status .saved{font-size:12px;display:none}.settings-save-status .saved.is-active{display:inline-block}
 
assets/backend/js/admin.asset.php DELETED
@@ -1 +0,0 @@
1
- <?php return array('dependencies' => array('jquery', 'qlwapp-select2', 'wp-color-picker'), 'version' => '435d957c38c1e0019f8a76b708102e25');
 
assets/backend/js/admin.js DELETED
@@ -1 +0,0 @@
1
- !function(e){var t={};function n(a){if(t[a])return t[a].exports;var o=t[a]={i:a,l:!1,exports:{}};return e[a].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(a,o,function(t){return e[t]}.bind(null,o));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=1)}([function(e,t){!function(){e.exports=this.jQuery}()},function(e,t,n){"use strict";n.r(t);var a=n(0),o=n.n(a);n(2),n(3);!function(e){function t(t){t?e("#submit").attr("disabled",!0):e("#submit").attr("disabled",!1)}t(!0),e("form").change((function(e){t(!1)})),e(".button").click((function(){t(!1)})),e("button").click((function(){t(!1)})),e(".qlwapp-color-field").wpColorPicker({change:function(e,n){t(!1)},clear:function(e,n){t(!1)}}),e(document).on("tinymce_change",(function(e){t(!1)})),e(document).on("qlwapp-enhanced-select",(function(t){e(".qlwapp-select2").filter(":not(.enhanced)").each((function(){e(this).select2({allowClear:!1,theme:"default",minimumResultsForSearch:-1}).addClass("enhanced")})),e(".qlwapp-select2-search").filter(":not(.enhanced)").each((function(){var t=e(this),n=e(this).data("name"),a={allowClear:!0,ajax:{url:ajaxurl,dataType:"json",data:function(e){return{name:n,per_page:10,q:e.term||0,selected:t.select2("val")||0,action:"qlwapp_get_posts",nonce:qlwapp.nonce.qlwapp_get_posts}},processResults:function(t){var n=[];return t&&e.each(t,(function(e,t){n.push({id:e,text:t})})),{results:n}},cache:!0},minimumInputLength:3};e(this).select2(a).addClass("enhanced")}))})).trigger("qlwapp-enhanced-select"),e("select[name=box]").on("change",(function(){e(".nav-tab.qlwapp_box").toggleClass("hidden"),e("input[name=phone]").toggleClass("disabled"),e(".qlwapp-phone-alert").toggleClass("hidden"),e(".nav-tab.qlwapp_contacts").toggleClass("hidden");var t=e("#qlwapp_button_form"),n=t.find("#qlwapp_button_form_nonce").val();t.trigger("qlwapp.save",["qlwapp_save_button",n])})),"no"==e("select[name=auto_open]").val()&&e("input[name=auto_delay_open]").closest("tr").addClass("hidden"),e("select[name=auto_open]").on("change",(function(){e("input[name=auto_delay_open]").closest("tr").toggleClass("hidden")})),e(".qlwapp-color-field").wpColorPicker(),e(document).on("click",".upload_image_button",(function(t){t.preventDefault();var n=wp.media.editor.send.attachment,a=e(this);return wp.media.editor.send.attachment=function(t,o){e(a).parent().prev().attr("src",o.url),e(a).prev().val(o.url).trigger("change"),wp.media.editor.send.attachment=n},wp.media.editor.open(a),!1})),e(document).on("click",".remove_image_button",(function(t){t.preventDefault();var n=e(this).parent().prev().attr("data-src");return e(this).parent().prev().attr("src",n),e(this).prev().prev().val("").trigger("change"),!1})),e(document).on("qlwapp.save","form",(function(n,a,o){var r=e(n.currentTarget),i=r.find(".settings-save-status .spinner"),c=r.find(".settings-save-status .saved");return e.ajax({url:ajaxurl,data:{action:a,nonce:o,form_data:r.serialize()},dataType:"json",type:"POST",beforeSend:function(){t(!0),i.addClass("is-active")},complete:function(){i.removeClass("is-active")},error:function(e){console.log(e)},success:function(e){c.addClass("is-active"),e.success?setTimeout((function(){c.removeClass("is-active")}),2e3):alert(e.data)}}),!1})),e(document).on("submit","#qlwapp_button_form",(function(t){t.preventDefault();var n=e(this),a=n.find("#qlwapp_button_form_nonce").val();n.trigger("qlwapp.save",["qlwapp_save_button",a])})),e(document).on("submit","#qlwapp_woocommerce_form",(function(t){t.preventDefault();var n=e(this),a=n.find("#qlwapp_woocommerce_form_nonce").val();n.trigger("qlwapp.save",["qlwapp_save_woocommerce",a])})),e(document).on("submit","#qlwapp_box_form",(function(t){t.preventDefault();var n=e(this),a=n.find("#qlwapp_box_form_nonce").val();n.trigger("qlwapp.save",["qlwapp_save_box",a])})),e(document).on("submit","#qlwapp_display_form",(function(t){t.preventDefault();var n=e(this),a=n.find("#qlwapp_display_form_nonce").val();n.trigger("qlwapp.save",["qlwapp_save_display",a])})),e(document).on("submit","#qlwapp_scheme_form",(function(t){t.preventDefault();var n=e(this),a=n.find("#qlwapp_scheme_form_nonce").val();n.trigger("qlwapp.save",["qlwapp_save_scheme",a])}))}(o.a)},function(e,t){!function(){e.exports=this.wp.wpColorPicker}()},function(e,t){!function(){e.exports=this.jQuery.select2}()}]);
 
assets/backend/js/contact.asset.php DELETED
@@ -1 +0,0 @@
1
- <?php return array('dependencies' => array('backbone', 'jquery', 'wp-util'), 'version' => 'faf67eb42e9bc2b2244e52a81de54569');
 
assets/backend/js/contact.js DELETED
@@ -1 +0,0 @@
1
- !function(t){var e={};function a(i){if(e[i])return e[i].exports;var n=e[i]={i:i,l:!1,exports:{}};return t[i].call(n.exports,n,n.exports,a),n.l=!0,n.exports}a.m=t,a.c=e,a.d=function(t,e,i){a.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},a.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},a.t=function(t,e){if(1&e&&(t=a(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(a.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)a.d(i,n,function(e){return t[e]}.bind(null,n));return i},a.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return a.d(e,"a",e),e},a.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},a.p="",a(a.s=1)}([function(t,e){!function(){t.exports=this.jQuery}()},function(t,e,a){"use strict";a.r(e);a(2);var i=a(0),n=a.n(i);a(3);!function(t){var e,a=0,i=function(){t("#qlwapp_modal").removeClass("processing")};_.mixin({escapeHtml:function(t){return t.replace("&amp;",/&/g).replace(/&gt;/g,">").replace(/&lt;/g,"<").replace(/&quot;/g,'"').replace(/&#039;/g,"'")}});var n=Backbone.Model.extend({defaults:qlwapp_contact.args}),s=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),o=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),l=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),r=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),c=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),d=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),u=Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),p=(Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}}),Backbone.View.extend({events:{"change input":"enable","change textarea":"enable","change select":"enable","click .media-modal-backdrop":"close","click .media-modal-close":"close","click .media-modal-prev":"edit","click .media-modal-next":"edit","change .media-modal-change":"change","change .media-modal-subview":"subview","submit .media-modal-form":"submit"},templates:{},initialize:function(){_.bindAll(this,"open","edit","change","subview","load","render","close","submit"),this.init(),this.open()},init:function(){this.templates.window=wp.template("qlwapp-modal-window")},LoadTemplate1:function(t){return Backbone.View.extend({templates:{},initialize:function(t){this.templates.window=wp.template(t.subview)},render:function(){return this.$el.html(this.templates.window(this.attributes)),this}})},assign:function(t,e){t.setElement(this.$(e)).render()},render:function(){var t=this,e=this.$el.find("ul.wc-tabs li.active a").attr("href");t.$el.html(t.templates.window(t.model.attributes)),this.header=new s({subview:"subview-header",attributes:t.model.attributes}),this.footer=new o({subview:"subview-footer",attributes:t.model.attributes}),this.tabs=new l({subview:"subview-tabs",attributes:t.model.attributes}),this.contact=new r({subview:"subview-contact",attributes:t.model.attributes}),this.contact_chat=new c({subview:"subview-contact-chat",attributes:t.model.attributes}),this.info=new u({subview:"subview-contact-info",attributes:t.model.attributes}),this.visibility=new d({subview:"subview-visibility",attributes:t.model.attributes}),this.assign(this.header,"#panel-header"),this.assign(this.footer,"#panel-footer"),this.assign(this.tabs,"#panel-tabs"),this.assign(this.contact,"#panel-contact"),this.assign(this.contact_chat,"#subpanel-contact-chat"),this.assign(this.info,"#panel-info"),this.assign(this.visibility,"#panel-visibility"),_.delay((function(){t.$el.trigger("qlwapp-enhanced-select"),t.$el.trigger("qlwapp-tab-panels",e)}),100)},load:function(){var e=this;t("#qlwapp_modal").addClass("processing"),t.ajax({url:ajaxurl,data:{action:"qlwapp_edit_contact",nonce:qlwapp_contact.nonce.qlwapp_edit_contact,contact_id:this.model.attributes.id},dataType:"json",type:"POST",beforeSend:function(){},complete:function(){i()},error:function(){alert("Error!")},success:function(t){t.success?(e.model.set(t.data),e.render()):alert(t.data)}})},edit:function(i){i.preventDefault();var n=this,s=t(i.target),o=parseInt(t("#qlwapp_contacts_table tr[data-contact_id]").length),l=parseInt(n.model.get("order"));a++,e&&clearTimeout(e),e=setTimeout((function(){l=s.hasClass("media-modal-next")?Math.min(l+a,o):Math.max(l-a,1),n.model.set({id:parseInt(t("#qlwapp_contacts_table tr[data-contact_position="+l+"]").data("contact_id"))}),a=0,n.load()}),300)},open:function(e){t("body").addClass("modal-open").append(this.$el),null!=this.model.attributes.id?this.load():_.delay((function(){i()}),100)},update:function(e){e.preventDefault();var a=t(e.target),i=a.attr("name"),n=a.val();"checkbox"===e.target.type&&(n=!0===a.prop("checked")?1:0),this.model.attributes[i]=n,this.model.changed[i]=n},change:function(t){t.preventDefault(),this.update(t)},subview:function(t){this.contact_chat.render()},reload:function(t){this.$el.find("#qlwapp_modal").hasClass("reload")?location.reload():this.remove()},close:function(e){e.preventDefault(),this.undelegateEvents(),t(document).off("focusin"),this.$el.find("#qlwapp_modal").addClass("reload"),this.reload(e)},enable:function(e){t(".media-modal-submit").prop("disabled",!1)},submit:function(e){e.preventDefault();var a=this,i=a.$el.find("#qlwapp_modal"),n=i.find(".attachment-details");return console.log(t("form",this.$el).serializeArray()),t.ajax({url:ajaxurl,data:{action:"qlwapp_save_contact",nonce:qlwapp_contact.nonce.qlwapp_save_contact,contact_id:a.model.attributes.id,contact_data:t("form",this.$el).serialize()},dataType:"json",type:"POST",beforeSend:function(){t(".media-modal-submit").prop("disabled",!0),n.addClass("save-waiting")},complete:function(){n.addClass("save-complete"),n.removeClass("save-waiting")},error:function(){alert("Error!")},success:function(t){t.success?null==a.model.attributes.id&&(i.addClass("reload"),a.reload(e),a.close(e)):alert(t.data)}}),!1}})),f=Backbone.View.extend({initialize:function(e){var a=t(e.target).closest("[data-contact_id]").data("contact_id"),i=new n;i.set({id:a}),new p({model:i}).render()}}),m=!1;t(".qlwapp_settings_edit").on("click",(function(t){t.preventDefault(),m||(new f(t),m=!0)})),t("#qlwapp_contact_add").on("click",(function(t){t.preventDefault(),new f(t)})),t(".qlwapp_settings_delete").on("click",(function(e){e.preventDefault();var a=t("#qlwapp_delete_contact_nonce").val(),i=t(e.target).closest("[data-contact_id]").data("contact_id");if(!confirm(qlwapp_contact.message.contact_confirm_delete))return!1;t.ajax({url:ajaxurl,data:{action:"qlwapp_delete_contact",nonce:a,contact_id:i},dataType:"json",type:"POST",beforeSend:function(){},complete:function(){},error:function(t){console.log(t)},success:function(t){t.data?location.reload():alert(t.data)}})})),t("table#qlwapp_contacts_table tbody").sortable({items:"tr",cursor:"move",axis:"y",handle:"td.sort",scrollSensitivity:40,helper:function(e,a){return a.children().each((function(){t(this).width(t(this).width())})),a.css("left","0"),a},start:function(t,e){e.item.css("background-color","#f6f6f6")},stop:function(t,e){e.item.removeAttr("style"),e.item.trigger("updateMoveButtons"),e.item.trigger("updateSaveButton")}}),t(document).on("updateSaveButton",(function(){t("#qlwapp_contact_order").prop("disabled",!1)})),t(".wc-item-reorder-nav").find(".wc-move-up, .wc-move-down").on("click",(function(){var e=t(this),a=e.closest("tr");e.focus();var i=e.is(".wc-move-up"),n=e.is(".wc-move-down");if(i){var s=a.prev("tr");s&&s.length&&s.before(a)}else if(n){var o=a.next("tr");o&&o.length&&o.after(a)}e.focus(),e.closest("table").trigger("updateMoveButtons"),e.closest("table").trigger("updateSaveButton")})),t(".wc-item-reorder-nav").closest("table").on("updateMoveButtons",(function(){var e=t(this),a=t(this).find("tbody tr:last"),i=t(this).find("tbody tr:first");e.find(".wc-item-reorder-nav .wc-move-disabled").removeClass("wc-move-disabled").attr({tabindex:"0","aria-hidden":"false"}),i.find(".wc-item-reorder-nav .wc-move-up").addClass("wc-move-disabled").attr({tabindex:"-1","aria-hidden":"true"}),a.find(".wc-item-reorder-nav .wc-move-down").addClass("wc-move-disabled").attr({tabindex:"-1","aria-hidden":"true"})})),t("table#qlwapp_contacts_table tbody").trigger("updateMoveButtons"),t(document).on("submit","#qlwapp_contacts_form",(function(e){e.preventDefault();var a=t(this),i=a.find(".settings-save-status .spinner"),n=a.find(".settings-save-status .saved");return t.ajax({url:ajaxurl,data:{action:"qlwapp_save_contact_order",nonce:qlwapp_contact.nonce.qlwapp_save_contact_order,contact_data:a.serialize()},dataType:"json",type:"POST",beforeSend:function(){i.addClass("is-active")},complete:function(){i.removeClass("is-active")},error:function(t){console.log(t)},success:function(e){n.addClass("is-active"),t("#qlwapp_contact_order").prop("disabled",!0),e.success?setTimeout((function(){n.removeClass("is-active")}),1500):alert(e.data)}}),!1})),t(document).on("qlwapp-tab-panels",(function(e,a){var i=t(e.target).find("ul.qlwapp-tabs"),n=i.find('a[href="'+a+'"]');i.show(),i.find("a").click((function(e){e.preventDefault();var a=t(this).closest("div.panel-wrap");i.find("li",a).removeClass("active"),t(this).parent().addClass("active"),t("div.panel",a).hide(),t(t(this).attr("href")).show()})),n.length&&t(n.attr("href")).length?n.click():i.find("li.active").find("a").click()}))}(n.a)},function(t,e){!function(){t.exports=this.wp.util}()},function(t,e){!function(){t.exports=this.window.Backbone}()}]);
 
assets/backend/js/main.asset.php DELETED
@@ -1 +0,0 @@
1
- <?php return array('dependencies' => array(), 'version' => 'c2edb1ebafccded9d0f360f854dc79c7');
 
assets/backend/js/main.js DELETED
@@ -1 +0,0 @@
1
- !function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=0)}([function(e,t,r){"use strict";r.r(t);r(1)},function(e,t){}]);
 
assets/frontend/css/frontend.css DELETED
@@ -1 +0,0 @@
1
- @font-face{font-family:"qlwapp-whatsapp";src:url(data:application/x-font-woff;charset=utf-8;base64,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) format("woff");font-weight:normal;font-style:normal}.qlwapp-whatsapp-icon{font-family:"qlwapp-whatsapp" !important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.qlwapp-whatsapp-icon:before{content:"\e900"}#qlwapp{pointer-events:none;box-sizing:border-box}@media (min-width: 430px){#qlwapp{width:430px}}#qlwapp *{box-sizing:border-box}#qlwapp.qlwapp-js-ready{display:block}#qlwapp.qlwapp-hide,#qlwapp.qlwapp-desktop.mobile,#qlwapp.qlwapp-mobile.desktop{display:none}#qlwapp .qlwapp-readonly,#qlwapp.qlwapp-readonly{pointer-events:none !important;opacity:0.5 !important}#qlwapp .qlwapp-disabled,#qlwapp.qlwapp-disabled{display:none;visibility:hidden}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{position:fixed;z-index:9999999}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-bottom-left{right:auto;left:0}#qlwapp.qlwapp-middle-left .qlwapp-toggle .qlwapp-days,#qlwapp.qlwapp-middle-left .qlwapp-toggle .qlwapp-time,#qlwapp.qlwapp-bottom-left .qlwapp-toggle .qlwapp-days,#qlwapp.qlwapp-bottom-left .qlwapp-toggle .qlwapp-time{left:0;right:auto}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-left.qlwapp-button .qlwapp-toggle{margin-left:20px}#qlwapp.qlwapp-middle-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text,#qlwapp.qlwapp-bottom-left.qlwapp-bubble .qlwapp-toggle .qlwapp-text{right:auto;left:60px}#qlwapp.qlwapp-middle-left .qlwapp-box:before,#qlwapp.qlwapp-bottom-left .qlwapp-box:before{right:auto;left:20px}#qlwapp.qlwapp-middle-right,#qlwapp.qlwapp-bottom-right{left:auto;right:0}#qlwapp.qlwapp-middle-right .qlwapp-toggle .qlwapp-days,#qlwapp.qlwapp-middle-right .qlwapp-toggle .qlwapp-time,#qlwapp.qlwapp-bottom-right .qlwapp-toggle .qlwapp-days,#qlwapp.qlwapp-bottom-right .qlwapp-toggle .qlwapp-time{left:auto;right:0}#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-bubble .qlwapp-toggle,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-bottom-right.qlwapp-button .qlwapp-toggle{margin-right:20px}#qlwapp.qlwapp-middle-left,#qlwapp.qlwapp-middle-right{top:40%;bottom:auto}#qlwapp.qlwapp-middle-left .qlwapp-developer,#qlwapp.qlwapp-middle-right .qlwapp-developer{padding:0 24px}#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-left.qlwapp-button .qlwapp-toggle{margin-left:-48px;padding-left:60px}#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-developer,#qlwapp.qlwapp-middle-right.qlwapp-button .qlwapp-toggle{margin-right:-48px;padding-right:60px}#qlwapp.qlwapp-bottom-left,#qlwapp.qlwapp-bottom-right{top:auto;bottom:0}#qlwapp.qlwapp-rounded.qlwapp-bubble .qlwapp-toggle{border-radius:50%}#qlwapp.qlwapp-rounded.qlwapp-button .qlwapp-toggle{border-radius:50px}@media (min-width: 430px){#qlwapp.qlwapp-rounded .qlwapp-box{border-radius:8px}}#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-user,#qlwapp.qlwapp-rounded .qlwapp-box .qlwapp-message{border-radius:4px}#qlwapp p:last-child{margin:0}#qlwapp time{opacity:0.8;font-style:italic;font-size:10px}#qlwapp .qlwapp-no-contacts{display:flex;height:134px;justify-content:center;align-items:center}#qlwapp .qlwapp-container{display:flex;flex-direction:column}#qlwapp .qlwapp-clearfix:before,#qlwapp .qlwapp-clearfix:after{content:"";display:block;clear:both}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close{font-family:'Source Serif Pro';display:block;opacity:0.8;font-style:unset;font-size:24px;font-weight:bold;width:24px;height:24px;cursor:pointer;text-align:center;line-height:24px;z-index:1}#qlwapp .qlwapp-previous{width:16px;height:36px;cursor:pointer;text-align:center;line-height:36px;margin-right:auto}#qlwapp .qlwapp-developer{font-size:8px;top:-20px;position:relative}#qlwapp .qlwapp-developer,#qlwapp .qlwapp-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto}#qlwapp .qlwapp-toggle{pointer-events:all;cursor:pointer;box-shadow:0 1px 6px 0 rgba(0,0,0,0.06),0 2px 32px 0 rgba(0,0,0,0.16);margin-top:24px;margin-bottom:24px;position:relative;text-decoration:none}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-toggle:active,#qlwapp .qlwapp-toggle:focus,#qlwapp .qlwapp-toggle:hover{outline:none;text-decoration:none}#qlwapp .qlwapp-toggle .qlwapp-days,#qlwapp .qlwapp-toggle .qlwapp-time{position:absolute;bottom:-2em;color:initial;font-size:10px;display:inline-block;top:auto;width:120px}#qlwapp .qlwapp-days>span{display:none}#qlwapp .qlwapp-days>span.qlwapp-available-day{display:inline-block !important}#qlwapp .qlwapp-avatar .qlwapp-avatar-container{overflow:hidden;border-radius:50%;width:inherit;height:inherit;box-shadow:0 0 0 2px #eee}#qlwapp .qlwapp-avatar .qlwapp-avatar-container img{width:100%;height:auto}#qlwapp.qlwapp-bubble .qlwapp-toggle{width:60px;height:60px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{position:absolute;display:block;pointer-events:none;font-size:24px}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{position:absolute;right:60px;height:60px;margin:0 24px;display:flex;align-items:center;justify-content:flex-end;font-weight:bold;white-space:pre}#qlwapp.qlwapp-button .qlwapp-toggle{height:40px;white-space:nowrap;padding:12px 24px}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon{margin:0 12px 0 0}#qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-close{display:none}#qlwapp .qlwapp-box{pointer-events:all;padding-bottom:56px;position:fixed;top:auto;bottom:0;left:0;right:0;z-index:99999;box-shadow:0px 5px 40px 5px rgba(0,0,0,0.5)}@media (min-width: 430px){#qlwapp .qlwapp-box{position:relative;top:auto;bottom:auto;left:auto;right:auto;box-shadow:0 8px 25px -5px rgba(45,62,79,0.15);margin-top:24px;margin-left:24px;margin-right:24px;margin-bottom:12px}#qlwapp .qlwapp-box:before{content:"";position:absolute;bottom:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-header{border-top-left-radius:inherit;border-top-right-radius:inherit}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}}#qlwapp .qlwapp-box .qlwapp-header{position:relative;overflow:hidden}#qlwapp .qlwapp-box .qlwapp-header:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;background:linear-gradient(315deg, transparent 0%, rgba(0,0,0,0.05) 100%)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:12px;right:12px}@media (min-width: 430px){#qlwapp .qlwapp-box .qlwapp-header .qlwapp-close{position:absolute;top:7px;right:7px;font-size:18px}}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-description{position:relative;display:flex;align-items:center}#qlwapp .qlwapp-box .qlwapp-description,#qlwapp .qlwapp-box .qlwapp-contact{padding:12px 36px;height:100%}#qlwapp .qlwapp-box .qlwapp-description p,#qlwapp .qlwapp-box .qlwapp-description h3{color:inherit;font-family:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-description h3{margin:0 0 0.25em 0}#qlwapp .qlwapp-box .qlwapp-contact{display:flex;justify-content:flex-end;align-items:center}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous{position:relative;left:-16px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-previous>i{line-height:36px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-avatar{width:42px;height:42px}#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-contact .qlwapp-name{color:inherit}#qlwapp .qlwapp-box .qlwapp-account{color:inherit;padding:16px 36px;display:flex;align-items:center;overflow:hidden;position:relative;cursor:pointer;width:100%;text-decoration:none}#qlwapp .qlwapp-box .qlwapp-account:only-of-type{padding-top:36px;padding-bottom:36px}#qlwapp .qlwapp-box .qlwapp-info{padding:0 16px}#qlwapp .qlwapp-box .qlwapp-avatar{position:relative;width:62px;height:62px}#qlwapp .qlwapp-box .qlwapp-avatar:after{content:"";display:block;width:15px;height:15px;position:absolute;top:3px;right:-2px;background-image:url(data:image/png;base64,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);background-color:transparent;background-repeat:no-repeat;background-position:center center;background-size:cover;z-index:4}#qlwapp .qlwapp-box .qlwapp-days,#qlwapp .qlwapp-box .qlwapp-time,#qlwapp .qlwapp-box .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-hidden,#qlwapp .qlwapp-box .qlwapp-offline-text{font-size:12px;line-height:1.5em;opacity:0.6;display:block}#qlwapp .qlwapp-box .qlwapp-days,#qlwapp .qlwapp-box .qlwapp-time{font-size:11px;font-style:italic}#qlwapp .qlwapp-box .qlwapp-name{display:block;font-weight:bold;line-height:1.5em}#qlwapp .qlwapp-box .qlwapp-body{overflow-x:hidden;overflow-y:auto}#qlwapp .qlwapp-box .qlwapp-body .qlwapp-carousel{max-height:470px;min-height:134px}#qlwapp .qlwapp-box .qlwapp-chat{padding:36px 0;display:flex;flex-direction:column;overflow:hidden;justify-content:center;align-items:center;height:100%}#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-message{padding:16px 24px;position:relative;word-wrap:break-word;width:calc(100% - 36px * 2)}#qlwapp .qlwapp-box .qlwapp-user:before,#qlwapp .qlwapp-box .qlwapp-message:before{content:"";position:absolute;top:-6px;right:24px;width:13px;height:13px;transform:rotate(45deg)}#qlwapp .qlwapp-box .qlwapp-message{word-break:break-all}#qlwapp .qlwapp-box .qlwapp-user{width:auto;max-width:75%;align-self:flex-start;justify-self:flex-end;margin-top:0}#qlwapp .qlwapp-box .qlwapp-user:before{top:auto;bottom:-6px;left:24px}#qlwapp .qlwapp-box .qlwapp-padding{padding-bottom:56px}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{position:absolute;bottom:0;left:0;right:0;height:auto;width:100%}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{max-height:160px}#qlwapp .qlwapp-box .qlwapp-footer pre,#qlwapp .qlwapp-box .qlwapp-footer textarea,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{color:inherit;background-color:inherit}#qlwapp .qlwapp-box .qlwapp-footer:before,#qlwapp .qlwapp-box .qlwapp-response:before{pointer-events:none;position:absolute;content:"";height:59px;top:0;background:linear-gradient(315deg, transparent 0%, rgba(0,0,0,0.025) 100%);left:0;right:0}#qlwapp .qlwapp-box .qlwapp-footer{min-height:56px;display:flex;align-items:center;text-align:center;font-size:12px;padding:12px 36px}#qlwapp .qlwapp-box .qlwapp-footer p{padding:0;font-size:inherit}#qlwapp .qlwapp-box .qlwapp-footer p:last-child{margin-bottom:0}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{min-height:56px}#qlwapp .qlwapp-box .qlwapp-response pre,#qlwapp .qlwapp-box .qlwapp-response textarea{width:100%;height:100%;resize:none;border:none;padding:18px 88px 18px 36px;font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;font-size:1em !important;font-weight:normal;line-height:20px;white-space:pre-wrap;word-wrap:break-word;border-radius:inherit;margin:0}#qlwapp .qlwapp-box .qlwapp-response pre{visibility:hidden}#qlwapp .qlwapp-box .qlwapp-response textarea{position:absolute;bottom:0;left:0}#qlwapp .qlwapp-box .qlwapp-response textarea:focus{outline:none}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{position:absolute;top:0;right:21px;display:flex;align-items:center}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i{display:none}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons.active>i.qlwf-emoji{display:block}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i{opacity:0.4}#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>i,#qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>a{cursor:pointer;margin:0 0 0 10px;display:inherit;font-size:18px;line-height:24px;text-decoration:none}#qlwapp .qlwapp-previous,#qlwapp .qlwapp-close,#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-contact,#qlwapp .qlwapp-box .qlwapp-user{color:#ffffff}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-text{color:#303030}#qlwapp .qlwapp-box,#qlwapp .qlwapp-box:before{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account{background-color:#fff}#qlwapp .qlwapp-box .qlwapp-account:not(:first-child){border-top:1px solid #f5f5f5}#qlwapp .qlwapp-box .qlwapp-avatar .qlwapp-avatar-container{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-message:before{background-color:#eee}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response{color:#303030;background-color:#fff;border-top:1px solid #e6e6e6}#qlwapp .qlwapp-toggle,#qlwapp .qlwapp-box .qlwapp-header,#qlwapp .qlwapp-box .qlwapp-user,#qlwapp .qlwapp-box .qlwapp-user:before{background-color:#25d366}#qlwapp{display:none}#qlwapp.qlwapp-show .qlwapp-box{visibility:visible;opacity:1;transform:translateY(0) scale(1);display:block}#qlwapp.qlwapp-transition .qlwapp-box{visibility:visible;display:block}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-icon{transform:scale(0, 0);opacity:0}#qlwapp.qlwapp-bubble.qlwapp-show .qlwapp-toggle .qlwapp-close{transform:scale(1, 1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transform:scale(0, 0);opacity:0}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon{transform:scale(1, 1);opacity:1}#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-icon,#qlwapp.qlwapp-bubble .qlwapp-toggle .qlwapp-close{transition:transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1),opacity 300ms ease-in}#qlwapp .qlwapp-box{display:none;opacity:0;visibility:hidden;transform:translateY(50px);transition:transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1),opacity 300ms ease-in}@media (min-width: 430px){#qlwapp .qlwapp-box{transform:translateY(50px) scale(0.9)}}#qlwapp .qlwapp-box .qlwapp-carousel{display:flex;width:200%;height:100%}#qlwapp .qlwapp-box .qlwapp-carousel .qlwapp-slide{width:50%;transition:max-height 500ms cubic-bezier(0.215, 0.61, 0.355, 1) 1000ms,transform 300ms cubic-bezier(0.215, 0.61, 0.355, 1) 500ms,opacity 500ms ease-in 500ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-slide{max-height:300px}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{opacity:0;transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s,opacity ease-in 0.3s}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transform:scale(0.5)}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-name{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-label{transition-delay:850ms}#qlwapp .qlwapp-box .qlwapp-header .qlwapp-avatar{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-footer,#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-message,#qlwapp .qlwapp-box .qlwapp-user{transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 600ms,opacity ease-in 200ms}#qlwapp .qlwapp-box .qlwapp-response,#qlwapp .qlwapp-box .qlwapp-previous,#qlwapp .qlwapp-box .qlwapp-user{opacity:0}#qlwapp .qlwapp-box .qlwapp-response{pointer-events:none}#qlwapp .qlwapp-box .qlwapp-previous{transform:translateX(56px)}#qlwapp .qlwapp-box .qlwapp-user{transform:translateY(56px)}#qlwapp .qlwapp-box .qlwapp-close{transition:opacity 300ms cubic-bezier(0.215, 0.61, 0.355, 1)}#qlwapp .qlwapp-box .qlwapp-description{transition:transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1),opacity 900ms cubic-bezier(0.215, 0.61, 0.355, 1)}#qlwapp .qlwapp-box .qlwapp-account{transition:transform 600ms cubic-bezier(0.215, 0.61, 0.355, 1),opacity 150ms ease-in}#qlwapp .qlwapp-box .qlwapp-previous{transition-delay:800ms}#qlwapp .qlwapp-box .qlwapp-message{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-close,#qlwapp .qlwapp-box .qlwapp-description{transition-delay:900ms}#qlwapp .qlwapp-box .qlwapp-user{transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(6){transition-delay:600ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(5){transition-delay:500ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(4){transition-delay:400ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(3){transition-delay:300ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(2){transition-delay:200ms}#qlwapp .qlwapp-box .qlwapp-account:nth-of-type(1){transition-delay:100ms}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-message{opacity:0;transform:translateY(-56px)}#qlwapp .qlwapp-box .qlwapp-slide .qlwapp-box .qlwapp-account:hover{background-color:#fafafa}#qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide{transform:translateX(-100%)}#qlwapp .qlwapp-box.response .qlwapp-body .qlwapp-carousel{overflow:hidden;min-height:122px}#qlwapp .qlwapp-box.response .qlwapp-close{transition-delay:0ms}#qlwapp .qlwapp-box.response .qlwapp-close,#qlwapp .qlwapp-box.response .qlwapp-footer,#qlwapp .qlwapp-box.response .qlwapp-description,#qlwapp .qlwapp-box.response .qlwapp-account{opacity:0}#qlwapp .qlwapp-box.response .qlwapp-account{transform:translateY(-33.333%);border-top-color:transparent !important}#qlwapp .qlwapp-box.response .qlwapp-user{display:block}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous,#qlwapp .qlwapp-box.response .qlwapp-response{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-response{pointer-events:all}#qlwapp .qlwapp-box.response .qlwapp-message,#qlwapp .qlwapp-box.response .qlwapp-previous{transform:translate(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-slide{max-height:84px}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{opacity:1}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{opacity:0.5}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-label{transform:translateX(0)}#qlwapp .qlwapp-box.response .qlwapp-header .qlwapp-avatar{transform:scale(1)}#qlwapp .qlwapp-box.response.opening .qlwapp-footer,#qlwapp .qlwapp-box.response.opening .qlwapp-response,#qlwapp .qlwapp-box.response.opening .qlwapp-close,#qlwapp .qlwapp-box.response.opening .qlwapp-previous,#qlwapp .qlwapp-box.response.opening .qlwapp-description,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-name,#qlwapp .qlwapp-box.response.opening .qlwapp-header .qlwapp-label{visibility:visible}#qlwapp .qlwapp-box.texting .qlwapp-body{overflow-y:auto}#qlwapp .qlwapp-box.texting .qlwapp-user{opacity:1;transform:translate(0)}#qlwapp .qlwapp-box.closing .qlwapp-message{transition:all 0.4s;transform:translateY(100%);opacity:0}#qlwapp .qlwapp-box.closing .qlwapp-previous{transition-delay:0ms;transform:translateX(-24px);opacity:0;transition:transform cubic-bezier(0.215, 0.61, 0.355, 1) 300ms,opacity ease-out 200ms}#qlwapp .qlwapp-box.closing .qlwapp-description{opacity:0}body.rtl #qlwapp.qlwapp-button .qlwapp-toggle .qlwapp-icon{margin:0 0 0 12px}body.rtl #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons{right:auto;left:21px;flex-direction:row-reverse}body.rtl #qlwapp .qlwapp-box .qlwapp-response .qlwapp-buttons>a{transform:rotate(180deg)}body.rtl #qlwapp .qlwapp-box .qlwapp-response pre,body.rtl #qlwapp .qlwapp-box .qlwapp-response textarea{padding:18px 36px 18px 88px}body.rtl #qlwapp .qlwapp-box.response .qlwapp-carousel .qlwapp-slide{transform:translateX(100%)}body.rtl #qlwapp .qlwapp-box .qlwapp-contact{flex-direction:row-reverse}.product #qlwapp{display:inline-block !important;width:auto !important}.product #qlwapp.qlwapp-button .qlwapp-toggle{margin:0}
 
assets/frontend/js/frontend.asset.php DELETED
@@ -1 +0,0 @@
1
- <?php return array('dependencies' => array('jquery'), 'version' => '42c40be342eb654e71a2166e116156b5');
 
assets/frontend/js/frontend.js DELETED
@@ -1 +0,0 @@
1
- !function(t){var e={};function n(a){if(e[a])return e[a].exports;var i=e[a]={i:a,l:!1,exports:{}};return t[a].call(i.exports,i,i.exports,n),i.l=!0,i.exports}n.m=t,n.c=e,n.d=function(t,e,a){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:a})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(a,i,function(e){return t[e]}.bind(null,i));return a},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=2)}([function(t,e){function n(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?t.exports=n=function(t){return typeof t}:t.exports=n=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(e)}t.exports=n},function(t,e){!function(){t.exports=this.jQuery}()},function(t,e,n){"use strict";n.r(e);var a=n(0),i=n.n(a),o=(n(3),n(1)),r=n.n(o);Array.prototype.timedaysIncludes||Object.defineProperty(Array.prototype,"timedaysIncludes",{value:function(t){return!!this.includes(parseInt(t))||!!this.includes(t.toString())}}),function(t,e,n,a){function o(e,n){this.$qlwapp=t(e),this.init(this)}function r(){t("div#qlwapp").qlwapp()}t.fn.simulateClick=function(){return this.each((function(){if("createEvent"in n){var t=this.ownerDocument,e=t.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,t.defaultView,1,0,0,0,0,!1,!1,!1,!1,0,null),this.dispatchEvent(e)}else this.click()}))},o.prototype={timeDateToString:function(t){var e=""+t.getMinutes();return 1===e.length&&(e="0"+e),t.getHours()+":"+e},timeStringToInt:function(t,e){return parseInt(t+e)},isMobile:function(t){var n=e.matchMedia("(pointer:coarse)");return n&&n.matches},init:function(n){var a=this.$qlwapp;if(a.on("qlwapp.init",(function(t){n.mobiledevice=n.isMobile()})),a.on("qlwapp.time",(function(e){var a=t(e.target),i=a.data("timedays")||[],o=parseInt(a.data("timezone"))||0,r=new Date((new Date).getTime()+60*o*1e3).getUTCDay().toString();if(i&&i.length&&!i.includes(r)){a.addClass("qlwapp-readonly"),a.find(".qlwapp-days").show(),a.find(".qlwapp-time").hide();var p=function(t,e){for(var n=t;n<=6;n++)if(e.timedaysIncludes(n))return n;for(n=0;n<=t;n++)if(e.timedaysIncludes(n))return n}(r,i);return a.find(".day"+p).addClass("qlwapp-available-day"),!0}i&&i.length&&i.includes(r)&&(a.find(".qlwapp-days").hide(),a.find(".qlwapp-time").show());var l=a.data("timefrom")||!1,s=a.data("timeto")||!1;if(!s||!l||l===s)return!0;var d,u,c=new Date,f=-c.getTimezoneOffset()-o,g=new Date,w=new Date;d=n.timeStringToInt(l[0],l[1]),u=n.timeStringToInt(l[3],l[4]),w.setHours(d),w.setMinutes(u+f),d=n.timeStringToInt(s[0],s[1]),u=n.timeStringToInt(s[3],s[4]),g.setHours(d),g.setMinutes(u+f);var m=w.getTime(),h=g.getTime();if(m>h&&(m-=864e5),c.getTime()>=m&&c.getTime()<=h||(a.addClass("qlwapp-readonly"),a.find(".qlwapp-days").hide(),a.find(".qlwapp-time").show()),!o)return!0;a.find(".from").text(n.timeDateToString(w)),a.find(".to").text(n.timeDateToString(g))})),a.on("qlwapp.pro",(function(e){a.find(".qlwapp-toggle").trigger("qlwapp.time"),a.find(".qlwapp-account").each((function(e,n){t(n).trigger("qlwapp.time")}))})),a.on("qlwapp.resize",(function(e){t(this).hasClass("qlwapp-show")&&t(this).trigger("qlwapp.toggle")})),a.on("qlwapp.init",(function(t){n.mobiledevice?a.addClass("mobile").removeClass("desktop"):a.addClass("desktop").removeClass("mobile"),a.addClass("qlwapp-js-ready")})),a.on("qlwapp.init",(function(t){a.hasClass("qlwapp-premium")&&a.trigger("qlwapp.pro")})),a.addClass("qlwapp-js-ready").trigger("qlwapp.init"),a.on("qlwapp.height",(function(a){var i=t(a.delegateTarget),o=i.find(".qlwapp-body").find(".qlwapp-carousel"),r=i.find(".qlwapp-header"),p=i.find(".qlwapp-footer"),l=t(e).innerHeight()-r.outerHeight()-p.outerHeight();n.mobiledevice||(l=.7*t(e).innerHeight()-r.outerHeight()-p.outerHeight()),o.css({"max-height":l+"px"})})),a.on("qlwapp.toggle",(function(e){var n=t(e.delegateTarget),a=n.find(".qlwapp-box");n.addClass("qlwapp-transition"),a.removeClass("response texting"),setTimeout((function(){n.toggleClass("qlwapp-show").trigger("qlwapp.height")}),10),setTimeout((function(){n.toggleClass("qlwapp-transition")}),300)})),a.on("click","[data-action=box], [data-action=close]",(function(e){e.preventDefault(),t(e.delegateTarget).trigger("qlwapp.toggle")})),a.on("click","[data-action=open]",(function(e){var a="https://api.whatsapp.com/send";n.mobiledevice||(a="https://web.whatsapp.com/send");var i=t(this),o=i.data("message")||"",r=i.data("phone")||"";t(this).attr("href",a+"?phone="+r+"&text="+o)})),a.on("click","[data-action=previous]",(function(e){e.preventDefault();var n=t(e.delegateTarget).find(".qlwapp-box");n.addClass("closing"),setTimeout((function(){n.removeClass("response").removeClass("closing"),n.removeClass("texting")}),300)})),a.on("click","[data-action=chat]",(function(e){e.preventDefault();var n=t(this),a=t(e.delegateTarget),i=a.find(".qlwapp-box"),o=n.find(".qlwapp-avatar img").attr("src"),r=n.find(".qlwapp-name").text(),p=n.find(".qlwapp-label").text(),l=n.find(".qlwapp-time").text(),s=n.data("message"),d=n.data("phone");i.addClass("response").addClass("opening"),a.trigger("qlwapp.height"),setTimeout((function(){i.removeClass("opening")}),300);var u=i.find(".qlwapp-reply"),c=i.find(".qlwapp-header"),f=c.find(".qlwapp-avatar img"),g=c.find(".qlwapp-number"),w=c.find(".qlwapp-name"),m=c.find(".qlwapp-label"),h=i.find(".qlwapp-message"),q=l?l+" - "+p:p;u.data("phone",d),f.attr("src",o),f.attr("alt",r),g.html(d),w.html(r),m.html(q),h.html(s)})),a.on("click","textarea",(function(t){a.off("qlwapp.resize")})),a.on("keypress","textarea",(function(t){13==t.keyCode&&setTimeout((function(){a.find(".qlwapp-reply").simulateClick("click")}),100)})),a.on("keyup","[data-action=response]",(function(e){e.preventDefault();var n=t(this).find("textarea"),a=t(this).find("pre"),i=t(this).find(".qlwapp-reply"),o=t(e.delegateTarget).find(".qlwapp-box"),r=o.find(".qlwapp-buttons");a.html(n.val()),setTimeout((function(){o.addClass("texting").css({"padding-bottom":a.outerHeight()}),r.addClass("active");var t=n.val();i.data("message",t),""==t&&(o.removeClass("texting"),r.removeClass("active"))}),300)})),a.hasClass("auto-load")&&t.cookie&&!t.cookie("qlwapp-auto-load")){var i=a.data("autoloadelay");setTimeout((function(){a.trigger("qlwapp.toggle")}),i),t.cookie("qlwapp-auto-load","auto open cookie",{expires:1})}}},t.fn.qlwapp=function(e){var n,a=arguments;return void 0===e||"object"===i()(e)?this.each((function(){t.data(this,"plugin_qlwapp")||t.data(this,"plugin_qlwapp",new o(this,e))})):"string"==typeof e&&"_"!==e[0]&&"init"!==e?(this.each((function(){var i=t.data(this,"plugin_qlwapp");i instanceof o&&"function"==typeof i[e]&&(n=i[e].apply(i,Array.prototype.slice.call(a,1))),"destroy"===e&&t.data(this,"plugin_qlwapp",null)})),void 0!==n?n:this):void 0},r(),t(e).on("load",(function(){r()})),t(e).on("click",(function(e){t(e.target).closest("#qlwapp.qlwapp-show").length||t("div#qlwapp.qlwapp-show").trigger("qlwapp.toggle")})),t(e).on("resize",(function(e){t("div#qlwapp").trigger("qlwapp.resize"),t("div#qlwapp").trigger("qlwapp.init")}))}(r.a,window,document)},function(t,e){}]);
 
includes/backend.php CHANGED
@@ -50,13 +50,13 @@ class QLWAPP_Backend {
50
  if ( isset( $_GET['page'] ) && strpos( $_GET['page'], QLWAPP_DOMAIN ) !== false ) {
51
  wp_register_style( 'qlwapp-select2', plugins_url( '/assets/select2/css/select2.css', QLWAPP_PLUGIN_FILE ), array( 'wp-color-picker' ), QLWAPP_PLUGIN_VERSION, 'all' );
52
 
53
- $admin = include_once QLWAPP_PLUGIN_DIR . 'assets/backend/js/admin.asset.php';
54
 
55
- wp_enqueue_style( 'qlwapp-admin', plugins_url( '/assets/backend/css/main.css', QLWAPP_PLUGIN_FILE ), array( 'wp-color-picker', 'qlwapp-select2' ), QLWAPP_PLUGIN_VERSION, 'all' );
56
 
57
  wp_register_script( 'qlwapp-select2', plugins_url( '/assets/select2/js/select2.min.js', QLWAPP_PLUGIN_FILE ), array( 'jquery' ), QLWAPP_PLUGIN_VERSION );
58
 
59
- wp_enqueue_script( 'qlwapp-admin', plugins_url( '/assets/backend/js/admin.js', QLWAPP_PLUGIN_FILE ), $admin['dependencies'], $admin['version'], true );
60
 
61
  wp_localize_script(
62
  'qlwapp-admin',
50
  if ( isset( $_GET['page'] ) && strpos( $_GET['page'], QLWAPP_DOMAIN ) !== false ) {
51
  wp_register_style( 'qlwapp-select2', plugins_url( '/assets/select2/css/select2.css', QLWAPP_PLUGIN_FILE ), array( 'wp-color-picker' ), QLWAPP_PLUGIN_VERSION, 'all' );
52
 
53
+ $admin = include QLWAPP_PLUGIN_DIR . 'build/backend/js/index.asset.php';
54
 
55
+ wp_enqueue_style( 'qlwapp-admin', plugins_url( '/build/backend/css/style.css', QLWAPP_PLUGIN_FILE ), array( 'wp-color-picker', 'qlwapp-select2' ), QLWAPP_PLUGIN_VERSION, 'all' );
56
 
57
  wp_register_script( 'qlwapp-select2', plugins_url( '/assets/select2/js/select2.min.js', QLWAPP_PLUGIN_FILE ), array( 'jquery' ), QLWAPP_PLUGIN_VERSION );
58
 
59
+ wp_enqueue_script( 'qlwapp-admin', plugins_url( '/build/backend/js/index.js', QLWAPP_PLUGIN_FILE ), $admin['dependencies'], $admin['version'], true );
60
 
61
  wp_localize_script(
62
  'qlwapp-admin',
includes/controllers/ContactController.php CHANGED
@@ -1,189 +1,190 @@
1
  <?php
2
 
3
- include_once(QLWAPP_PLUGIN_DIR . 'includes/models/Contact.php');
4
- include_once(QLWAPP_PLUGIN_DIR . 'includes/models/Display.php');
5
- include_once(QLWAPP_PLUGIN_DIR . 'includes/controllers/QLWAPP_Controller.php');
6
 
7
  class QLWAPP_Contact_Controller extends QLWAPP_Controller {
8
 
9
- protected static $instance;
10
-
11
- function add_menu() {
12
- add_submenu_page(QLWAPP_DOMAIN, esc_html__('Contacts', 'wp-whatsapp-chat'), esc_html__('Contacts', 'wp-whatsapp-chat'), 'manage_options', QLWAPP_DOMAIN . '_contacts', array($this, 'add_panel'));
13
- }
14
-
15
- function add_panel() {
16
- global $submenu;
17
- $contact_model = new QLWAPP_Contact();
18
- $contact_visibility = new Display_Component();
19
- $contacts = $contact_model->get_contacts_reorder();
20
-
21
- $contact_args = $contact_model->get_args();
22
- $contact_entries = $contact_visibility->get_entries();
23
- $contact_taxonomies = $contact_visibility->get_taxonomies();
24
- include (QLWAPP_PLUGIN_DIR . '/includes/view/backend/pages/parts/header.php');
25
- include (QLWAPP_PLUGIN_DIR . '/includes/view/backend/pages/contacts.php');
26
- }
27
-
28
- function get_contact($contact_id) {
29
- $contact_model = new QLWAPP_Contact();
30
- $contact = $contact_model->get_contact($contact_id);
31
-
32
-
33
- foreach ($contact['display']['entries'] as $key => $value) {
34
- $_entries_titles = array();
35
- foreach ((array) $value['ids'] as $id) {
36
- if ($id == 'all') {
37
- $_entries_titles[$id] = esc_html__('All', 'wp-whatsapp-chat');
38
- continue;
39
- }
40
- if ($title = get_the_title(absint($id))) {
41
- $_entries_titles[$id] = $title;
42
- }
43
- }
44
- $contact['display']['entries'][$key]['ids'] = $_entries_titles;
45
- }
46
-
47
- foreach ($contact['display']['taxonomies'] as $key => $value) {
48
- $_taxonomies_titles = array();
49
- foreach ($value['ids'] as $id) {
50
-
51
- if ($id == 'all') {
52
- $_taxonomies_titles[$id] = esc_html__('All', 'wp-whatsapp-chat');
53
- continue;
54
- }
55
- if ($term = get_term_by('id', absint($id), $key)) {
56
- $_taxonomies_titles[$id] = $term->name;
57
- }
58
- }
59
-
60
- $contact['display']['taxonomies'][$key]['ids'] = $_taxonomies_titles;
61
- }
62
-
63
- return $contact;
64
- }
65
-
66
- function ajax_edit_contact() {
67
- if (check_ajax_referer('qlwapp_edit_contact', 'nonce', false)) {
68
- $contact_id = (isset($_REQUEST['contact_id'])) ? absint($_REQUEST['contact_id']) : -1;
69
- if ($contact_id != -1) {
70
- $contact = $this->get_contact($contact_id);
71
- if ($contact) {
72
- return parent::success_ajax($contact);
73
- }
74
- } else {
75
- return parent::success_ajax(-1);
76
- }
77
- /// parent::error_reload_page();
78
- }
79
- parent::error_access_denied();
80
- }
81
-
82
- function ajax_save_contact() {
83
-
84
- if (current_user_can('manage_options')) {
85
- if (check_ajax_referer('qlwapp_save_contact', 'nonce', false) && isset($_REQUEST['contact_data'])) {
86
- $contact_data = array();
87
- parse_str($_REQUEST['contact_data'], $contact_data);
88
- $contact_model = new QLWAPP_Contact();
89
- if (is_array($contact_data)) {
90
- if (isset($contact_data['id'])) {
91
- return parent::success_save($contact_model->update_contact($contact_data));
92
- } else {
93
- return parent::success_save($contact_model->add_contact($contact_data));
94
- }
95
- return parent::error_reload_page();
96
- }
97
- }
98
- return parent::error_access_denied();
99
- }
100
- }
101
-
102
- function ajax_save_contact_order() {
103
- if (current_user_can('manage_options')) {
104
- if (check_ajax_referer('qlwapp_save_contact_order', 'nonce', false) && isset($_REQUEST['contact_data'])) {
105
- if (array_key_exists('contact_data', $_REQUEST)) {
106
- $contact_model = new QLWAPP_Contact();
107
- $contacts = $contact_model->get_contacts();
108
- $contact_order = array();
109
- parse_str($_REQUEST['contact_data'], $contact_order);
110
- $contacts_id = $contact_order['contact_id'];
111
- $result = -1;
112
- if (is_array($contacts_id) && count($contacts_id) > 0) {
113
- $loop = 1;
114
- foreach ($contacts_id as $contact_id) {
115
- if (isset($contacts[$contact_id])) {
116
- $contacts[$contact_id]['order'] = $loop;
117
- $loop++;
118
- }
119
- }
120
- $result = $contact_model->update_contacts($contacts);
121
- }
122
- }
123
- }
124
- return wp_send_json_success($result);
125
- }
126
- }
127
-
128
- function ajax_delete_contact() {
129
-
130
- if (check_ajax_referer('qlwapp_delete_contact', 'nonce', false)) {
131
-
132
- $contact_id = (isset($_REQUEST['contact_id'])) ? absint($_REQUEST['contact_id']) : -1;
133
-
134
- $contact_model = new QLWAPP_Contact();
135
-
136
- $contact = $contact_model->delete($contact_id);
137
- if ($contact_id) {
138
-
139
- return parent::success_ajax($contact);
140
- }
141
- parent::error_reload_page();
142
- }
143
- parent::error_access_denied();
144
- }
145
-
146
- function init() {
147
-
148
- add_action('wp_ajax_qlwapp_add_contact', array($this, 'ajax_add_contact'));
149
- add_action('wp_ajax_qlwapp_edit_contact', array($this, 'ajax_edit_contact'));
150
- add_action('wp_ajax_qlwapp_save_contact', array($this, 'ajax_save_contact'));
151
- add_action('wp_ajax_qlwapp_delete_contact', array($this, 'ajax_delete_contact'));
152
- add_action('wp_ajax_qlwapp_save_contact_order', array($this, 'ajax_save_contact_order'));
153
- add_action('admin_enqueue_scripts', array($this, 'add_js'));
154
- add_action('admin_menu', array($this, 'add_menu'));
155
- }
156
-
157
- function add_js() {
158
- if (isset($_GET['page']) && ($_GET['page'] === 'qlwapp_contacts')) {
159
- $contact_model = new QLWAPP_Contact();
160
- wp_enqueue_media();
161
- $admin_contact = include_once( QLWAPP_PLUGIN_DIR. 'assets/backend/js/contact.asset.php');
162
- wp_enqueue_script('qlwapp-admin-contact', plugins_url('/assets/backend/js/contact.js', QLWAPP_PLUGIN_FILE), $admin_contact['dependencies'], $admin_contact['version'], true);
163
-
164
- wp_localize_script('qlwapp-admin-contact', 'qlwapp_contact', array(
165
- 'nonce' => array(
166
- 'qlwapp_get_contact' => wp_create_nonce('qlwapp_get_contact'),
167
- 'qlwapp_edit_contact' => wp_create_nonce('qlwapp_edit_contact'),
168
- 'qlwapp_add_contact' => wp_create_nonce('qlwapp_add_contact'),
169
- 'qlwapp_save_contact' => wp_create_nonce('qlwapp_save_contact'),
170
- 'qlwapp_save_contact_order' => wp_create_nonce('qlwapp_save_contact_order')
171
- ),
172
- 'message' => array(
173
- 'contact_confirm_delete' => 'you want to delete the contact',
174
- 'contact_confirm_delete_title' => 'Contact: confirmation'
175
- ),
176
- 'args' => $contact_model->get_args()));
177
- }
178
- }
179
-
180
- public static function instance() {
181
- if (!isset(self::$instance)) {
182
- self::$instance = new self();
183
- self::$instance->init();
184
- }
185
- return self::$instance;
186
- }
 
187
 
188
  }
189
 
1
  <?php
2
 
3
+ require_once QLWAPP_PLUGIN_DIR . 'includes/models/Contact.php';
4
+ require_once QLWAPP_PLUGIN_DIR . 'includes/models/Display.php';
5
+ require_once QLWAPP_PLUGIN_DIR . 'includes/controllers/QLWAPP_Controller.php';
6
 
7
  class QLWAPP_Contact_Controller extends QLWAPP_Controller {
8
 
9
+ protected static $instance;
10
+
11
+ function add_menu() {
12
+ add_submenu_page( QLWAPP_DOMAIN, esc_html__( 'Contacts', 'wp-whatsapp-chat' ), esc_html__( 'Contacts', 'wp-whatsapp-chat' ), 'manage_options', QLWAPP_DOMAIN . '_contacts', array( $this, 'add_panel' ) );
13
+ }
14
+
15
+ function add_panel() {
16
+ global $submenu;
17
+ $contact_model = new QLWAPP_Contact();
18
+ $contact_visibility = new Display_Component();
19
+ $contacts = $contact_model->get_contacts_reorder();
20
+
21
+ $contact_args = $contact_model->get_args();
22
+ $contact_entries = $contact_visibility->get_entries();
23
+ $contact_taxonomies = $contact_visibility->get_taxonomies();
24
+ include QLWAPP_PLUGIN_DIR . '/includes/view/backend/pages/parts/header.php';
25
+ include QLWAPP_PLUGIN_DIR . '/includes/view/backend/pages/contacts.php';
26
+ }
27
+
28
+ function get_contact( $contact_id ) {
29
+ $contact_model = new QLWAPP_Contact();
30
+ $contact = $contact_model->get_contact( $contact_id );
31
+
32
+ foreach ( $contact['display']['entries'] as $key => $value ) {
33
+ $_entries_titles = array();
34
+ foreach ( (array) $value['ids'] as $id ) {
35
+ if ( $id == 'all' ) {
36
+ $_entries_titles[ $id ] = esc_html__( 'All', 'wp-whatsapp-chat' );
37
+ continue;
38
+ }
39
+ if ( $title = get_the_title( absint( $id ) ) ) {
40
+ $_entries_titles[ $id ] = $title;
41
+ }
42
+ }
43
+ $contact['display']['entries'][ $key ]['ids'] = $_entries_titles;
44
+ }
45
+
46
+ foreach ( $contact['display']['taxonomies'] as $key => $value ) {
47
+ $_taxonomies_titles = array();
48
+ foreach ( $value['ids'] as $id ) {
49
+
50
+ if ( $id == 'all' ) {
51
+ $_taxonomies_titles[ $id ] = esc_html__( 'All', 'wp-whatsapp-chat' );
52
+ continue;
53
+ }
54
+ if ( $term = get_term_by( 'id', absint( $id ), $key ) ) {
55
+ $_taxonomies_titles[ $id ] = $term->name;
56
+ }
57
+ }
58
+
59
+ $contact['display']['taxonomies'][ $key ]['ids'] = $_taxonomies_titles;
60
+ }
61
+
62
+ return $contact;
63
+ }
64
+
65
+ function ajax_edit_contact() {
66
+ if ( check_ajax_referer( 'qlwapp_edit_contact', 'nonce', false ) ) {
67
+ $contact_id = ( isset( $_REQUEST['contact_id'] ) ) ? absint( $_REQUEST['contact_id'] ) : -1;
68
+ if ( $contact_id != -1 ) {
69
+ $contact = $this->get_contact( $contact_id );
70
+ if ( $contact ) {
71
+ return parent::success_ajax( $contact );
72
+ }
73
+ } else {
74
+ return parent::success_ajax( -1 );
75
+ }
76
+ // parent::error_reload_page();
77
+ }
78
+ parent::error_access_denied();
79
+ }
80
+
81
+ function ajax_save_contact() {
82
+
83
+ if ( current_user_can( 'manage_options' ) ) {
84
+ if ( check_ajax_referer( 'qlwapp_save_contact', 'nonce', false ) && isset( $_REQUEST['contact_data'] ) ) {
85
+ $contact_data = array();
86
+ parse_str( $_REQUEST['contact_data'], $contact_data );
87
+ $contact_model = new QLWAPP_Contact();
88
+ if ( is_array( $contact_data ) ) {
89
+ if ( isset( $contact_data['id'] ) ) {
90
+ return parent::success_save( $contact_model->update_contact( $contact_data ) );
91
+ } else {
92
+ return parent::success_save( $contact_model->add_contact( $contact_data ) );
93
+ }
94
+ return parent::error_reload_page();
95
+ }
96
+ }
97
+ return parent::error_access_denied();
98
+ }
99
+ }
100
+
101
+ function ajax_save_contact_order() {
102
+ if ( current_user_can( 'manage_options' ) ) {
103
+ if ( check_ajax_referer( 'qlwapp_save_contact_order', 'nonce', false ) && isset( $_REQUEST['contact_data'] ) ) {
104
+ if ( array_key_exists( 'contact_data', $_REQUEST ) ) {
105
+ $contact_model = new QLWAPP_Contact();
106
+ $contacts = $contact_model->get_contacts();
107
+ $contact_order = array();
108
+ parse_str( $_REQUEST['contact_data'], $contact_order );
109
+ $contacts_id = $contact_order['contact_id'];
110
+ $result = -1;
111
+ if ( is_array( $contacts_id ) && count( $contacts_id ) > 0 ) {
112
+ $loop = 1;
113
+ foreach ( $contacts_id as $contact_id ) {
114
+ if ( isset( $contacts[ $contact_id ] ) ) {
115
+ $contacts[ $contact_id ]['order'] = $loop;
116
+ $loop++;
117
+ }
118
+ }
119
+ $result = $contact_model->update_contacts( $contacts );
120
+ }
121
+ }
122
+ }
123
+ return wp_send_json_success( $result );
124
+ }
125
+ }
126
+
127
+ function ajax_delete_contact() {
128
+
129
+ if ( check_ajax_referer( 'qlwapp_delete_contact', 'nonce', false ) ) {
130
+
131
+ $contact_id = ( isset( $_REQUEST['contact_id'] ) ) ? absint( $_REQUEST['contact_id'] ) : -1;
132
+
133
+ $contact_model = new QLWAPP_Contact();
134
+
135
+ $contact = $contact_model->delete( $contact_id );
136
+ if ( $contact_id ) {
137
+
138
+ return parent::success_ajax( $contact );
139
+ }
140
+ parent::error_reload_page();
141
+ }
142
+ parent::error_access_denied();
143
+ }
144
+
145
+ function init() {
146
+
147
+ add_action( 'wp_ajax_qlwapp_add_contact', array( $this, 'ajax_add_contact' ) );
148
+ add_action( 'wp_ajax_qlwapp_edit_contact', array( $this, 'ajax_edit_contact' ) );
149
+ add_action( 'wp_ajax_qlwapp_save_contact', array( $this, 'ajax_save_contact' ) );
150
+ add_action( 'wp_ajax_qlwapp_delete_contact', array( $this, 'ajax_delete_contact' ) );
151
+ add_action( 'wp_ajax_qlwapp_save_contact_order', array( $this, 'ajax_save_contact_order' ) );
152
+ add_action( 'admin_enqueue_scripts', array( $this, 'add_js' ), 99 );
153
+ add_action( 'admin_menu', array( $this, 'add_menu' ) );
154
+ }
155
+
156
+ function add_js() {
157
+ if ( isset( $_GET['page'] ) && ( $_GET['page'] === 'qlwapp_contacts' ) ) {
158
+ $contact_model = new QLWAPP_Contact();
159
+ wp_enqueue_media();
160
+ wp_localize_script(
161
+ 'qlwapp-admin',
162
+ 'qlwapp_contact',
163
+ array(
164
+ 'nonce' => array(
165
+ 'qlwapp_get_contact' => wp_create_nonce( 'qlwapp_get_contact' ),
166
+ 'qlwapp_edit_contact' => wp_create_nonce( 'qlwapp_edit_contact' ),
167
+ 'qlwapp_add_contact' => wp_create_nonce( 'qlwapp_add_contact' ),
168
+ 'qlwapp_save_contact' => wp_create_nonce( 'qlwapp_save_contact' ),
169
+ 'qlwapp_save_contact_order' => wp_create_nonce( 'qlwapp_save_contact_order' ),
170
+ ),
171
+ 'message' => array(
172
+ 'contact_confirm_delete' => 'you want to delete the contact',
173
+ 'contact_confirm_delete_title' => 'Contact: confirmation',
174
+ ),
175
+ 'args' => $contact_model->get_args(),
176
+ )
177
+ );
178
+ }
179
+ }
180
+
181
+ public static function instance() {
182
+ if ( ! isset( self::$instance ) ) {
183
+ self::$instance = new self();
184
+ self::$instance->init();
185
+ }
186
+ return self::$instance;
187
+ }
188
 
189
  }
190
 
includes/frontend.php CHANGED
@@ -6,10 +6,9 @@ if ( ! class_exists( 'QLWAPP_Frontend' ) ) {
6
  protected static $instance;
7
 
8
  function add_js() {
9
- $frontend = include_once QLWAPP_PLUGIN_DIR . 'assets/frontend/js/frontend.asset.php';
10
-
11
- wp_enqueue_style( QLWAPP_DOMAIN, plugins_url( '/assets/frontend/css/frontend.css', QLWAPP_PLUGIN_FILE ), null, QLWAPP_PLUGIN_VERSION, 'all' );
12
- wp_enqueue_script( QLWAPP_DOMAIN, plugins_url( '/assets/frontend/js/frontend.js', QLWAPP_PLUGIN_FILE ), $frontend['dependencies'], $frontend['version'], true );
13
  }
14
 
15
  function add_box() {
6
  protected static $instance;
7
 
8
  function add_js() {
9
+ $frontend = include_once QLWAPP_PLUGIN_DIR . 'build/frontend/js/index.asset.php';
10
+ wp_enqueue_style( QLWAPP_DOMAIN, plugins_url( '/build/frontend/css/style.css', QLWAPP_PLUGIN_FILE ), null, QLWAPP_PLUGIN_VERSION, 'all' );
11
+ wp_enqueue_script( QLWAPP_DOMAIN, plugins_url( '/build/frontend/js/index.js', QLWAPP_PLUGIN_FILE ), $frontend['dependencies'], $frontend['version'], true );
 
12
  }
13
 
14
  function add_box() {
readme.txt CHANGED
@@ -6,7 +6,7 @@ Tags: whatsapp, whatsapp business, click to chat, whatsapp chat, whatsapp suppor
6
  Requires at least: 4.6
7
  Requires PHP: 5.6
8
  Tested up to: 6.0.1
9
- Stable tag: 6.0.6
10
  License: GPLv3
11
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
12
 
@@ -133,6 +133,9 @@ Don't use: +001-(555)1234567
133
 
134
  == Changelog ==
135
 
 
 
 
136
  = 6.0.6 =
137
  * Fix. WhatsApp available time fix
138
 
6
  Requires at least: 4.6
7
  Requires PHP: 5.6
8
  Tested up to: 6.0.1
9
+ Stable tag: 6.0.7
10
  License: GPLv3
11
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
12
 
133
 
134
  == Changelog ==
135
 
136
+ = 6.0.7 =
137
+ * Fix. WhatsApp files refactor
138
+
139
  = 6.0.6 =
140
  * Fix. WhatsApp available time fix
141
 
wp-whatsapp-chat.php CHANGED
@@ -4,7 +4,7 @@
4
  * Plugin Name: Social Chat
5
  * Description: Social Chat allows your visitors to contact you or your team through WhatsApp chat with a single click.
6
  * Plugin URI: https://quadlayers.com/portfolio/whatsapp-chat/
7
- * Version: 6.0.6
8
  * Author: QuadLayers
9
  * Author URI: https://quadlayers.com
10
  * License: GPLv3
@@ -18,7 +18,7 @@ if ( ! defined( 'ABSPATH' ) ) {
18
  }
19
 
20
  define( 'QLWAPP_PLUGIN_NAME', 'Social Chat' );
21
- define( 'QLWAPP_PLUGIN_VERSION', '6.0.6' );
22
  define( 'QLWAPP_PLUGIN_FILE', __FILE__ );
23
  define( 'QLWAPP_PLUGIN_DIR', __DIR__ . DIRECTORY_SEPARATOR );
24
  define( 'QLWAPP_PREFIX', 'qlwapp' );
4
  * Plugin Name: Social Chat
5
  * Description: Social Chat allows your visitors to contact you or your team through WhatsApp chat with a single click.
6
  * Plugin URI: https://quadlayers.com/portfolio/whatsapp-chat/
7
+ * Version: 6.0.7
8
  * Author: QuadLayers
9
  * Author URI: https://quadlayers.com
10
  * License: GPLv3
18
  }
19
 
20
  define( 'QLWAPP_PLUGIN_NAME', 'Social Chat' );
21
+ define( 'QLWAPP_PLUGIN_VERSION', '6.0.7' );
22
  define( 'QLWAPP_PLUGIN_FILE', __FILE__ );
23
  define( 'QLWAPP_PLUGIN_DIR', __DIR__ . DIRECTORY_SEPARATOR );
24
  define( 'QLWAPP_PREFIX', 'qlwapp' );