Changeset 3472211
- Timestamp:
- 03/01/2026 07:57:06 PM (5 weeks ago)
- Location:
- zypento-abandoned-cart-recovery/trunk
- Files:
-
- 2 added
- 6 edited
-
README.txt (modified) (1 diff)
-
assets/js/admin-main.js (modified) (1 diff)
-
assets/js/api-settings.js (added)
-
assets/js/src/admin/api-settings.js (added)
-
assets/js/src/admin/settings.js (modified) (1 diff)
-
includes/core/class-admin.php (modified) (3 diffs)
-
partials/admin/zypento.php (modified) (1 diff)
-
zypento-abandoned-cart-recovery.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
zypento-abandoned-cart-recovery/trunk/README.txt
r3451148 r3472211 3 3 Tags: automation, integration, workflow, dataflow 4 4 Tested up to: 6.9 5 Stable tag: 1.0. 05 Stable tag: 1.0.1 6 6 License: GPLv2 or later 7 7 License 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 21 21 }); 22 22 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.result85 ){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.reason97 ){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.reason113 ){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 132 23 }); 133 24 -
zypento-abandoned-cart-recovery/trunk/includes/core/class-admin.php
r3451148 r3472211 52 52 add_filter( 'zypento_admin_settings', array( $this, 'add_settings_menu_item' ) ); 53 53 add_action( 'zypento_admin_page_content', array( $this, 'add_wishlist_settings' ) ); 54 add_filter( 'zypento_a c_admin_variables', array( $this, 'add_ac_variables' ) );54 add_filter( 'zypento_admin_variables', array( $this, 'add_ac_variables' ) ); 55 55 add_action( 'rest_api_init', array( $this, 'register_routes' ) ); 56 56 … … 107 107 } 108 108 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(); 116 119 117 120 if ( is_user_logged_in() && current_user_can( 'administrator' ) ) { 118 121 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 ); 125 130 126 131 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' ); 136 137 137 138 } … … 382 383 }, 383 384 'validate_callback' => function( $value ) { 384 return wp_verify_nonce( $value, 'zypento-a bandoned-cart-recovery' );385 return wp_verify_nonce( $value, 'zypento-admin' ); 385 386 }, 386 387 'required' => true, -
zypento-abandoned-cart-recovery/trunk/partials/admin/zypento.php
r3451148 r3472211 78 78 <div class="zypento-admin-heading"> 79 79 <h2><?php esc_html_e( 'Settings', 'zypento-wishlist-for-woocommerce' ); ?></h2> 80 <p><?php esc_html_e( 'Add addressand API key', 'zypento-wishlist-for-woocommerce' ); ?></p>80 <p><?php esc_html_e( 'Add Business ID and API key', 'zypento-wishlist-for-woocommerce' ); ?></p> 81 81 </div> 82 82 -
zypento-abandoned-cart-recovery/trunk/zypento-abandoned-cart-recovery.php
r3451148 r3472211 11 11 * Plugin URI: 12 12 * Description: Abandoned cart recovery Ai agent for WooCommerce. 13 * Version: 1.0. 013 * Version: 1.0.1 14 14 * Requires at least: 6.0 15 15 * Requires PHP: 7.4
Note: See TracChangeset
for help on using the changeset viewer.