Plugin Directory

Changeset 3472211


Ignore:
Timestamp:
03/01/2026 07:57:06 PM (5 weeks ago)
Author:
sproutient
Message:

Fixed settings issue

Location:
zypento-abandoned-cart-recovery/trunk
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • zypento-abandoned-cart-recovery/trunk/README.txt

    r3451148 r3472211  
    33Tags: automation, integration, workflow, dataflow
    44Tested up to: 6.9
    5 Stable tag: 1.0.0
     5Stable tag: 1.0.1
    66License: GPLv2 or later
    77License URI: http://www.gnu.org/licenses/gpl-2.0.html
  • zypento-abandoned-cart-recovery/trunk/assets/js/admin-main.js

    r3451148 r3472211  
    1 (()=>{"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}var e;(e=jQuery)((function(){var a=e(".zypento-admin-actions").find(".zypento-admin-action").first().find(".zypento-menu-item").first(),n=a.attr("data-target");a.attr("data-type","active"),e(n).css({display:"block"}),e(".zypento-menu-item").on("click",(function(){var t=e(this).attr("data-target");e(".zypento-admin-content>div").css({display:"none"}),e(t).css({display:"block"}),e(".zypento-menu-item").attr("data-type",""),e(this).attr("data-type","active")})),e(".zypento-submit>span").on("click",(function(){var a={},n=!0;if(e(".zypento-message").text("").attr({"data-type":""}).removeAttr("style"),e(this).closest(".zypento-settings-content").find(".zypento-option").each((function(){var t=e(this),o=t.find("input").attr("name"),s=t.find("input").attr("type"),r="";"text"!==s&&"password"!==s||(r=t.find("input").val()),"checkbox"===s&&(r=t.find('input[type="checkbox"]:checked').map((function(){return e(this).val()})).get()),0===r.length&&(n=!1,t.find(".message").text(zypentoAcAdminVariables.labels.settings.errors[o].error).attr({"data-type":"error"})),0!==r.length&&(t.find(".message").text("").attr({"data-type":""}),a[o]=r)})),n||e(".zypento-message").text(zypentoAcAdminVariables.labels.settings.all).attr({"data-type":""}).css({display:"block"}),n){e(".zypento-message").text(zypentoAcAdminVariables.labels.settings.wait).attr({"data-type":""}).css({display:"block"});var o={};o.nonce=zypentoAcAdminVariables.nonce,o.value=JSON.stringify(a),jQuery.ajax({type:"POST",url:zypentoAcAdminVariables.api.admin.settings,data:o,beforeSend:function(t){t.setRequestHeader("X-WP-Nonce",zypentoAcAdminVariables.wpRestNonce)},timeout:1e4,success:function(a){Object.prototype.hasOwnProperty.call(a,"result")&&a.result&&e(".zypento-message").text(zypentoAcAdminVariables.labels.settings.success).attr({"data-type":""}).css({display:"block"}),Object.prototype.hasOwnProperty.call(a,"result")&&!a.result&&Object.prototype.hasOwnProperty.call(a,"data")&&Object.prototype.hasOwnProperty.call(a.data,"reason")&&"object"===t(a.data.reason)&&e.each(a.data.reason,(function(t,a){e('.zypento-option[data-type="'+t+'"]').find(".message").text(a).attr({"data-type":"error"})})),Object.prototype.hasOwnProperty.call(a,"result")&&!a.result&&Object.prototype.hasOwnProperty.call(a,"data")&&Object.prototype.hasOwnProperty.call(a.data,"reason")&&"object"!==t(a.data.reason)&&e(".zypento-message").text(a.data.reason).attr({"data-type":"error"}).css({display:"block"})},error:function(t,a,n){e(".zypento-message").text(zypentoAcAdminVariables.labels.settings.error).attr({"data-type":"error"}).css({display:"block"})}})}}))}))})();
     1(()=>{"use strict";var t;(t=jQuery)((function(){var a=t(".zypento-admin-actions").find(".zypento-admin-action").first().find(".zypento-menu-item").first(),n=a.attr("data-target");a.attr("data-type","active"),t(n).css({display:"block"}),t(".zypento-menu-item").on("click",(function(){var a=t(this).attr("data-target");t(".zypento-admin-content>div").css({display:"none"}),t(a).css({display:"block"}),t(".zypento-menu-item").attr("data-type",""),t(this).attr("data-type","active")}))}))})();
  • zypento-abandoned-cart-recovery/trunk/assets/js/src/admin/settings.js

    r3451148 r3472211  
    2121        });
    2222
    23         $('.zypento-submit>span').on('click', function(){
    24 
    25             var settings = {};
    26             var proceed = true;
    27 
    28             $('.zypento-message').text('').attr({'data-type':''}).removeAttr('style');
    29 
    30             $(this).closest('.zypento-settings-content').find('.zypento-option').each(function(){
    31 
    32                 var el = $(this);
    33                 var key = el.find('input').attr('name');
    34                 var type = el.find('input').attr('type');
    35                 var value = '';
    36 
    37                 if ( 'text' === type || 'password' === type ) {
    38                     value = el.find('input').val();
    39                 }
    40 
    41                 if ( 'checkbox' === type ) {
    42                     value = el.find('input[type="checkbox"]:checked').map(function() {
    43                         return $(this).val();
    44                     }).get();
    45                 }
    46 
    47                 if ( 0 === value.length ) {
    48                     proceed = false;
    49                     el.find('.message').text(zypentoAcAdminVariables.labels.settings.errors[key]['error']).attr({'data-type':'error'});
    50                 }
    51 
    52                 if ( 0 !== value.length ) {
    53                     el.find('.message').text('').attr({'data-type':''});
    54                     settings[key] = value;
    55                 }
    56 
    57             });
    58 
    59             if ( ! proceed ) {
    60                 $('.zypento-message').text(zypentoAcAdminVariables.labels.settings.all).attr({'data-type':''}).css({'display':'block'});
    61             }
    62 
    63             if ( proceed ) {
    64 
    65                 $('.zypento-message').text(zypentoAcAdminVariables.labels.settings.wait).attr({'data-type':''}).css({'display':'block'});
    66 
    67                 var sendData = {};
    68                 sendData['nonce'] = zypentoAcAdminVariables.nonce;
    69                 sendData['value'] = JSON.stringify( settings );
    70 
    71                 jQuery.ajax({
    72 
    73                     type: 'POST',
    74                     url: zypentoAcAdminVariables.api.admin.settings,
    75                     data: sendData,
    76                     beforeSend: function (xhr) {
    77                         xhr.setRequestHeader('X-WP-Nonce', zypentoAcAdminVariables.wpRestNonce);
    78                     },
    79                     timeout: 10000,
    80                     success: function(jsonData) {
    81 
    82                         if(
    83                             Object.prototype.hasOwnProperty.call(jsonData, "result") &&
    84                             jsonData.result
    85                         ){
    86 
    87                             $('.zypento-message').text(zypentoAcAdminVariables.labels.settings.success).attr({'data-type':''}).css({'display':'block'});
    88 
    89                         }
    90 
    91                         if(
    92                             Object.prototype.hasOwnProperty.call(jsonData, "result") &&
    93                             ! jsonData.result &&
    94                             Object.prototype.hasOwnProperty.call(jsonData, "data") &&
    95                             Object.prototype.hasOwnProperty.call(jsonData.data, "reason") &&
    96                             'object' === typeof jsonData.data.reason
    97                         ){
    98 
    99                             $.each(jsonData.data.reason, function(key, value){
    100 
    101                                 $('.zypento-option[data-type="' + key + '"]').find('.message').text(value).attr({'data-type':'error'});
    102 
    103                             });
    104 
    105                         }
    106 
    107                         if(
    108                             Object.prototype.hasOwnProperty.call(jsonData, "result") &&
    109                             ! jsonData.result &&
    110                             Object.prototype.hasOwnProperty.call(jsonData, "data") &&
    111                             Object.prototype.hasOwnProperty.call(jsonData.data, "reason") &&
    112                             'object' !== typeof jsonData.data.reason
    113                         ){
    114 
    115                             $('.zypento-message').text(jsonData.data.reason).attr({'data-type':'error'}).css({'display':'block'});
    116 
    117                         }
    118            
    119                     },
    120                     error: function(xhr, status, error) {
    121            
    122                         $('.zypento-message').text(zypentoAcAdminVariables.labels.settings.error).attr({'data-type':'error'}).css({'display':'block'});
    123            
    124                     },
    125            
    126                 });
    127 
    128             }
    129 
    130         });
    131 
    13223    });
    13324
  • zypento-abandoned-cart-recovery/trunk/includes/core/class-admin.php

    r3451148 r3472211  
    5252        add_filter( 'zypento_admin_settings', array( $this, 'add_settings_menu_item' ) );
    5353        add_action( 'zypento_admin_page_content', array( $this, 'add_wishlist_settings' ) );
    54         add_filter( 'zypento_ac_admin_variables', array( $this, 'add_ac_variables' ) );
     54        add_filter( 'zypento_admin_variables', array( $this, 'add_ac_variables' ) );
    5555        add_action( 'rest_api_init', array( $this, 'register_routes' ) );
    5656
     
    107107        }
    108108
    109         $variables['userLoggedIn'] = false;
    110         $variables['nonce']        = '';
    111         $variables['wpRestNonce']  = '';
    112         $variables['api']          = array();
    113         $variables['api']['admin'] = array();
    114 
    115         $variables['labels'] = array();
     109        $variables       = array();
     110        $admin_variables = array();
     111
     112        $admin_variables['userLoggedIn'] = false;
     113        $admin_variables['nonce']        = '';
     114        $admin_variables['wpRestNonce']  = '';
     115        $admin_variables['api']          = array();
     116        $admin_variables['api']['admin'] = array();
     117
     118        $admin_variables['labels'] = array();
    116119
    117120        if ( is_user_logged_in() && current_user_can( 'administrator' ) ) {
    118121
    119             $variables['nonce']       = esc_html( wp_create_nonce( 'zypento-abandoned-cart-recovery' ) );
    120             $variables['wpRestNonce'] = esc_html( wp_create_nonce( 'wp_rest' ) );
    121 
    122         }
    123 
    124         $variables = apply_filters( 'zypento_ac_admin_variables', $variables );
     122            $admin_variables['nonce']       = esc_html( wp_create_nonce( 'zypento-admin' ) );
     123            $admin_variables['wpRestNonce'] = esc_html( wp_create_nonce( 'wp_rest' ) );
     124
     125            $admin_variables['userLoggedIn'] = true;
     126
     127        }
     128
     129        $admin_variables = apply_filters( 'zypento_admin_variables', $admin_variables );
    125130
    126131        wp_enqueue_style( 'zypento-main', ZYPENTO_AC_PLUGIN_URL . '/assets/css/admin-main.css', array(), ZYPENTO_AC_VERSION, 'all' );
    127 
    128         wp_register_script( 'zypento-main', ZYPENTO_AC_PLUGIN_URL . '/assets/js/admin-main.js', array( 'jquery' ), ZYPENTO_AC_VERSION, true );
    129         wp_localize_script( 'zypento-main', 'zypentoAdminVariables', $variables );
    130         wp_enqueue_script( 'zypento-main' );
    131 
    132         wp_enqueue_style( ZYPENTO_AC_NAME, ZYPENTO_AC_PLUGIN_URL . '/assets/css/admin.css', array(), ZYPENTO_AC_VERSION, 'all' );
    133         wp_register_script( ZYPENTO_AC_NAME, ZYPENTO_AC_PLUGIN_URL . '/assets/js/admin.js', array( 'jquery' ), ZYPENTO_AC_VERSION, true );
    134         wp_localize_script( ZYPENTO_AC_NAME, 'zypentoAcAdminVariables', $variables );
    135         wp_enqueue_script( ZYPENTO_AC_NAME );
     132        wp_enqueue_script( 'zypento-main', ZYPENTO_AC_PLUGIN_URL . '/assets/js/admin-main.js', array( 'jquery' ), ZYPENTO_AC_VERSION, true );
     133
     134        wp_register_script( 'zypento-api', ZYPENTO_AC_PLUGIN_URL . '/assets/js/api-settings.js', array( 'jquery' ), ZYPENTO_AC_VERSION, true );
     135        wp_localize_script( 'zypento-api', 'zypentoAdminVariables', $admin_variables );
     136        wp_enqueue_script( 'zypento-api' );
    136137
    137138    }
     
    382383                            },
    383384                            'validate_callback' => function( $value ) {
    384                                 return wp_verify_nonce( $value, 'zypento-abandoned-cart-recovery' );
     385                                return wp_verify_nonce( $value, 'zypento-admin' );
    385386                            },
    386387                            'required'          => true,
  • zypento-abandoned-cart-recovery/trunk/partials/admin/zypento.php

    r3451148 r3472211  
    7878            <div class="zypento-admin-heading">
    7979                <h2><?php esc_html_e( 'Settings', 'zypento-wishlist-for-woocommerce' ); ?></h2>
    80                 <p><?php esc_html_e( 'Add address and API key', 'zypento-wishlist-for-woocommerce' ); ?></p>
     80                <p><?php esc_html_e( 'Add Business ID and API key', 'zypento-wishlist-for-woocommerce' ); ?></p>
    8181            </div>
    8282
  • zypento-abandoned-cart-recovery/trunk/zypento-abandoned-cart-recovery.php

    r3451148 r3472211  
    1111 * Plugin URI:
    1212 * Description:       Abandoned cart recovery Ai agent for WooCommerce.
    13  * Version:           1.0.0
     13 * Version:           1.0.1
    1414 * Requires at least: 6.0
    1515 * Requires PHP:      7.4
Note: See TracChangeset for help on using the changeset viewer.