Changeset 3462363
- Timestamp:
- 02/16/2026 09:50:00 AM (6 weeks ago)
- Location:
- woo-mailerlite
- Files:
-
- 2 added
- 14 edited
- 1 copied
-
tags/3.1.10 (copied) (copied from woo-mailerlite/trunk)
-
tags/3.1.10/README.txt (modified) (2 diffs)
-
tags/3.1.10/bootstrap.php (modified) (1 diff)
-
tags/3.1.10/includes/WooMailerLite.php (modified) (1 diff)
-
tags/3.1.10/includes/WooMailerLiteService.php (modified) (2 diffs)
-
tags/3.1.10/includes/common/WooMailerLiteEncryption.php (added)
-
tags/3.1.10/includes/common/WooMailerLiteOptions.php (modified) (3 diffs)
-
tags/3.1.10/includes/controllers/WooMailerLitePluginController.php (modified) (1 diff)
-
tags/3.1.10/woo-mailerlite.php (modified) (2 diffs)
-
trunk/README.txt (modified) (2 diffs)
-
trunk/bootstrap.php (modified) (1 diff)
-
trunk/includes/WooMailerLite.php (modified) (1 diff)
-
trunk/includes/WooMailerLiteService.php (modified) (2 diffs)
-
trunk/includes/common/WooMailerLiteEncryption.php (added)
-
trunk/includes/common/WooMailerLiteOptions.php (modified) (3 diffs)
-
trunk/includes/controllers/WooMailerLitePluginController.php (modified) (1 diff)
-
trunk/woo-mailerlite.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
woo-mailerlite/tags/3.1.10/README.txt
r3453754 r3462363 6 6 Tested up to: 6.8.2 7 7 Requires PHP: 7.2.5 8 Stable tag: 3.1. 98 Stable tag: 3.1.10 9 9 License: GPLv3 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 85 85 == Changelog == 86 86 87 = 3.1.10 (16th February 2026) = 88 * Security improvements 89 87 90 = 3.1.9 (4th February 2026) = 88 91 * Security improvements -
woo-mailerlite/tags/3.1.10/bootstrap.php
r3421835 r3462363 68 68 'WooMailerLiteCollection' => 'includes/common/WooMailerLiteCollection.php', 69 69 'WooMailerLiteQueryBuilder' => 'includes/common/WooMailerLiteQueryBuilder.php', 70 70 'WooMailerLiteEncryption' => 'includes/common/WooMailerLiteEncryption.php', 71 71 72 72 // includes/migrations -
woo-mailerlite/tags/3.1.10/includes/WooMailerLite.php
r3377455 r3462363 127 127 $this->loader->add_action('wp_ajax_woo_mailerlite_reset_integration_settings', WooMailerLiteAdminSettingsController::instance(), 'resetIntegration'); 128 128 $this->loader->add_action('wp_ajax_handle_debug_log', WooMailerLiteAdminWizardController::instance(), 'getDebugLogs'); 129 $this->loader->add_action('wp_ajax_woo_mailerlite_job_resolver', WooMailerLiteAdminSettingsController::instance(), 'jobResolver');130 129 $this->loader->add_action('wp_ajax_woo_mailerlite_downgrade_plugin', WooMailerLiteAdminSettingsController::instance(), 'downgradePlugin'); 131 130 $this->loader->add_action('wp_ajax_woo_mailerlite_enable_debug_mode', WooMailerLiteAdminSettingsController::instance(), 'enableDebugMode'); -
woo-mailerlite/tags/3.1.10/includes/WooMailerLiteService.php
r3453754 r3462363 36 36 $data = json_decode($data, true); 37 37 if (!isset($data['checkout_id'])) { 38 $data['checkout_id'] = floor(microtime(true) * 1000);38 $data['checkout_id'] = wp_generate_uuid4(); 39 39 } 40 40 … … 74 74 $data = json_decode($data, true); 75 75 if (!isset($data['checkout_id'])) { 76 $data['checkout_id'] = floor(microtime(true) * 1000);76 $data['checkout_id'] = wp_generate_uuid4(); 77 77 } 78 78 -
woo-mailerlite/tags/3.1.10/includes/common/WooMailerLiteOptions.php
r3377455 r3462363 4 4 { 5 5 private static $key = 'woo_mailerlite_options'; 6 private static $apiKey = 'apiKey'; 6 7 protected static $toJson = false; 7 8 … … 44 45 return json_encode($options[$key]); 45 46 } 47 48 if ($key === self::$apiKey && !empty($options[$key])) { 49 $decrypted = WooMailerLiteEncryption::instance()->decrypt($options[$key]); 50 if ($decrypted !== false) { 51 return $decrypted; 52 } else { 53 self::update($key, WooMailerLiteEncryption::instance()->encrypt($options[$key])); 54 } 55 } 46 56 return $options[$key]; 47 57 } … … 61 71 public static function updateMultiple($data) 62 72 { 73 if (isset($data[self::$apiKey]) && !empty($data[self::$apiKey])) { 74 $data[self::$apiKey] = WooMailerLiteEncryption::instance()->encrypt($data[self::$apiKey]); 75 } 63 76 $options = get_option(self::$key, []); 64 77 $options = array_merge($options, $data); -
woo-mailerlite/tags/3.1.10/includes/controllers/WooMailerLitePluginController.php
r3421835 r3462363 78 78 return false; 79 79 } 80 if ($this->requestHas('ml_checkout')) { 81 $raw = intval($this->request['ml_checkout']);82 $escaped = db()->esc_like($ raw);83 $escaped = '%checkout_id": ' . addcslashes($escaped, '%_') . '%';80 81 if ($this->requestHas('ml_checkout') && (ctype_digit($this->request['ml_checkout']) || wp_is_uuid($this->request['ml_checkout']))) { 82 $escaped = db()->esc_like($this->request['ml_checkout']); 83 $escaped = '%checkout_id":"' . addcslashes($escaped, '%_') . '"%'; 84 84 $cart = WooMailerLiteCart::where('data', 'like', $escaped)->first(); 85 85 if ($cart && $cart->exists()) { -
woo-mailerlite/tags/3.1.10/woo-mailerlite.php
r3453754 r3462363 16 16 * Plugin URI: https://mailerlite.com 17 17 * Description: Official MailerLite integration for WooCommerce. Track sales and campaign ROI, import products details, automate emails based on purchases and seamlessly add your customers to your email marketing lists via WooCommerce's checkout process. 18 * Version: 3.1. 918 * Version: 3.1.10 19 19 * Author: MailerLite 20 20 * Author URI: https://mailerlite.com … … 40 40 * Update when you release new versions. 41 41 */ 42 define( 'WOO_MAILERLITE_VERSION', '3.1. 9' );42 define( 'WOO_MAILERLITE_VERSION', '3.1.10' ); 43 43 44 44 define('WOO_MAILERLITE_ASYNC_JOBS', false); -
woo-mailerlite/trunk/README.txt
r3453754 r3462363 6 6 Tested up to: 6.8.2 7 7 Requires PHP: 7.2.5 8 Stable tag: 3.1. 98 Stable tag: 3.1.10 9 9 License: GPLv3 or later 10 10 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 85 85 == Changelog == 86 86 87 = 3.1.10 (16th February 2026) = 88 * Security improvements 89 87 90 = 3.1.9 (4th February 2026) = 88 91 * Security improvements -
woo-mailerlite/trunk/bootstrap.php
r3421835 r3462363 68 68 'WooMailerLiteCollection' => 'includes/common/WooMailerLiteCollection.php', 69 69 'WooMailerLiteQueryBuilder' => 'includes/common/WooMailerLiteQueryBuilder.php', 70 70 'WooMailerLiteEncryption' => 'includes/common/WooMailerLiteEncryption.php', 71 71 72 72 // includes/migrations -
woo-mailerlite/trunk/includes/WooMailerLite.php
r3377455 r3462363 127 127 $this->loader->add_action('wp_ajax_woo_mailerlite_reset_integration_settings', WooMailerLiteAdminSettingsController::instance(), 'resetIntegration'); 128 128 $this->loader->add_action('wp_ajax_handle_debug_log', WooMailerLiteAdminWizardController::instance(), 'getDebugLogs'); 129 $this->loader->add_action('wp_ajax_woo_mailerlite_job_resolver', WooMailerLiteAdminSettingsController::instance(), 'jobResolver');130 129 $this->loader->add_action('wp_ajax_woo_mailerlite_downgrade_plugin', WooMailerLiteAdminSettingsController::instance(), 'downgradePlugin'); 131 130 $this->loader->add_action('wp_ajax_woo_mailerlite_enable_debug_mode', WooMailerLiteAdminSettingsController::instance(), 'enableDebugMode'); -
woo-mailerlite/trunk/includes/WooMailerLiteService.php
r3453754 r3462363 36 36 $data = json_decode($data, true); 37 37 if (!isset($data['checkout_id'])) { 38 $data['checkout_id'] = floor(microtime(true) * 1000);38 $data['checkout_id'] = wp_generate_uuid4(); 39 39 } 40 40 … … 74 74 $data = json_decode($data, true); 75 75 if (!isset($data['checkout_id'])) { 76 $data['checkout_id'] = floor(microtime(true) * 1000);76 $data['checkout_id'] = wp_generate_uuid4(); 77 77 } 78 78 -
woo-mailerlite/trunk/includes/common/WooMailerLiteOptions.php
r3377455 r3462363 4 4 { 5 5 private static $key = 'woo_mailerlite_options'; 6 private static $apiKey = 'apiKey'; 6 7 protected static $toJson = false; 7 8 … … 44 45 return json_encode($options[$key]); 45 46 } 47 48 if ($key === self::$apiKey && !empty($options[$key])) { 49 $decrypted = WooMailerLiteEncryption::instance()->decrypt($options[$key]); 50 if ($decrypted !== false) { 51 return $decrypted; 52 } else { 53 self::update($key, WooMailerLiteEncryption::instance()->encrypt($options[$key])); 54 } 55 } 46 56 return $options[$key]; 47 57 } … … 61 71 public static function updateMultiple($data) 62 72 { 73 if (isset($data[self::$apiKey]) && !empty($data[self::$apiKey])) { 74 $data[self::$apiKey] = WooMailerLiteEncryption::instance()->encrypt($data[self::$apiKey]); 75 } 63 76 $options = get_option(self::$key, []); 64 77 $options = array_merge($options, $data); -
woo-mailerlite/trunk/includes/controllers/WooMailerLitePluginController.php
r3421835 r3462363 78 78 return false; 79 79 } 80 if ($this->requestHas('ml_checkout')) { 81 $raw = intval($this->request['ml_checkout']);82 $escaped = db()->esc_like($ raw);83 $escaped = '%checkout_id": ' . addcslashes($escaped, '%_') . '%';80 81 if ($this->requestHas('ml_checkout') && (ctype_digit($this->request['ml_checkout']) || wp_is_uuid($this->request['ml_checkout']))) { 82 $escaped = db()->esc_like($this->request['ml_checkout']); 83 $escaped = '%checkout_id":"' . addcslashes($escaped, '%_') . '"%'; 84 84 $cart = WooMailerLiteCart::where('data', 'like', $escaped)->first(); 85 85 if ($cart && $cart->exists()) { -
woo-mailerlite/trunk/woo-mailerlite.php
r3453754 r3462363 16 16 * Plugin URI: https://mailerlite.com 17 17 * Description: Official MailerLite integration for WooCommerce. Track sales and campaign ROI, import products details, automate emails based on purchases and seamlessly add your customers to your email marketing lists via WooCommerce's checkout process. 18 * Version: 3.1. 918 * Version: 3.1.10 19 19 * Author: MailerLite 20 20 * Author URI: https://mailerlite.com … … 40 40 * Update when you release new versions. 41 41 */ 42 define( 'WOO_MAILERLITE_VERSION', '3.1. 9' );42 define( 'WOO_MAILERLITE_VERSION', '3.1.10' ); 43 43 44 44 define('WOO_MAILERLITE_ASYNC_JOBS', false);
Note: See TracChangeset
for help on using the changeset viewer.