Plugin Directory

Changeset 2265145


Ignore:
Timestamp:
03/21/2020 04:35:48 PM (6 years ago)
Author:
ThemeCatcher
Message:

Release version 1.0.4

Location:
quform-mailchimp
Files:
67 added
1 deleted
33 edited

Legend:

Unmodified
Added
Removed
  • quform-mailchimp/trunk/admin/css/admin.css

    r2000032 r2265145  
    9090#wpbody .qfb-settings .qfb-mc-merge-field select,
    9191.qfb-mc-merge-field .qfb-mc-input-variable input[type="text"] {
     92    height: 38px;
     93    min-height: 0;
    9294    border-width: 1px;
    93     height: 38px;
    94     line-height: 38px;
    95     margin-bottom: 0;
     95    padding: 5px 10px;
     96    margin: 0;
    9697}
    9798/* Add/delete buttons */
     
    258259    border-width: 1px;
    259260    height: 38px;
    260     line-height: 38px;
    261     margin-bottom: 0;
    262 }
    263 .qfb-logic-rules select {
    264     padding: 5px;
    265 }
    266 
     261    margin: 0;
     262    min-height: 0;
     263    padding: 5px 10px;
     264}
    267265/* Add/delete buttons */
    268266span.qfb-small-add-button, span.qfb-small-remove-button{
  • quform-mailchimp/trunk/admin/css/admin.min.css

    r2000032 r2265145  
    1 .qfb-nav-mailchimp-icon{background:url(../images/mailchimp-logo.png) center center no-repeat}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.qfb-nav-mailchimp-icon{background:url(../images/mailchimp-logo@2x.png) center center/auto 28px no-repeat}}.quform_mailchimp_admin_page_integrations_edit .qfb-tabs-nav-mailchimp-integrations a,.quform_mailchimp_admin_page_integrations_edit .qfb-tabs-nav-mailchimp-integrations a:hover,.quform_mailchimp_admin_page_integrations_list .qfb-tabs-nav-mailchimp-integrations a,.quform_mailchimp_admin_page_integrations_list .qfb-tabs-nav-mailchimp-integrations a:hover,.quform_mailchimp_admin_page_settings .qfb-tabs-nav-mailchimp-settings a,.quform_mailchimp_admin_page_settings .qfb-tabs-nav-mailchimp-settings a:hover{background:rgba(207,53,19,1);background:-webkit-gradient(linear,left top,left bottom,from(rgba(207,53,19,1)),to(rgba(186,47,15,1)));background:linear-gradient(to bottom,rgba(207,53,19,1) 0,rgba(186,47,15,1) 100%);padding:5px 12px;height:39px;margin:0 4px 0 0;border:1px solid #ba2f0f;color:#fff;font-weight:700;position:relative;border-bottom-left-radius:0}.quform_mailchimp_admin_page_integrations_edit .qfb-tabs-nav-mailchimp-integrations a:after,.quform_mailchimp_admin_page_integrations_list .qfb-tabs-nav-mailchimp-integrations a:after,.quform_mailchimp_admin_page_settings .qfb-tabs-nav-mailchimp-settings a:after{content:'';position:absolute;top:100%;left:-1px;width:0;height:0;border-style:solid;border-width:10px 10px 0 0;border-color:#ba2f0f transparent transparent}#qfb-mc-integration-email-spinner,#qfb-mc-integration-groups-spinner,#qfb-mc-integration-list-spinner,#qfb-mc-integration-logic-spinner,#qfb-mc-integration-merge-fields-spinner{margin:6px 0}#qfb-mc-integration-email-sync,#qfb-mc-integration-groups-sync,#qfb-mc-integration-list-sync,#qfb-mc-integration-logic-sync,#qfb-mc-integration-merge-fields-sync{position:absolute;right:0;top:0;cursor:pointer;line-height:inherit}#qfb-mc-logic,#qfb-mc-merge-fields{width:800px;max-width:100%}.qfb-mc-merge-field{position:relative;padding:10px;border-radius:5px;margin:5px 35px 10px 0}.qfb-mc-merge-field-columns{margin:0 -2px;width:auto;max-width:none}.qfb-mc-merge-field-column{float:left;width:50%;padding:0 2px;min-height:1px}#wpbody .qfb-settings .qfb-mc-merge-field select,.qfb-mc-merge-field .qfb-mc-input-variable input[type=text]{border-width:1px;height:38px;line-height:38px;margin-bottom:0}#qfb-mc-merge-fields span.qfb-small-add-button,span.qfb-small-remove-button{display:inline-block;height:25px;line-height:25px;width:25px;cursor:pointer;vertical-align:text-bottom;text-align:center;border-radius:0 25px 25px;background:#14181b;color:#fff;-webkit-transform:scale(1) rotate(-45deg);transform:scale(1) rotate(-45deg);-webkit-transition:background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1);transition:background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1);transition:transform .1s cubic-bezier(1,.5,.8,1),background-color .2s ease-in-out;transition:transform .1s cubic-bezier(1,.5,.8,1),background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1)}#qfb-mc-merge-fields span.qfb-small-remove-button:hover{background:#c73412;color:#fff}#qfb-mc-merge-fields span.qfb-small-add-button:hover{background:#89c712}#qfb-mc-merge-fields span.qfb-small-add-button:active,span.qfb-small-remove-button:active{-webkit-transform:scale(0.93) rotate(-45deg);transform:scale(0.93) rotate(-45deg)}#qfb-mc-merge-fields span.qfb-small-add-button:before,span.qfb-small-remove-button:before{-webkit-transform:rotate(45deg);transform:rotate(45deg);display:inline-block}#qfb-mc-merge-fields .qfb-small-add-button,#qfb-mc-merge-fields .qfb-small-remove-button{position:absolute;right:-35px;top:0;text-align:center}#qfb-mc-merge-fields .qfb-small-add-button{margin-top:30px}.forms_page_quform-mailchimp #screen-meta-links{display:none}#qfb_mc_api_key{float:left;margin-right:10px}.qfb-mc-insert-variable{text-decoration:none;cursor:pointer;border-radius:3px;background-color:#eee;color:#888;font-size:18px;line-height:20px;display:inline-block;padding:7px 16px;margin:5px 0}.qfb-mc-input-variable .qfb-mc-insert-variable{color:#c73412;cursor:pointer;display:inline-block;font-size:14px;height:36px;line-height:36px;text-align:center;width:34px;margin:0;padding:0;border-radius:0 5px 5px 0;border:1px #e0e0e0;border-left-style:solid;background:rgba(252,252,252,1);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,rgba(252,252,252,1)),to(rgba(242,242,242,1)));background:linear-gradient(to bottom,rgba(252,252,252,1) 0,rgba(242,242,242,1) 100%);position:absolute;right:1px;top:1px}.qfb-mc-insert-variable.qfb-mc-active{background:#c73412;color:#fff;border-color:#c73412}.qfb-mc-input-variable{position:relative}.qfb-mc-insert-variable-menu{display:none;position:fixed;top:0;left:0;height:370px;overflow:auto;z-index:100006;background:#fff;padding:10px;width:240px;border:1px solid #fff;-webkit-box-shadow:0 20px 20px 0 rgba(0,0,0,.2);box-shadow:0 20px 20px 0 rgba(0,0,0,.2)}.qfb-mc-insert-variable-heading{font-weight:700}.qfb-mc-variable{padding:3px 3px 3px 15px;cursor:pointer}.qfb-mc-variable:hover{color:#FFF;background-color:#c73412}.qfb-mc-merge-field .qfb-mc-input-variable input[type=text]{padding-right:36px}.qfb-mc-variable-identifier{font-size:11px;color:#888;margin-left:5px}.qfb-mc-variable:hover .qfb-mc-variable-identifier{color:#d2d2d2}.qfb-logic{min-height:60px}.qfb-logic-rule{position:relative;padding:10px;border-radius:5px;margin:5px 35px 10px 0}.qfb-logic-rule-columns{margin:0 -2px;width:auto;max-width:none}.qfb-logic-rule-column{float:left;padding:0 2px;min-height:1px}.qfb-logic-rule-column-element,.qfb-logic-rule-column-value{width:39%}.qfb-logic-rule-column-operator{width:22%}#wpbody .qfb-settings .qfb-logic-rules input[type=text],#wpbody .qfb-settings .qfb-logic-rules select{border-width:1px;height:38px;line-height:38px;margin-bottom:0}.qfb-logic-rules select{padding:5px}span.qfb-small-add-button,span.qfb-small-remove-button{display:inline-block;height:25px;line-height:25px;width:25px;cursor:pointer;vertical-align:text-bottom;text-align:center;border-radius:0 25px 25px;background:#14181b;color:#fff;-webkit-transform:scale(1) rotate(-45deg);transform:scale(1) rotate(-45deg);-webkit-transition:background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1);transition:background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1);transition:transform .1s cubic-bezier(1,.5,.8,1),background-color .2s ease-in-out;transition:transform .1s cubic-bezier(1,.5,.8,1),background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1)}span.qfb-small-remove-button:hover{background:#c73412;color:#fff}span.qfb-small-add-button:hover{background:#89c712}span.qfb-small-add-button:active,span.qfb-small-remove-button:active{-webkit-transform:scale(0.93) rotate(-45deg);transform:scale(0.93) rotate(-45deg)}span.qfb-small-add-button:before,span.qfb-small-remove-button:before{-webkit-transform:rotate(45deg);transform:rotate(45deg);display:inline-block}.qfb-small-add-button,.qfb-small-remove-button{position:absolute;right:-35px;top:0;text-align:center}.qfb-small-add-button{margin-top:30px}
     1.qfb-nav-mailchimp-icon{background:transparent url(../images/mailchimp-logo.png) center center no-repeat}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.qfb-nav-mailchimp-icon{background:transparent url(../images/mailchimp-logo@2x.png) center center no-repeat;background-size:auto 28px}}.quform_mailchimp_admin_page_integrations_edit .qfb-tabs-nav-mailchimp-integrations a,.quform_mailchimp_admin_page_integrations_edit .qfb-tabs-nav-mailchimp-integrations a:hover,.quform_mailchimp_admin_page_integrations_list .qfb-tabs-nav-mailchimp-integrations a,.quform_mailchimp_admin_page_integrations_list .qfb-tabs-nav-mailchimp-integrations a:hover,.quform_mailchimp_admin_page_settings .qfb-tabs-nav-mailchimp-settings a,.quform_mailchimp_admin_page_settings .qfb-tabs-nav-mailchimp-settings a:hover{background:#cf3513;background:-webkit-gradient(linear,left top,left bottom,from(#cf3513),to(#ba2f0f));background:linear-gradient(to bottom,#cf3513 0,#ba2f0f 100%);padding:5px 12px;height:39px;margin:0 4px 0 0;border:1px solid #ba2f0f;color:#fff;font-weight:700;position:relative;border-bottom-left-radius:0}.quform_mailchimp_admin_page_integrations_edit .qfb-tabs-nav-mailchimp-integrations a:after,.quform_mailchimp_admin_page_integrations_list .qfb-tabs-nav-mailchimp-integrations a:after,.quform_mailchimp_admin_page_settings .qfb-tabs-nav-mailchimp-settings a:after{content:'';position:absolute;top:100%;left:-1px;width:0;height:0;border-style:solid;border-width:10px 10px 0 0;border-color:#ba2f0f transparent transparent}#qfb-mc-integration-email-spinner,#qfb-mc-integration-groups-spinner,#qfb-mc-integration-list-spinner,#qfb-mc-integration-logic-spinner,#qfb-mc-integration-merge-fields-spinner{margin:6px 0}#qfb-mc-integration-email-sync,#qfb-mc-integration-groups-sync,#qfb-mc-integration-list-sync,#qfb-mc-integration-logic-sync,#qfb-mc-integration-merge-fields-sync{position:absolute;right:0;top:0;cursor:pointer;line-height:inherit}#qfb-mc-logic,#qfb-mc-merge-fields{width:800px;max-width:100%}.qfb-mc-merge-field{position:relative;padding:10px;border-radius:5px;margin:5px 35px 10px 0}.qfb-mc-merge-field-columns{margin:0 -2px;width:auto;max-width:none}.qfb-mc-merge-field-column{float:left;width:50%;padding:0 2px;min-height:1px}#wpbody .qfb-settings .qfb-mc-merge-field select,.qfb-mc-merge-field .qfb-mc-input-variable input[type=text]{height:38px;min-height:0;border-width:1px;padding:5px 10px;margin:0}#qfb-mc-merge-fields span.qfb-small-add-button,span.qfb-small-remove-button{display:inline-block;height:25px;line-height:25px;width:25px;cursor:pointer;vertical-align:text-bottom;text-align:center;border-radius:0 25px 25px;background:#14181b;color:#fff;-webkit-transform:scale(1) rotate(-45deg);transform:scale(1) rotate(-45deg);-webkit-transition:background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1);transition:background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1);transition:transform .1s cubic-bezier(1,.5,.8,1),background-color .2s ease-in-out;transition:transform .1s cubic-bezier(1,.5,.8,1),background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1)}#qfb-mc-merge-fields span.qfb-small-remove-button:hover{background:#c73412;color:#fff}#qfb-mc-merge-fields span.qfb-small-add-button:hover{background:#89c712}#qfb-mc-merge-fields span.qfb-small-add-button:active,span.qfb-small-remove-button:active{-webkit-transform:scale(.93) rotate(-45deg);transform:scale(.93) rotate(-45deg)}#qfb-mc-merge-fields span.qfb-small-add-button:before,span.qfb-small-remove-button:before{-webkit-transform:rotate(45deg);transform:rotate(45deg);display:inline-block}#qfb-mc-merge-fields .qfb-small-add-button,#qfb-mc-merge-fields .qfb-small-remove-button{position:absolute;right:-35px;top:0;text-align:center}#qfb-mc-merge-fields .qfb-small-add-button{margin-top:30px}.forms_page_quform-mailchimp #screen-meta-links{display:none}#qfb_mc_api_key{float:left;margin-right:10px}.qfb-mc-insert-variable{text-decoration:none;cursor:pointer;border-radius:3px;background-color:#eee;color:#888;font-size:18px;line-height:20px;display:inline-block;padding:7px 16px;margin:5px 0}.qfb-mc-input-variable .qfb-mc-insert-variable{background-color:#fff;color:#c73412;cursor:pointer;display:inline-block;font-size:14px;height:36px;line-height:36px;text-align:center;width:34px;margin:0;padding:0;border-radius:0 5px 5px 0;border:1px none #e0e0e0;border-left-style:solid;background:#fcfcfc;background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fcfcfc),to(#f2f2f2));background:linear-gradient(to bottom,#fcfcfc 0,#f2f2f2 100%);position:absolute;right:1px;top:1px}.qfb-mc-insert-variable.qfb-mc-active{background:#c73412;color:#fff;border-color:#c73412}.qfb-mc-input-variable{position:relative}.qfb-mc-insert-variable-menu{display:none;position:fixed;top:0;left:0;height:370px;overflow:auto;z-index:100006;background:#fff;padding:10px;width:240px;border:1px solid #fff;-webkit-box-shadow:0 20px 20px 0 rgba(0,0,0,.2);box-shadow:0 20px 20px 0 rgba(0,0,0,.2)}.qfb-mc-insert-variable-heading{font-weight:700}.qfb-mc-variable{padding:3px 3px 3px 15px;cursor:pointer}.qfb-mc-variable:hover{color:#fff;background-color:#c73412}.qfb-mc-variable-identifier{font-size:11px;color:#888;margin-left:5px}.qfb-mc-variable:hover .qfb-mc-variable-identifier{color:#d2d2d2}.qfb-mc-merge-field .qfb-mc-input-variable input[type=text]{padding-right:36px}.qfb-mc-variable-identifier{font-size:11px;color:#888;margin-left:5px}.qfb-mc-variable:hover .qfb-mc-variable-identifier{color:#d2d2d2}.qfb-logic{min-height:60px}.qfb-logic-rule{position:relative;padding:10px;border-radius:5px;margin:5px 35px 10px 0}.qfb-logic-rule-columns{margin:0 -2px;width:auto;max-width:none}.qfb-logic-rule-column{float:left;padding:0 2px;min-height:1px}.qfb-logic-rule-column-element,.qfb-logic-rule-column-value{width:39%}.qfb-logic-rule-column-operator{width:22%}#wpbody .qfb-settings .qfb-logic-rules input[type=text],#wpbody .qfb-settings .qfb-logic-rules select{border-width:1px;height:38px;margin:0;min-height:0;padding:5px 10px}span.qfb-small-add-button,span.qfb-small-remove-button{display:inline-block;height:25px;line-height:25px;width:25px;cursor:pointer;vertical-align:text-bottom;text-align:center;border-radius:0 25px 25px;background:#14181b;color:#fff;-webkit-transform:scale(1) rotate(-45deg);transform:scale(1) rotate(-45deg);-webkit-transition:background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1);transition:background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1);transition:transform .1s cubic-bezier(1,.5,.8,1),background-color .2s ease-in-out;transition:transform .1s cubic-bezier(1,.5,.8,1),background-color .2s ease-in-out,-webkit-transform .1s cubic-bezier(1,.5,.8,1)}span.qfb-small-remove-button:hover{background:#c73412;color:#fff}span.qfb-small-add-button:hover{background:#89c712}span.qfb-small-add-button:active,span.qfb-small-remove-button:active{-webkit-transform:scale(.93) rotate(-45deg);transform:scale(.93) rotate(-45deg)}span.qfb-small-add-button:before,span.qfb-small-remove-button:before{-webkit-transform:rotate(45deg);transform:rotate(45deg);display:inline-block}.qfb-small-add-button,.qfb-small-remove-button{position:absolute;right:-35px;top:0;text-align:center}.qfb-small-add-button{margin-top:30px}
  • quform-mailchimp/trunk/admin/js/integrations.edit.js

    r2015302 r2265145  
    44 * Mailchimp integrations edit module
    55 *
    6  * @copyright Copyright (c) 2018 ThemeCatcher (https://www.themecatcher.net)
     6 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    77 */
    88
     
    926926
    927927                if (response.type === 'success') {
    928                     module.currentLogicSources = response.logicSources; // TODO was here
     928                    module.currentLogicSources = response.logicSources;
    929929                    module.buildLogic([
    930930                            { text: editL10n.runThisIntegration, value: '1', selected: action },
     
    12591259
    12601260        /**
    1261          * Refresh the available tags and values in the merge fields
     1261         * Refresh the logic rules based on the current integration settings
    12621262         */
    12631263        resyncLogic: function () {
  • quform-mailchimp/trunk/admin/js/integrations.list.js

    r2000032 r2265145  
    44 * Mailchimp integrations list module
    55 *
    6  * @copyright Copyright (c) 2018 ThemeCatcher (https://www.themecatcher.net)
     6 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    77 */
    88
  • quform-mailchimp/trunk/admin/js/integrations.list.min.js

    r2000032 r2265145  
    1 var quform=function(e,t,n,i){"use strict";var o,a=e.core,s=a.cache,r=t(document),c=!1,d=!1;return t((o={init:function(){"#add"===window.location.hash&&o.showAddNewPopup(),s.get(".qfb-tabs-nav-mailchimp-add-integration").click(function(e){e.preventDefault(),o.showAddNewPopup()}),s.get("#qfb-add-new-mc-integration-popup").find(".qfb-popup-close-button").click(o.hideAddNewPopup),s.get("#qfb-add-new-mc-integration-submit").click(o.addNew),s.get("#qfb-add-new-mc-integration-name").keyup(function(e){13===e.keyCode&&s.get("#qfb-add-new-mc-integration-submit").click()}),s.get("#the-list").find(".column-shortcode input").on("click",function(){t(this).focus().select()}),s.get("#the-list").find(".delete a").click(function(){return confirm(n.singleConfirmDelete)}),t("#doaction").click(function(){return 0<t('input[name="ids[]"]:checked').length&&("delete"===t("#bulk-action-selector-top").val()?confirm(n.pluralConfirmDelete):void 0)}),t("#doaction2").click(function(){return 0<t('input[name="ids[]"]:checked').length&&("delete"===t("#bulk-action-selector-bottom").val()?confirm(n.pluralConfirmDelete):void 0)}),s.get("#qfb-show-mc-integration-table-settings").click(function(){o.showTableSettings()}),s.get("#qfb-mc-integrations-table-settings").find(".qfb-popup-save-button").click(function(){o.saveTableSettings()}),s.get("#qfb-mc-integrations-table-settings").find(".qfb-popup-close-button").click(function(){o.hideTableSettings()}),s.get("#qfb-mc-integrations-table-settings").find(".qfb-popup-overlay").click(function(){o.hideTableSettings()}),s.get("#qfb_mailchimp_integrations_per_page").on("keyup",function(e){e.keyCode&&13===e.keyCode&&o.saveTableSettings()})},showAddNewPopup:function(){r.on("keydown.quform-close-popup",function(e){27===e.keyCode&&o.hideAddNewPopup()}),s.get("body").css("overflow","hidden"),s.get("#qfb-add-new-mc-integration-popup").show(),s.get("#qfb-add-new-mc-integration-name").focus()},hideAddNewPopup:function(){r.off("keydown.quform-close-popup"),s.get("#qfb-add-new-mc-integration-popup").hide(),s.get("body").css("overflow","")},addNew:function(){c||(c=!0,s.get("#qfb-add-new-mc-integration-loading").css({opacity:1}),t.ajax({type:"POST",url:i.ajaxUrl,data:{action:"quform_mc_add_integration",_ajax_nonce:n.addNewNonce,name:s.get("#qfb-add-new-mc-integration-name").val()},dataType:"json"}).done(function(e){"success"!==(e=a.sanitiseResponse(e)).type?(s.get("#qfb-add-new-mc-integration-popup").find(".qfb-validation-error").remove(),c=!1,"error"!==e.type&&"invalid"!==e.type||o.onAddFail(e)):window.location=e.url}).fail(function(){s.get("#qfb-add-new-mc-integration-popup").find(".qfb-validation-error").remove(),c=!1,o.onAddFail({message:i.ajaxError})}).always(function(){s.get("#qfb-add-new-mc-integration-loading").css({opacity:0})}))},onAddFail:function(e){var i;a.isNonEmptyString(e.message)&&a.showFixedMessage(n.errorAdding+"<br>"+e.message,"error"),e.errors&&t.each(e.errors,function(e,t){var n=s.get("#"+e).closest(a.settingInputWrap);i||(i=n),a.addValidationError(n,t)}),i&&a.scrollTo(i,s.get("#qfb-add-new-mc-integration-popup-inner"))},showTableSettings:function(){s.get("body").css("overflow","hidden"),s.get("#qfb-mc-integrations-table-settings").show()},hideTableSettings:function(){s.get("body").css("overflow",""),s.get("#qfb-mc-integrations-table-settings").hide(),s.get("#qfb-mc-integrations-table-settings").find(".qfb-submission-error").remove(),s.get("#qfb-mc-integrations-table-settings").find(".qfb-validation-error").remove()},saveTableSettings:function(){d||(d=!0,s.get("#qfb-mc-integrations-table-settings").find(".qfb-submission-error").remove(),s.get("#qfb-mc-integrations-table-settings").find(".qfb-validation-error").remove(),t.ajax({url:i.ajaxUrl,type:"POST",dataType:"json",data:{action:"quform_mc_save_integrations_table_settings",_ajax_nonce:n.saveTableSettingsNonce,per_page:s.get("#qfb_mailchimp_integrations_per_page").val()}}).done(function(e){if(e=a.sanitiseResponse(e),d=!1,"success"===e.type)window.location.reload();else if("error"===e.type||"invalid"===e.type){var i=[];e.message&&i.push(a.addSubmissionError(s.get("#qfb-mc-integrations-table-settings").find(".qfb-settings"),e.message)),e.errors&&t.each(e.errors,function(e,t){var n=s.get("#"+e).closest(a.settingInputWrap);a.addValidationError(n,t),i.push(n)}),i.length&&a.scrollTo(i[0],s.get("#qfb-mc-integrations-table-settings-inner"))}}).fail(function(){a.scrollTo(a.addSubmissionError(s.get("#qfb-mc-integrations-table-settings").find(".qfb-settings"),i.ajaxError),s.get("#qfb-mc-integrations-table-settings-inner")),d=!1}))}}).init),e.mailchimp=e.mailchimp||{},e.mailchimp.list=o,e}(quform,jQuery,quformMailchimpIntegrationsListL10n,quformCoreL10n);
     1var quform=function(e,t,n,i){"use strict";var o,a=e.core,s=a.cache,r=t(document),c=!1,d=!1;return o={init:function(){"#add"===window.location.hash&&o.showAddNewPopup(),s.get(".qfb-tabs-nav-mailchimp-add-integration").click(function(e){e.preventDefault(),o.showAddNewPopup()}),s.get("#qfb-add-new-mc-integration-popup").find(".qfb-popup-close-button").click(o.hideAddNewPopup),s.get("#qfb-add-new-mc-integration-submit").click(o.addNew),s.get("#qfb-add-new-mc-integration-name").keyup(function(e){13===e.keyCode&&s.get("#qfb-add-new-mc-integration-submit").click()}),s.get("#the-list").find(".column-shortcode input").on("click",function(){t(this).focus().select()}),s.get("#the-list").find(".delete a").click(function(){return confirm(n.singleConfirmDelete)}),t("#doaction").click(function(){return 0<t('input[name="ids[]"]:checked').length&&("delete"===t("#bulk-action-selector-top").val()?confirm(n.pluralConfirmDelete):void 0)}),t("#doaction2").click(function(){return 0<t('input[name="ids[]"]:checked').length&&("delete"===t("#bulk-action-selector-bottom").val()?confirm(n.pluralConfirmDelete):void 0)}),s.get("#qfb-show-mc-integration-table-settings").click(function(){o.showTableSettings()}),s.get("#qfb-mc-integrations-table-settings").find(".qfb-popup-save-button").click(function(){o.saveTableSettings()}),s.get("#qfb-mc-integrations-table-settings").find(".qfb-popup-close-button").click(function(){o.hideTableSettings()}),s.get("#qfb-mc-integrations-table-settings").find(".qfb-popup-overlay").click(function(){o.hideTableSettings()}),s.get("#qfb_mailchimp_integrations_per_page").on("keyup",function(e){e.keyCode&&13===e.keyCode&&o.saveTableSettings()})},showAddNewPopup:function(){r.on("keydown.quform-close-popup",function(e){27===e.keyCode&&o.hideAddNewPopup()}),s.get("body").css("overflow","hidden"),s.get("#qfb-add-new-mc-integration-popup").show(),s.get("#qfb-add-new-mc-integration-name").focus()},hideAddNewPopup:function(){r.off("keydown.quform-close-popup"),s.get("#qfb-add-new-mc-integration-popup").hide(),s.get("body").css("overflow","")},addNew:function(){c||(c=!0,s.get("#qfb-add-new-mc-integration-loading").css({opacity:1}),t.ajax({type:"POST",url:i.ajaxUrl,data:{action:"quform_mc_add_integration",_ajax_nonce:n.addNewNonce,name:s.get("#qfb-add-new-mc-integration-name").val()},dataType:"json"}).done(function(e){"success"!==(e=a.sanitiseResponse(e)).type?(s.get("#qfb-add-new-mc-integration-popup").find(".qfb-validation-error").remove(),c=!1,"error"!==e.type&&"invalid"!==e.type||o.onAddFail(e)):window.location=e.url}).fail(function(){s.get("#qfb-add-new-mc-integration-popup").find(".qfb-validation-error").remove(),c=!1,o.onAddFail({message:i.ajaxError})}).always(function(){s.get("#qfb-add-new-mc-integration-loading").css({opacity:0})}))},onAddFail:function(e){var i;a.isNonEmptyString(e.message)&&a.showFixedMessage(n.errorAdding+"<br>"+e.message,"error"),e.errors&&t.each(e.errors,function(e,t){var n=s.get("#"+e).closest(a.settingInputWrap);i=i||n,a.addValidationError(n,t)}),i&&a.scrollTo(i,s.get("#qfb-add-new-mc-integration-popup-inner"))},showTableSettings:function(){s.get("body").css("overflow","hidden"),s.get("#qfb-mc-integrations-table-settings").show()},hideTableSettings:function(){s.get("body").css("overflow",""),s.get("#qfb-mc-integrations-table-settings").hide(),s.get("#qfb-mc-integrations-table-settings").find(".qfb-submission-error").remove(),s.get("#qfb-mc-integrations-table-settings").find(".qfb-validation-error").remove()},saveTableSettings:function(){d||(d=!0,s.get("#qfb-mc-integrations-table-settings").find(".qfb-submission-error").remove(),s.get("#qfb-mc-integrations-table-settings").find(".qfb-validation-error").remove(),t.ajax({url:i.ajaxUrl,type:"POST",dataType:"json",data:{action:"quform_mc_save_integrations_table_settings",_ajax_nonce:n.saveTableSettingsNonce,per_page:s.get("#qfb_mailchimp_integrations_per_page").val()}}).done(function(e){if(e=a.sanitiseResponse(e),d=!1,"success"===e.type)window.location.reload();else if("error"===e.type||"invalid"===e.type){var i=[];e.message&&i.push(a.addSubmissionError(s.get("#qfb-mc-integrations-table-settings").find(".qfb-settings"),e.message)),e.errors&&t.each(e.errors,function(e,t){var n=s.get("#"+e).closest(a.settingInputWrap);a.addValidationError(n,t),i.push(n)}),i.length&&a.scrollTo(i[0],s.get("#qfb-mc-integrations-table-settings-inner"))}}).fail(function(){a.scrollTo(a.addSubmissionError(s.get("#qfb-mc-integrations-table-settings").find(".qfb-settings"),i.ajaxError),s.get("#qfb-mc-integrations-table-settings-inner")),d=!1}))}},t(o.init),e.mailchimp=e.mailchimp||{},e.mailchimp.list=o,e}(quform,jQuery,quformMailchimpIntegrationsListL10n,quformCoreL10n);
  • quform-mailchimp/trunk/admin/js/settings.js

    r2000032 r2265145  
    44 * Mailchimp settings module
    55 *
    6  * @copyright 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     6 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    77 */
    88
     
    6666            saving = true;
    6767
    68             c.get('#qfb-settings-save-loading').show().animate({maxWidth:"43px"});
     68            c.get('#qfb-settings-save-loading').show().animate({ maxWidth: '43px' });
    6969
    7070            if (typeof savingTimeout === 'number') {
     
    9696            }).always(function () {
    9797                saving = false;
    98                 c.get('#qfb-settings-save-loading').animate({maxWidth:"0"}).hide();
     98                c.get('#qfb-settings-save-loading').css({ maxWidth: 0 }).hide();
    9999            });
    100100        },
     
    208208                module.onVerificationError(coreL10n.ajaxError);
    209209            }).always(function () {
    210                 c.get('#qfb-mc-settings-verify-loading').hide().css({ maxWidth: 0 });
     210                c.get('#qfb-mc-settings-verify-loading').css({ maxWidth: 0 }).hide();
    211211                verifying = false;
    212212            });
  • quform-mailchimp/trunk/admin/js/settings.min.js

    r2000032 r2265145  
    1 var quform=function(e,a,n,s){"use strict";var t,o=e.core,r=o.cache,i=a(window),f=!1,c=null,l=!1,g=!1;return a((t={init:function(){r.get("#qfb-mc-settings-form").submit(function(){return!1}),r.get("#qfb-mc-save-settings").add(r.get("#qfb-fixed-save-button")).click(function(){t.saveSettings()}),r.get("#qfb-mc-settings-verify").click(t.verifyApiKey),a(".qfb-permissions-role-name").click(function(){a(this).closest(".qfb-table-row").find(".qfb-permissions-capability").each(function(){this.checked=!this.checked})}),r.get("#qfb_mc_uninstall_confirm").change(function(){r.get("#qfb-mc-do-uninstall").closest(o.settingWrap)[this.checked?"qfbSlideShow":"qfbSlideHide"]()}),r.get("#qfb-mc-do-uninstall").click(t.uninstallPlugin)},saveSettings:function(){f||(f=!0,r.get("#qfb-settings-save-loading").show().animate({maxWidth:"43px"}),"number"==typeof c&&(clearTimeout(c),c=null),r.get("#qfb-fixed-save-button").removeClass("qfb-saving qfb-saved qfb-save-error").addClass("qfb-saving"),a.ajax({type:"POST",url:s.ajaxUrl,data:{action:"quform_mc_save_settings",_ajax_nonce:n.saveSettingsNonce,options:JSON.stringify(t.getSettings())},dataType:"json"}).done(function(e){"success"===(e=o.sanitiseResponse(e)).type?t.onSaveSuccess():t.onSaveError(e.message)}).fail(function(){t.onSaveError(s.ajaxError)}).always(function(){f=!1,r.get("#qfb-settings-save-loading").animate({maxWidth:"0"}).hide()}))},getSettings:function(){var n={enabled:r.get("#qfb_mc_enabled").is(":checked"),permissions:{}};return a(".qfb-permissions-capability").each(function(){var e=a(this),s=e.data("role"),i=e.data("capability");"undefined"==typeof n.permissions[s]&&(n.permissions[s]={}),n.permissions[s][i]=e.is(":checked")}),n},onSaveSuccess:function(){o.showFixedMessage(n.settingsSaved,"success"),r.get("#qfb-fixed-save-button").removeClass("qfb-saving").addClass("qfb-saved"),c=setTimeout(function(){r.get("#qfb-fixed-save-button").removeClass("qfb-saved")},2e3)},onSaveError:function(e){o.showFixedMessage(n.errorSavingSettings+"<br>"+e,"error"),r.get("#qfb-fixed-save-button").removeClass("qfb-saving").addClass("qfb-save-error"),c=setTimeout(function(){r.get("#qfb-fixed-save-button").removeClass("qfb-save-error")},2e3)},verifyApiKey:function(){if(l)alert(n.waitVerifying);else{var e=r.get("#qfb_mc_api_key").val();e.length&&(l=!0,r.get("#qfb-mc-settings-verify-loading").show().animate({maxWidth:"43px"}),a.ajax({type:"POST",url:s.ajaxUrl,data:{action:"quform_mc_verify_api_key",_ajax_nonce:n.verifyApiKeyNonce,api_key:e},dataType:"json"}).done(function(e){if("success"===(e=o.sanitiseResponse(e)).type)t.onVerificationSuccess(e.message);else if(("error"===e.type||"invalid"===e.type)&&(t.showVerificationMessage(e.message,"error"),"invalid"===e.type)){r.get("#qfb_mc_api_key_verified").prop("checked",!1);var s=r.get(".qfb-license-status"),i=s.find(".qfb-message-box");i.hasClass("qfb-message-box-success")&&s.fadeOut(function(){i.removeClass("qfb-message-box-success").addClass("qfb-message-box-error").find(".qfb-message-box-inner").text(n.unverified),s.fadeIn()})}}).fail(function(){t.onVerificationError(s.ajaxError)}).always(function(){r.get("#qfb-mc-settings-verify-loading").hide().css({maxWidth:0}),l=!1}))}},showVerificationMessage:function(e,s){r.get("#qfb-settings-verify-message").hide(),r.get("#qfb-settings-verify-message").find(".qfb-message-box").removeClass("qfb-message-box-success qfb-message-box-error").addClass("qfb-message-box-"+s),r.get("#qfb-settings-verify-message").find(".qfb-message-box-inner").html(e),r.get("#qfb-settings-verify-message").qfbSlideShow()},onVerificationSuccess:function(e){t.showVerificationMessage(e,"success"),r.get("#qfb_mc_api_key_verified").prop("checked",!0);var s=r.get(".qfb-license-status"),i=s.find(".qfb-message-box");i.hasClass("qfb-message-box-error")&&s.fadeOut(function(){i.removeClass("qfb-message-box-error").addClass("qfb-message-box-success").find(".qfb-message-box-inner").text(n.verified),s.fadeIn()})},onVerificationError:function(e){e=n.errorVerifying+(e?" ("+e+")":""),t.showVerificationMessage(e,"error")},uninstallPlugin:function(){g||(g=!0,r.get("#qfb_mc_uninstall_confirm").is(":checked")&&confirm(n.uninstallAreYouSure)?(r.get("#qfb-mc-uninstall-loading").css({opacity:1}),a.ajax({type:"POST",url:s.ajaxUrl,data:{action:"quform_mc_uninstall_plugin",_ajax_nonce:n.uninstallPluginNonce},dataType:"json"}).done(function(e){"success"===(e=o.sanitiseResponse(e)).type?window.location=n.pluginsUrl:"error"!==e.type&&"invalid"!==e.type||t.onUninstallPluginFail(e.message,"error")}).fail(function(){t.onUninstallPluginFail(s.ajaxError)}).always(function(){r.get("#qfb-mc-uninstall-loading").css({opacity:0}),g=!1})):g=!1)},onUninstallPluginFail:function(e){o.showFixedMessage(n.errorUninstalling+"<br>"+e,"error")}}).init),i.on("load",t.onWindowLoad),e.settings=t,e}(quform||{},jQuery,quformMailchimpSettingsL10n,quformCoreL10n);
     1var quform=function(e,a,n,s){"use strict";var t,o=e.core,r=o.cache,i=a(window),f=!1,c=null,l=!1,g=!1;return t={init:function(){r.get("#qfb-mc-settings-form").submit(function(){return!1}),r.get("#qfb-mc-save-settings").add(r.get("#qfb-fixed-save-button")).click(function(){t.saveSettings()}),r.get("#qfb-mc-settings-verify").click(t.verifyApiKey),a(".qfb-permissions-role-name").click(function(){a(this).closest(".qfb-table-row").find(".qfb-permissions-capability").each(function(){this.checked=!this.checked})}),r.get("#qfb_mc_uninstall_confirm").change(function(){r.get("#qfb-mc-do-uninstall").closest(o.settingWrap)[this.checked?"qfbSlideShow":"qfbSlideHide"]()}),r.get("#qfb-mc-do-uninstall").click(t.uninstallPlugin)},saveSettings:function(){f||(f=!0,r.get("#qfb-settings-save-loading").show().animate({maxWidth:"43px"}),"number"==typeof c&&(clearTimeout(c),c=null),r.get("#qfb-fixed-save-button").removeClass("qfb-saving qfb-saved qfb-save-error").addClass("qfb-saving"),a.ajax({type:"POST",url:s.ajaxUrl,data:{action:"quform_mc_save_settings",_ajax_nonce:n.saveSettingsNonce,options:JSON.stringify(t.getSettings())},dataType:"json"}).done(function(e){"success"===(e=o.sanitiseResponse(e)).type?t.onSaveSuccess():t.onSaveError(e.message)}).fail(function(){t.onSaveError(s.ajaxError)}).always(function(){f=!1,r.get("#qfb-settings-save-loading").css({maxWidth:0}).hide()}))},getSettings:function(){var n={enabled:r.get("#qfb_mc_enabled").is(":checked"),permissions:{}};return a(".qfb-permissions-capability").each(function(){var e=a(this),s=e.data("role"),i=e.data("capability");"undefined"==typeof n.permissions[s]&&(n.permissions[s]={}),n.permissions[s][i]=e.is(":checked")}),n},onSaveSuccess:function(){o.showFixedMessage(n.settingsSaved,"success"),r.get("#qfb-fixed-save-button").removeClass("qfb-saving").addClass("qfb-saved"),c=setTimeout(function(){r.get("#qfb-fixed-save-button").removeClass("qfb-saved")},2e3)},onSaveError:function(e){o.showFixedMessage(n.errorSavingSettings+"<br>"+e,"error"),r.get("#qfb-fixed-save-button").removeClass("qfb-saving").addClass("qfb-save-error"),c=setTimeout(function(){r.get("#qfb-fixed-save-button").removeClass("qfb-save-error")},2e3)},verifyApiKey:function(){if(l)alert(n.waitVerifying);else{var e=r.get("#qfb_mc_api_key").val();e.length&&(l=!0,r.get("#qfb-mc-settings-verify-loading").show().animate({maxWidth:"43px"}),a.ajax({type:"POST",url:s.ajaxUrl,data:{action:"quform_mc_verify_api_key",_ajax_nonce:n.verifyApiKeyNonce,api_key:e},dataType:"json"}).done(function(e){if("success"===(e=o.sanitiseResponse(e)).type)t.onVerificationSuccess(e.message);else if(("error"===e.type||"invalid"===e.type)&&(t.showVerificationMessage(e.message,"error"),"invalid"===e.type)){r.get("#qfb_mc_api_key_verified").prop("checked",!1);var s=r.get(".qfb-license-status"),i=s.find(".qfb-message-box");i.hasClass("qfb-message-box-success")&&s.fadeOut(function(){i.removeClass("qfb-message-box-success").addClass("qfb-message-box-error").find(".qfb-message-box-inner").text(n.unverified),s.fadeIn()})}}).fail(function(){t.onVerificationError(s.ajaxError)}).always(function(){r.get("#qfb-mc-settings-verify-loading").css({maxWidth:0}).hide(),l=!1}))}},showVerificationMessage:function(e,s){r.get("#qfb-settings-verify-message").hide(),r.get("#qfb-settings-verify-message").find(".qfb-message-box").removeClass("qfb-message-box-success qfb-message-box-error").addClass("qfb-message-box-"+s),r.get("#qfb-settings-verify-message").find(".qfb-message-box-inner").html(e),r.get("#qfb-settings-verify-message").qfbSlideShow()},onVerificationSuccess:function(e){t.showVerificationMessage(e,"success"),r.get("#qfb_mc_api_key_verified").prop("checked",!0);var s=r.get(".qfb-license-status"),i=s.find(".qfb-message-box");i.hasClass("qfb-message-box-error")&&s.fadeOut(function(){i.removeClass("qfb-message-box-error").addClass("qfb-message-box-success").find(".qfb-message-box-inner").text(n.verified),s.fadeIn()})},onVerificationError:function(e){e=n.errorVerifying+(e?" ("+e+")":""),t.showVerificationMessage(e,"error")},uninstallPlugin:function(){g||(g=!0,r.get("#qfb_mc_uninstall_confirm").is(":checked")&&confirm(n.uninstallAreYouSure)?(r.get("#qfb-mc-uninstall-loading").css({opacity:1}),a.ajax({type:"POST",url:s.ajaxUrl,data:{action:"quform_mc_uninstall_plugin",_ajax_nonce:n.uninstallPluginNonce},dataType:"json"}).done(function(e){"success"===(e=o.sanitiseResponse(e)).type?window.location=n.pluginsUrl:"error"!==e.type&&"invalid"!==e.type||t.onUninstallPluginFail(e.message,"error")}).fail(function(){t.onUninstallPluginFail(s.ajaxError)}).always(function(){r.get("#qfb-mc-uninstall-loading").css({opacity:0}),g=!1})):g=!1)},onUninstallPluginFail:function(e){o.showFixedMessage(n.errorUninstalling+"<br>"+e,"error")}},a(t.init),i.on("load",t.onWindowLoad),e.settings=t,e}(quform||{},jQuery,quformMailchimpSettingsL10n,quformCoreL10n);
  • quform-mailchimp/trunk/library/Quform/Mailchimp.php

    r2000032 r2265145  
    11<?php
     2
     3/**
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
     5 */
    26
    37class Quform_Mailchimp
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Admin/Page.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66abstract class Quform_Mailchimp_Admin_Page extends Quform_Admin_Page
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Admin/Page/Controller.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Admin/Page/Factory.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Admin/Page/Integrations/Add.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Admin/Page/Integrations/Edit.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
     
    8383            'noLogicElements' => __('There are no elements available to use for logic rules.', 'quform-mailchimp'),
    8484            'noLogicRules' => __('There are no logic rules yet, click "Add logic rule" to add one.', 'quform-mailchimp'),
    85             'logicRuleHtml' => $this->getLogicRuleHtml(),
     85            'logicRuleHtml' => $this->integrationBuilder->getLogicRuleHtml(),
    8686            'adminLabelElementId' => __('%1$s (%2$s)', 'quform-mailchimp'), /* translators: %1$s = element admin label, %2$s = element unique ID */
    8787            'is' => __('is', 'quform-mailchimp'),
     
    155155        return parent::getNavHtml($currentForm, $extra);
    156156    }
    157 
    158     /**
    159      * Get the HTML for a blank logic rule
    160      *
    161      * @return string
    162      */
    163     protected function getLogicRuleHtml()
    164     {
    165         $output = '<div class="qfb-logic-rule qfb-box">';
    166         $output .= '<div class="qfb-logic-rule-columns qfb-cf">';
    167         $output .= '<div class="qfb-logic-rule-column qfb-logic-rule-column-element"></div>';
    168         $output .= '<div class="qfb-logic-rule-column qfb-logic-rule-column-operator"></div>';
    169         $output .= '<div class="qfb-logic-rule-column qfb-logic-rule-column-value"></div>';
    170         $output .= '</div>';
    171         $output .= sprintf('<span class="qfb-small-add-button mdi mdi-add_circle" title="%s"></span>', esc_attr__('Add new logic rule', 'quform-mailchimp'));
    172         $output .= sprintf('<span class="qfb-small-remove-button fa fa-trash" title="%s"></span>', esc_attr__('Remove logic rule', 'quform-mailchimp'));
    173         $output .= '</div>';
    174 
    175         return $output;
    176     }
    177157}
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Admin/Page/Integrations/List.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Admin/Page/Settings.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
     
    6969    }
    7070
     71    /**
     72     * Process this page and send data to the view
     73     */
    7174    public function process()
    7275    {
     76        if ( ! current_user_can('quform_mailchimp_settings')) {
     77            wp_die(__( 'You do not have sufficient permissions to access this page.', 'quform-mailchimp'), 403);
     78        }
     79
    7380        $this->view->with(array(
    7481            'options' => $this->options,
    7582            'roles' => get_editable_roles(),
    76             'caps' => $this->permissions->getAllCapabilities(),
     83            'caps' => $this->permissions->getAllCapabilitiesWithDescriptions(),
    7784        ));
    7885    }
  • quform-mailchimp/trunk/library/Quform/Mailchimp/ClassLoader.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66class Quform_Mailchimp_ClassLoader
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Client.php

    r2015302 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
     
    100100
    101101    /**
     102     * Send a PATCH request to the Mailchimp API
     103     *
     104     * @param   string          $endpoint  The API endpoint to call
     105     * @param   array           $data      Data array to send
     106     * @return  array|WP_Error
     107     */
     108    public function patch($endpoint, array $data = array())
     109    {
     110        return $this->request('PATCH', $endpoint, $data);
     111    }
     112
     113    /**
    102114     * Convert the data into the correct format for the given request method
    103115     *
     
    113125            case 'POST':
    114126            case 'PUT':
     127            case 'PATCH':
    115128                $data = wp_json_encode($data);
    116129                break;
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Container.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66class Quform_Mailchimp_Container
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Dispatcher.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66class Quform_Mailchimp_Dispatcher
     
    4747
    4848    /**
    49      * Show an admin notice if the Quform plugin is not compatible with this addon
     49     * Show an admin notice if the Quform plugin is not compatible with this add-on
    5050     */
    5151    public function showUpdateQuformNotice()
     
    5353        printf(
    5454            '<div class="notice notice-error"><p>%s</p></div>',
    55             esc_html__('Please update the Quform plugin to version 2.6.0 or later to use the Quform Mailchimp addon.', 'quform-mailchimp')
     55            esc_html__('Please update the Quform plugin to version 2.6.0 or later to use the Quform Mailchimp add-on.', 'quform-mailchimp')
    5656        );
    5757    }
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Integration.php

    r2076988 r2265145  
    11<?php
     2
     3/**
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
     5 */
    26
    37class Quform_Mailchimp_Integration
     
    8084        $data = apply_filters('quform_mailchimp_integration_data_' . $this->config('id'), $data, $this->form, $this);
    8185
    82         $api->put($endpoint, $data);
     86        $response = $api->put($endpoint, $data);
     87
     88        $code = wp_remote_retrieve_response_code($response);
     89        $body = wp_remote_retrieve_body($response);
     90
     91        if ($code === 200 && Quform::isNonEmptyString($body)) {
     92            $contact = json_decode($body, true);
     93
     94            if (is_array($contact) && isset($contact['status']) && $contact['status'] == 'unsubscribed') {
     95                $api->patch($endpoint, array('status' => $this->config('doubleOptIn') ? 'pending' : 'subscribed'));
     96            }
     97        }
    8398    }
    8499
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Integration/Builder.php

    r2007729 r2265145  
    11<?php
     2
     3/**
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
     5 */
    26
    37class Quform_Mailchimp_Integration_Builder
     
    660664        <?php
    661665        return ob_get_clean();
     666    }
     667
     668    /**
     669     * Get the HTML for a blank logic rule
     670     *
     671     * @return string
     672     */
     673    public function getLogicRuleHtml()
     674    {
     675        $output = '<div class="qfb-logic-rule qfb-box">';
     676        $output .= '<div class="qfb-logic-rule-columns qfb-cf">';
     677        $output .= '<div class="qfb-logic-rule-column qfb-logic-rule-column-element"></div>';
     678        $output .= '<div class="qfb-logic-rule-column qfb-logic-rule-column-operator"></div>';
     679        $output .= '<div class="qfb-logic-rule-column qfb-logic-rule-column-value"></div>';
     680        $output .= '</div>';
     681        $output .= sprintf('<span class="qfb-small-add-button mdi mdi-add_circle" title="%s"></span>', esc_attr__('Add new logic rule', 'quform-mailchimp'));
     682        $output .= sprintf('<span class="qfb-small-remove-button fa fa-trash" title="%s"></span>', esc_attr__('Remove logic rule', 'quform-mailchimp'));
     683        $output .= '</div>';
     684
     685        return $output;
    662686    }
    663687
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Integration/Controller.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Integration/Factory.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Integration/List/Settings.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66class Quform_Mailchimp_Integration_List_Settings
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Integration/List/Table.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Integration/Repository.php

    r2000032 r2265145  
    11<?php
     2
     3/**
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
     5 */
    26
    37class Quform_Mailchimp_Integration_Repository
     
    6165        if (Quform::isNonEmptyString($args['search'])) {
    6266            $search = '%' . $wpdb->esc_like($args['search']) . '%';
    63             $where[] = $wpdb->prepare("(i.list_name LIKE '%s' OR f.name LIKE '%s')", array($search, $search));
     67            $where[] = $wpdb->prepare("(i.name LIKE '%s' OR i.list_name LIKE '%s' OR f.name LIKE '%s')", array($search, $search, $search));
    6468        }
    6569
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Options.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Permissions.php

    r2076988 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
     
    1414    public function getAllCapabilities()
    1515    {
    16         return apply_filters('quform_mailchimp_capabilities', array(
     16        return apply_filters('quform_mailchimp_all_capabilities', array(
     17            'quform_mailchimp_list_integrations',
     18            'quform_mailchimp_add_integrations',
     19            'quform_mailchimp_edit_integrations',
     20            'quform_mailchimp_delete_integrations',
     21            'quform_mailchimp_settings'
     22        ));
     23    }
     24
     25    /**
     26     * Get the list of all plugin capabilities (with descriptions)
     27     *
     28     * Due to a conflict with WPML, this needs to be separate from getAllCapabilities.
     29     *
     30     * @return array
     31     */
     32    public function getAllCapabilitiesWithDescriptions()
     33    {
     34        return apply_filters('quform_mailchimp_all_capabilities_with_descriptions', array(
    1735            'quform_mailchimp_list_integrations' => __('List Integrations', 'quform-mailchimp'),
    1836            'quform_mailchimp_add_integrations' => __('Add Integrations', 'quform-mailchimp'),
     
    3149
    3250        if ( ! empty($role)) {
    33             $caps = array_keys($this->getAllCapabilities());
    34 
    35             foreach ($caps as $cap) {
     51            foreach ($this->getAllCapabilities() as $cap) {
    3652                $role->add_cap($cap);
    3753            }
     
    5066    public function update(array $permissions)
    5167    {
    52         $caps = array_keys($this->getAllCapabilities());
     68        $caps = $this->getAllCapabilities();
    5369
    5470        /* @var $wp_roles WP_Roles */
     
    84100    public function uninstall()
    85101    {
    86         $caps = array_keys($this->getAllCapabilities());
     102        $caps = $this->getAllCapabilities();
    87103
    88104        /* @var $wp_roles WP_Roles */
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Settings.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66
     
    8181
    8282    /**
    83      * Validate the request to add a new integration
     83     * Validate the request to verify the API key
    8484     */
    8585    protected function validateVerifyApiKeyRequest()
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Uninstaller.php

    r2000032 r2265145  
    22
    33/**
    4  * @copyright Copyright (c) 2009-2018 ThemeCatcher (https://www.themecatcher.net)
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
    55 */
    66class Quform_Mailchimp_Uninstaller
  • quform-mailchimp/trunk/library/Quform/Mailchimp/Upgrader.php

    r2000032 r2265145  
    11<?php
     2
     3/**
     4 * @copyright Copyright (c) 2009-2020 ThemeCatcher (https://www.themecatcher.net)
     5 */
    26
    37class Quform_Mailchimp_Upgrader
  • quform-mailchimp/trunk/quform-mailchimp.php

    r2076988 r2265145  
    55 * Plugin URI: https://www.quform.com
    66 * Description: Easily add contacts to Mailchimp from Quform forms.
    7  * Version: 1.0.3
     7 * Version: 1.0.4
    88 * Author: ThemeCatcher
    99 * Author URI: https://www.themecatcher.net
     
    1616}
    1717
    18 define('QUFORM_MAILCHIMP_VERSION', '1.0.3');
     18define('QUFORM_MAILCHIMP_VERSION', '1.0.4');
    1919define('QUFORM_MAILCHIMP_PATH', dirname(__FILE__));
    2020define('QUFORM_MAILCHIMP_NAME', basename(QUFORM_MAILCHIMP_PATH));
  • quform-mailchimp/trunk/readme.txt

    r2076988 r2265145  
    44Tags: mailchimp, form builder, email marketing, forms, quform, gdpr
    55Requires at least: 4.6
    6 Tested up to: 5.2
    7 Stable tag: 1.0.3
     6Tested up to: 5.4
     7Stable tag: 1.0.4
    88Requires PHP: 5.2.4
    99License: GPLv2 or later
     
    4848== Installation ==
    4949
    50 Upload the Quform Mailchimp plugin to your site. Activate it, then configure the Mailchimp integrations at Quform -> Mailchimp on the WordPress menu.
     50Upload the Quform Mailchimp plugin to your site. Activate it, then configure the Mailchimp integrations at Forms -> Mailchimp on the WordPress menu.
    5151
    5252== Changelog ==
     53
     54= 1.0.4 =
     55* Fixed re-subscribing for contacts who have unsubscribed
     56* Fixed searching integrations not working for the integration name
     57* Fixed a conflict with WPML
    5358
    5459= 1.0.3 =
Note: See TracChangeset for help on using the changeset viewer.