Changeset 3420288
- Timestamp:
- 12/15/2025 03:38:34 PM (4 months ago)
- Location:
- smaily-connect
- Files:
-
- 39 edited
- 1 copied
-
assets/screenshot-5.png (modified) (previous)
-
tags/1.6.0 (copied) (copied from smaily-connect/trunk)
-
tags/1.6.0/admin/js/smaily-admin.js (modified) (1 diff)
-
tags/1.6.0/admin/smaily-admin-renderer.class.php (modified) (3 diffs)
-
tags/1.6.0/admin/smaily-admin-settings.class.php (modified) (2 diffs)
-
tags/1.6.0/includes/smaily-options.class.php (modified) (3 diffs)
-
tags/1.6.0/integrations/elementor/newsletter-widget.class.php (modified) (3 diffs)
-
tags/1.6.0/integrations/woocommerce/helper.class.php (modified) (3 diffs)
-
tags/1.6.0/integrations/woocommerce/rss.class.php (modified) (5 diffs)
-
tags/1.6.0/languages/smaily-connect-et-152dc44ca25a3f1e171f99b8bfa7eeda.json (modified) (1 diff)
-
tags/1.6.0/languages/smaily-connect-et-3c318670b7c75131ab390eb7a2f14543.json (modified) (1 diff)
-
tags/1.6.0/languages/smaily-connect-et-40b409abca8556f628983d076101e590.json (modified) (1 diff)
-
tags/1.6.0/languages/smaily-connect-et-93119d48e6ffd5f6f66d8205f26fae1d.json (modified) (1 diff)
-
tags/1.6.0/languages/smaily-connect-et-9d57ad9a21f6728aa0c1ce35ebdf20e0.json (modified) (1 diff)
-
tags/1.6.0/languages/smaily-connect-et-bd53a30669e61c7be82f2b960609de09.json (modified) (1 diff)
-
tags/1.6.0/languages/smaily-connect-et-bd72b715e5422068b8955bd68ddf8f50.json (modified) (1 diff)
-
tags/1.6.0/languages/smaily-connect-et-c78fb3da772cac1b111a09cf4194959e.json (modified) (1 diff)
-
tags/1.6.0/languages/smaily-connect-et.mo (modified) (previous)
-
tags/1.6.0/public/template/smaily-rss-feed.php (modified) (1 diff)
-
tags/1.6.0/readme.txt (modified) (2 diffs)
-
tags/1.6.0/smaily-connect.php (modified) (2 diffs)
-
trunk/admin/js/smaily-admin.js (modified) (1 diff)
-
trunk/admin/smaily-admin-renderer.class.php (modified) (3 diffs)
-
trunk/admin/smaily-admin-settings.class.php (modified) (2 diffs)
-
trunk/includes/smaily-options.class.php (modified) (3 diffs)
-
trunk/integrations/elementor/newsletter-widget.class.php (modified) (3 diffs)
-
trunk/integrations/woocommerce/helper.class.php (modified) (3 diffs)
-
trunk/integrations/woocommerce/rss.class.php (modified) (5 diffs)
-
trunk/languages/smaily-connect-et-152dc44ca25a3f1e171f99b8bfa7eeda.json (modified) (1 diff)
-
trunk/languages/smaily-connect-et-3c318670b7c75131ab390eb7a2f14543.json (modified) (1 diff)
-
trunk/languages/smaily-connect-et-40b409abca8556f628983d076101e590.json (modified) (1 diff)
-
trunk/languages/smaily-connect-et-93119d48e6ffd5f6f66d8205f26fae1d.json (modified) (1 diff)
-
trunk/languages/smaily-connect-et-9d57ad9a21f6728aa0c1ce35ebdf20e0.json (modified) (1 diff)
-
trunk/languages/smaily-connect-et-bd53a30669e61c7be82f2b960609de09.json (modified) (1 diff)
-
trunk/languages/smaily-connect-et-bd72b715e5422068b8955bd68ddf8f50.json (modified) (1 diff)
-
trunk/languages/smaily-connect-et-c78fb3da772cac1b111a09cf4194959e.json (modified) (1 diff)
-
trunk/languages/smaily-connect-et.mo (modified) (previous)
-
trunk/public/template/smaily-rss-feed.php (modified) (1 diff)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/smaily-connect.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
smaily-connect/tags/1.6.0/admin/js/smaily-admin.js
r3340411 r3420288 26 26 } 27 27 28 var tax_rate = $('#smaily-rss-tax-rate').val() 29 if (tax_rate != '') { 30 rss_url.searchParams.set('tax_rate', tax_rate); 31 } 32 28 33 $('#smaily-rss-feed-url').html(rss_url.href) 29 34 }); -
smaily-connect/tags/1.6.0/admin/smaily-admin-renderer.class.php
r3357762 r3420288 258 258 get_option( Options::RSS_LIMIT_OPTION, null ), 259 259 get_option( Options::RSS_SORT_BY_OPTION, null ), 260 get_option( Options::RSS_ORDER_BY_OPTION, null ) 260 get_option( Options::RSS_ORDER_BY_OPTION, null ), 261 get_option( Options::RSS_TAX_RATE, null ) 261 262 ); 262 263 ?> … … 337 338 $help = $args['help'] ?? ''; 338 339 $class = $args['class'] ?? ''; 340 $step = $args['step'] ?? ''; 339 341 ?> 340 342 <fieldset> … … 342 344 <input 343 345 type="number" 346 step="<?php echo esc_attr( $step ); ?>" 344 347 id="<?php echo esc_attr( $id ); ?>" 345 348 class="<?php echo esc_attr( $class ); ?>" -
smaily-connect/tags/1.6.0/admin/smaily-admin-settings.class.php
r3388946 r3420288 348 348 'sanitize_callback' => 'sanitize_text_field', 349 349 'default' => Options::RSS_DEFAULT_ORDER_BY, 350 ) 351 ); 352 353 $store_default_tax_rate = null; 354 if ( wc_tax_enabled() ) { 355 $rates = \WC_Tax::get_base_tax_rates(); 356 foreach ( $rates as $rate ) { 357 if ( array_key_exists( 'rate', $rate ) ) { 358 $store_default_tax_rate = $rate['rate']; 359 break; 360 } 361 } 362 } 363 364 register_setting( 365 $option_group, 366 Options::RSS_TAX_RATE, 367 array( 368 'type' => 'number', 369 'sanitize_callback' => 'sanitize_text_field', 370 'default' => $store_default_tax_rate ?? Options::RSS_DEFAULT_TAX_RATE, 350 371 ) 351 372 ); … … 453 474 454 475 add_settings_field( 476 Options::RSS_TAX_RATE, 477 __( 'Tax Rate (%)', 'smaily-connect' ), 478 array( $this->renderer, 'render_number_field' ), 479 $page, 480 $rss_section, 481 array( 482 'option_name' => Options::RSS_TAX_RATE, 483 'min' => 0, 484 'help' => __( 'Set the item tax rate as a percentage.', 'smaily-connect' ), 485 'class' => 'smaily-rss-options', 486 'id' => 'smaily-rss-tax-rate', 487 'step' => '0.01', 488 ) 489 ); 490 491 add_settings_field( 455 492 Options::RSS_URL_OPTION, 456 493 __( 'Product RSS feed', 'smaily-connect' ), -
smaily-connect/tags/1.6.0/includes/smaily-options.class.php
r3388946 r3420288 92 92 93 93 /** 94 * Default RSS feed store tax rate. 95 * 96 * @var array 97 */ 98 const RSS_DEFAULT_TAX_RATE = 0; 99 100 /** 94 101 * Default RSS feed sort by. 95 102 * … … 118 125 const RSS_SORT_BY_OPTION = 'smaily_connect_rss_sort_by'; 119 126 const RSS_ORDER_BY_OPTION = 'smaily_connect_rss_order_by'; 127 const RSS_TAX_RATE = 'smaily_connect_rss_tax_rate'; 120 128 const RSS_URL_OPTION = 'smaily_connect_rss_url'; 121 129 const DATABASE_VERSION_OPTION = 'smaily_connect_db_version'; … … 143 151 self::RSS_ORDER_BY_OPTION, 144 152 self::RSS_URL_OPTION, 153 self::RSS_TAX_RATE, 145 154 self::DATABASE_VERSION_OPTION, 146 155 self::CONTACT_FORM_7_STATUS_OPTION, -
smaily-connect/tags/1.6.0/integrations/elementor/newsletter-widget.class.php
r3375462 r3420288 123 123 $settings_for_display = $this->get_settings_for_display(); 124 124 $parameters = array( 125 'autoresponder_id' => $settings_for_display['autoresponder_id'] ?? '', 126 'button_text' => $settings_for_display['button_text'] ?? '', 127 'email_label' => $settings_for_display['email_label'] ?? '', 128 'email_placeholder' => $settings_for_display['email_placeholder'] ?? '', 129 'error_message' => $settings_for_display['error_message'] ?? '', 130 'language_code' => Helper::get_current_language_code(), 131 'failure_url' => $settings_for_display['failure_url']['url'] ?? Helper::get_current_url(), 132 'name_label' => $settings_for_display['name_label'] ?? '', 133 'name_placeholder' => $settings_for_display['name_placeholder'] ?? '', 134 'show_name' => $settings_for_display['show_name'] === 'yes', 135 'subdomain' => $options->get_subdomain(), 136 'success_message' => $settings_for_display['success_message'] ?? '', 137 'success_url' => $settings_for_display['success_url']['url'] ?? Helper::get_current_url(), 125 'autoresponder_id' => $settings_for_display['autoresponder_id'] ?? '', 126 'button_text' => $settings_for_display['button_text'] ?? '', 127 'email_label' => $settings_for_display['email_label'] ?? '', 128 'email_placeholder' => $settings_for_display['email_placeholder'] ?? '', 129 'error_message' => $settings_for_display['error_message'] ?? '', 130 'language_code' => Helper::get_current_language_code(), 131 'failure_url' => $settings_for_display['failure_url']['url'] ?? Helper::get_current_url(), 132 'name_label' => $settings_for_display['name_label'] ?? '', 133 'name_placeholder' => $settings_for_display['name_placeholder'] ?? '', 134 'show_name' => $settings_for_display['show_name'] === 'yes', 135 'subdomain' => $options->get_subdomain(), 136 'success_message' => $settings_for_display['success_message'] ?? '', 137 'success_url' => $settings_for_display['success_url']['url'] ?? Helper::get_current_url(), 138 'custom_hidden_fields' => $settings_for_display['custom_hidden_fields'] ?? array(), 138 139 ); 139 140 … … 193 194 value="<?php echo ! empty( $parameters['success_url'] ) ? esc_url( $parameters['success_url'] ) : esc_url( $current_url ); ?>" 194 195 > 196 <?php foreach ( $parameters['custom_hidden_fields'] as $custom_hidden_field ) : ?> 197 <?php 198 $field_name = isset( $custom_hidden_field['field_name'] ) ? sanitize_text_field( $custom_hidden_field['field_name'] ) : ''; 199 $field_value = isset( $custom_hidden_field['field_value'] ) ? sanitize_text_field( $custom_hidden_field['field_value'] ) : ''; 200 ?> 201 <?php if ( ! empty( $field_name ) ) : ?> 202 <input 203 type="hidden" 204 name="<?php echo esc_attr( $field_name ); ?>" 205 value="<?php echo esc_attr( $field_value ); ?>" 206 > 207 <?php endif; ?> 208 <?php endforeach; ?> 195 209 <div class="smaily-connect-elementor-newsletter-form-visible-fields"> 196 210 <div class="smaily-connect-elementor-newsletter-form-input-container"> … … 496 510 'default' => array( 497 511 'url' => '', 498 499 512 ), 500 513 'description' => __( 'Note: URLs are optional. If left empty, the current page URL will be used.', 'smaily-connect' ), 501 514 'options' => false, 502 515 'placeholder' => __( 'Enter failure URL', 'smaily-connect' ), 516 ) 517 ); 518 519 $this->add_control( 520 'custom_hidden_fields', 521 array( 522 'label' => __( 'Custom Fields', 'smaily-connect' ), 523 'type' => Controls_Manager::REPEATER, 524 'fields' => array( 525 array( 526 'name' => 'field_name', 527 'label' => __( 'Name', 'smaily-connect' ), 528 'type' => Controls_Manager::TEXT, 529 'default' => '', 530 'placeholder' => __( 'Enter field name', 'smaily-connect' ), 531 ), 532 array( 533 'name' => 'field_value', 534 'label' => __( 'Value', 'smaily-connect' ), 535 'type' => Controls_Manager::TEXT, 536 'default' => '', 537 'placeholder' => __( 'Enter field value', 'smaily-connect' ), 538 ), 539 ), 540 'prevent_empty' => false, 541 'title_field' => '{{ field_name }}', 542 'description' => __( 'Add custom hidden fields to include additional data in the subscription.', 'smaily-connect' ), 503 543 ) 504 544 ); -
smaily-connect/tags/1.6.0/integrations/woocommerce/helper.class.php
r3385821 r3420288 8 8 * 9 9 * @param \WC_Product $product 10 * @param float|null $tax_rate Tax rate as percentage. 10 11 * @return float 11 12 */ 12 public static function get_current_price_with_tax( $product ) { 13 public static function get_current_price_with_tax( $product, $tax_rate = null ) { 14 if ( $tax_rate !== null ) { 15 $price_excl_tax = wc_get_price_excluding_tax( $product, array( 'price' => $product->get_price() ) ); 16 return self::calculate_price_on_tax_rate( $price_excl_tax, $tax_rate ); 17 } 18 13 19 $current_price_with_tax = wc_get_price_to_display( $product, array( 'price' => $product->get_price() ) ); 14 20 … … 25 31 * 26 32 * @param \WC_Product $product 33 * @param float|null $tax_rate Tax rate as percentage. 27 34 * @return float 28 35 */ 29 public static function get_regular_price_with_tax( $product ) { 36 public static function get_regular_price_with_tax( $product, $tax_rate = null ) { 37 if ( $tax_rate !== null ) { 38 $price_excl_tax = wc_get_price_excluding_tax( $product, array( 'price' => $product->get_regular_price() ) ); 39 return self::calculate_price_on_tax_rate( $price_excl_tax, $tax_rate ); 40 } 41 30 42 return wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) ); 31 43 } … … 62 74 } 63 75 } 76 77 /** 78 * Calculates the price price based on the given tax rate. 79 * This is used when the tax rate is provided externally rather than relying on WooCommerce's tax settings. 80 * 81 * @param float $base_price 82 * @param float $tax_rate 83 * @return float 84 */ 85 private static function calculate_price_on_tax_rate( $base_price, $tax_rate ) { 86 $tax_multiplier = 1 + ( $tax_rate / 100 ); 87 88 return round( $base_price * $tax_multiplier, wc_get_price_decimals() ); 89 } 64 90 } -
smaily-connect/tags/1.6.0/integrations/woocommerce/rss.class.php
r3385821 r3420288 32 32 * @return string 33 33 */ 34 public static function make_rss_feed_url( $rss_category = null, $rss_limit = null, $rss_order_by = null, $rss_order = null ) { 34 public static function make_rss_feed_url( 35 $rss_category = null, 36 $rss_limit = null, 37 $rss_order_by = null, 38 $rss_order = null, 39 $tax_rate = null 40 ) { 35 41 global $wp_rewrite; 36 42 … … 49 55 if ( isset( $rss_order ) && $rss_order_by !== 'none' ) { 50 56 $parameters['order'] = $rss_order; 57 } 58 if ( isset( $tax_rate ) ) { 59 $parameters['tax_rate'] = $tax_rate; 51 60 } 52 61 … … 83 92 $vars[] = 'order_by'; 84 93 $vars[] = 'order'; 94 $vars[] = 'tax_rate'; 85 95 return $vars; 86 96 } … … 127 137 * @param string $order_by 128 138 * @param string $order 139 * @param float|null $tax_rate 129 140 * @return array{created_at: string, current_price: string, description: string, discount: float, enclosure_url: string, regular_price: string, title: string, url: string} 130 141 */ 131 public static function list_rss_feed_items( $category, $limit, $order_by, $order ) {142 public static function list_rss_feed_items( $category, $limit, $order_by, $order, $tax_rate ) { 132 143 $products = Data_Handler::get_products( $category, $limit, $order_by, $order ); 133 144 $items = array(); … … 139 150 } 140 151 141 $current_price = Helper::get_current_price_with_tax( $product );142 $regular_price = Helper::get_regular_price_with_tax( $product );152 $current_price = Helper::get_current_price_with_tax( $product, $tax_rate ); 153 $regular_price = Helper::get_regular_price_with_tax( $product, $tax_rate ); 143 154 $url = get_permalink( $product->get_id() ); 144 155 -
smaily-connect/tags/1.6.0/languages/smaily-connect-et-152dc44ca25a3f1e171f99b8bfa7eeda.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/src\/edit.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Copy the URL of the landing page you want to display in this block and paste it in the Block settings.":["Kopeerige selle maandumislehe URL, mida soovite selles plokis kuvada, ja kleepige see ploki seadistustesse."],"creating a landing page":["maandumislehe loomine"],"Enter the URL of the landing page you want to display.":["Sisestage maandumislehe URL mida soovite kuvada."],"Height":["K\u00f5rgus"],"If you need any help setting up the landing page, follow our awesome guide:":["Kui vajate abi maandumislehe loomisel, j\u00e4rgige meie vingeid juhiseid:"],"Invalid Landing Page URL!":["Vigane maandumislehe URL!"],"Invalid landing page URL!":["Vigane maandumislehe URL!"],"Landing page URL":["Maandumislehe URL"],"Need a custom thank you page?":["Soovite kujundada t\u00e4nulehte?"],"Please check the entered URL. It is invalid!":["Palun kontrollige sisestatud URL-i. See on vigane!"],"Please configure the plugin first.":["Palun seadistage esmalt pistikmoodul."],"Settings":["Seaded"],"Smaily Connect Landing Page":["Smaily Connect Maandumisleht"],"Smaily Landing Page":["Smaily Maandumisleht"],"URL":["URL"],"Width":["Laius"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/src\/edit.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Copy the URL of the landing page you want to display in this block and paste it in the Block settings.":["Kopeerige selle maandumislehe URL, mida soovite selles plokis kuvada, ja kleepige see ploki seadistustesse."],"creating a landing page":["maandumislehe loomine"],"Enter the URL of the landing page you want to display.":["Sisestage maandumislehe URL mida soovite kuvada."],"Height":["K\u00f5rgus"],"If you need any help setting up the landing page, follow our awesome guide:":["Kui vajate abi maandumislehe loomisel, j\u00e4rgige meie vingeid juhiseid:"],"Invalid Landing Page URL!":["Vigane maandumislehe URL!"],"Invalid landing page URL!":["Vigane maandumislehe URL!"],"Landing page URL":["Maandumislehe URL"],"Need a custom thank you page?":["Soovite kujundada t\u00e4nulehte?"],"Please check the entered URL. It is invalid!":["Palun kontrollige sisestatud URL-i. See on vigane!"],"Please configure the plugin first.":["Palun seadistage esmalt pistikmoodul."],"Settings":["Seaded"],"Smaily Connect Landing Page":["Smaily Connect Maandumisleht"],"Smaily Landing Page":["Smaily Maandumisleht"],"URL":["URL"],"Width":["Laius"]}}} -
smaily-connect/tags/1.6.0/languages/smaily-connect-et-3c318670b7c75131ab390eb7a2f14543.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Copy the URL of the landing page you want to display in this block and paste it in the Block settings.":["Kopeerige selle maandumislehe URL, mida soovite selles plokis kuvada, ja kleepige see ploki seadistustesse."],"creating a landing page":["maandumislehe loomine"],"email":["email"],"Enter the URL of the landing page you want to display.":["Sisestage maandumislehe URL mida soovite kuvada."],"Height":["K\u00f5rgus"],"If you need any help setting up the landing page, follow our awesome guide:":["Kui vajate abi maandumislehe loomisel, j\u00e4rgige meie vingeid juhiseid:"],"Invalid Landing Page URL!":["Vigane maandumislehe URL!"],"Invalid landing page URL!":["Vigane maandumislehe URL!"],"landing page":["maandumisleht"],"Landing page URL":["Maandumislehe URL"],"Need a custom thank you page?":["Soovite kujundada t\u00e4nulehte?"],"newsletter":["uudiskiri"],"Please check the entered URL. It is invalid!":["Palun kontrollige sisestatud URL-i. See on vigane!"],"Please configure the plugin first.":["Palun seadistage esmalt pistikmoodul."],"Settings":["Seaded"],"Smaily Connect Landing Page":["Smaily Connect Maandumisleht"],"Smaily Landing Page":["Smaily Maandumisleht"],"URL":["URL"],"Use Smaily Landing page for collecting subscribers.":["Kasuta Smaily Maandumislehte uudiskirjaga liitujate kogumiseks."],"Width":["Laius"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Copy the URL of the landing page you want to display in this block and paste it in the Block settings.":["Kopeerige selle maandumislehe URL, mida soovite selles plokis kuvada, ja kleepige see ploki seadistustesse."],"creating a landing page":["maandumislehe loomine"],"email":["email"],"Enter the URL of the landing page you want to display.":["Sisestage maandumislehe URL mida soovite kuvada."],"Height":["K\u00f5rgus"],"If you need any help setting up the landing page, follow our awesome guide:":["Kui vajate abi maandumislehe loomisel, j\u00e4rgige meie vingeid juhiseid:"],"Invalid Landing Page URL!":["Vigane maandumislehe URL!"],"Invalid landing page URL!":["Vigane maandumislehe URL!"],"landing page":["maandumisleht"],"Landing page URL":["Maandumislehe URL"],"Need a custom thank you page?":["Soovite kujundada t\u00e4nulehte?"],"newsletter":["uudiskiri"],"Please check the entered URL. It is invalid!":["Palun kontrollige sisestatud URL-i. See on vigane!"],"Please configure the plugin first.":["Palun seadistage esmalt pistikmoodul."],"Settings":["Seaded"],"Smaily Connect Landing Page":["Smaily Connect Maandumisleht"],"Smaily Landing Page":["Smaily Maandumisleht"],"URL":["URL"],"Use Smaily Landing page for collecting subscribers.":["Kasuta Smaily Maandumislehte uudiskirjaga liitujate kogumiseks."],"Width":["Laius"]}}} -
smaily-connect/tags/1.6.0/languages/smaily-connect-et-40b409abca8556f628983d076101e590.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"email":["email"],"newsletter":["uudiskiri"],"Opt-in subscribers directly to Smaily for seamless email marketing.":["Lisa uudiskirjaga liitujad otse Smaily'sse sujuvaks e-posti turunduseks."],"Smaily Opt-In Form":["Smaily Liitumisvorm"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"email":["email"],"newsletter":["uudiskiri"],"Opt-in subscribers directly to Smaily for seamless email marketing.":["Lisa uudiskirjaga liitujad otse Smaily'sse sujuvaks e-posti turunduseks."],"Smaily Opt-In Form":["Smaily Liitumisvorm"]}}} -
smaily-connect/tags/1.6.0/languages/smaily-connect-et-93119d48e6ffd5f6f66d8205f26fae1d.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/src\/edit.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Add field":["Lisa v\u00e4li"],"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"Custom fields":["Kohandatud v\u00e4ljad"],"Defaults to current page URL.":["Vaikimisi praeguse lehek\u00fclje URL."],"Display name field":["Kuva nime v\u00e4li"],"Email field label":["E-posti v\u00e4lja silt"],"Error message":["Veateade"],"Failure URL":["T\u00f5rke URL"],"Full width subscribe button":["T\u00e4islaiuses liitumisnupp"],"Go to plugin settings":["Minge pistikprogrammi seadetesse"],"Hidden fields":["Peidetud v\u00e4ljad"],"Name":["Nimi"],"Name field label":["Nimev\u00e4lja silt"],"No autoresponder":["Automaatvastaja puudub"],"Please connect your Smaily account before adding a form!":["Palun \u00fchendage oma Smaily konto enne vormi lisamist!"],"Plugin setup is not complete!":["Pistikprogrammi seadistamine pole l\u00f5pule viidud!"],"Remove":["Eemalda"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Value":["V\u00e4\u00e4rtus"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/src\/edit.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Add field":["Lisa v\u00e4li"],"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"Custom fields":["Kohandatud v\u00e4ljad"],"Defaults to current page URL.":["Vaikimisi praeguse lehek\u00fclje URL."],"Display name field":["Kuva nime v\u00e4li"],"Email field label":["E-posti v\u00e4lja silt"],"Error message":["Veateade"],"Failure URL":["T\u00f5rke URL"],"Full width subscribe button":["T\u00e4islaiuses liitumisnupp"],"Go to plugin settings":["Minge pistikprogrammi seadetesse"],"Hidden fields":["Peidetud v\u00e4ljad"],"Name":["Nimi"],"Name field label":["Nimev\u00e4lja silt"],"No autoresponder":["Automaatvastaja puudub"],"Please connect your Smaily account before adding a form!":["Palun \u00fchendage oma Smaily konto enne vormi lisamist!"],"Plugin setup is not complete!":["Pistikprogrammi seadistamine pole l\u00f5pule viidud!"],"Remove":["Eemalda"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Value":["V\u00e4\u00e4rtus"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}} -
smaily-connect/tags/1.6.0/languages/smaily-connect-et-9d57ad9a21f6728aa0c1ce35ebdf20e0.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/checkout-optin\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Adds a newsletter subscription checkbox to the checkout.":["Lisab uudiskirjaga liitumise m\u00e4rkeruudu kassa lehele."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/checkout-optin\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Adds a newsletter subscription checkbox to the checkout.":["Lisab uudiskirjaga liitumise m\u00e4rkeruudu kassa lehele."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}} -
smaily-connect/tags/1.6.0/languages/smaily-connect-et-bd53a30669e61c7be82f2b960609de09.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/checkout-optin\/build\/smaily-checkout-optin-block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Adds a newsletter subscription checkbox to the checkout.":["Lisab uudiskirjaga liitumise m\u00e4rkeruudu kassa lehele."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/checkout-optin\/build\/smaily-checkout-optin-block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Adds a newsletter subscription checkbox to the checkout.":["Lisab uudiskirjaga liitumise m\u00e4rkeruudu kassa lehele."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}} -
smaily-connect/tags/1.6.0/languages/smaily-connect-et-bd72b715e5422068b8955bd68ddf8f50.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Add field":["Lisa v\u00e4li"],"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"Custom fields":["Kohandatud v\u00e4ljad"],"Defaults to current page URL.":["Vaikimisi praeguse lehek\u00fclje URL."],"Display name field":["Kuva nime v\u00e4li"],"email":["email"],"Email field label":["E-posti v\u00e4lja silt"],"Error message":["Veateade"],"Failure URL":["T\u00f5rke URL"],"Full width subscribe button":["T\u00e4islaiuses liitumisnupp"],"Go to plugin settings":["Minge pistikprogrammi seadetesse"],"Hidden fields":["Peidetud v\u00e4ljad"],"Name":["Nimi"],"Name field label":["Nimev\u00e4lja silt"],"newsletter":["uudiskiri"],"No autoresponder":["Automaatvastaja puudub"],"Opt-in subscribers directly to Smaily for seamless email marketing.":["Lisa uudiskirjaga liitujad otse Smaily'sse sujuvaks e-posti turunduseks."],"Please connect your Smaily account before adding a form!":["Palun \u00fchendage oma Smaily konto enne vormi lisamist!"],"Plugin setup is not complete!":["Pistikprogrammi seadistamine pole l\u00f5pule viidud!"],"Remove":["Eemalda"],"Smaily Opt-In Form":["Smaily Liitumisvorm"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Value":["V\u00e4\u00e4rtus"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Add field":["Lisa v\u00e4li"],"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"Custom fields":["Kohandatud v\u00e4ljad"],"Defaults to current page URL.":["Vaikimisi praeguse lehek\u00fclje URL."],"Display name field":["Kuva nime v\u00e4li"],"email":["email"],"Email field label":["E-posti v\u00e4lja silt"],"Error message":["Veateade"],"Failure URL":["T\u00f5rke URL"],"Full width subscribe button":["T\u00e4islaiuses liitumisnupp"],"Go to plugin settings":["Minge pistikprogrammi seadetesse"],"Hidden fields":["Peidetud v\u00e4ljad"],"Name":["Nimi"],"Name field label":["Nimev\u00e4lja silt"],"newsletter":["uudiskiri"],"No autoresponder":["Automaatvastaja puudub"],"Opt-in subscribers directly to Smaily for seamless email marketing.":["Lisa uudiskirjaga liitujad otse Smaily'sse sujuvaks e-posti turunduseks."],"Please connect your Smaily account before adding a form!":["Palun \u00fchendage oma Smaily konto enne vormi lisamist!"],"Plugin setup is not complete!":["Pistikprogrammi seadistamine pole l\u00f5pule viidud!"],"Remove":["Eemalda"],"Smaily Opt-In Form":["Smaily Liitumisvorm"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Value":["V\u00e4\u00e4rtus"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}} -
smaily-connect/tags/1.6.0/languages/smaily-connect-et-c78fb3da772cac1b111a09cf4194959e.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"email":["email"],"landing page":["maandumisleht"],"newsletter":["uudiskiri"],"Smaily Landing Page":["Smaily Maandumisleht"],"Use Smaily Landing page for collecting subscribers.":["Kasuta Smaily Maandumislehte uudiskirjaga liitujate kogumiseks."]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"email":["email"],"landing page":["maandumisleht"],"newsletter":["uudiskiri"],"Smaily Landing Page":["Smaily Maandumisleht"],"Use Smaily Landing page for collecting subscribers.":["Kasuta Smaily Maandumislehte uudiskirjaga liitujate kogumiseks."]}}} -
smaily-connect/tags/1.6.0/public/template/smaily-rss-feed.php
r3280976 r3420288 12 12 $order_by = sanitize_text_field( get_query_var( 'order_by' ) ); 13 13 $rss_order = sanitize_text_field( get_query_var( 'order' ) ); 14 $tax_rate = sanitize_text_field( get_query_var( 'tax_rate' ) ); 15 $tax_rate = $tax_rate !== '' ? (float) $tax_rate : null; 14 16 $currencysymbol = get_woocommerce_currency_symbol(); 15 17 16 18 // Default to 50 products. 17 19 $limit = $limit === 0 ? 50 : $limit; 18 $items = Rss::list_rss_feed_items( $category, $limit, $order_by, $ order);20 $items = Rss::list_rss_feed_items( $category, $limit, $order_by, $rss_order, $tax_rate ); 19 21 20 22 header( 'Content-Type: application/xml' ); -
smaily-connect/tags/1.6.0/readme.txt
r3419958 r3420288 6 6 Tested up to: 6.8 7 7 WC tested up to: 9.6.1 8 Stable tag: 1. 5.18 Stable tag: 1.6.0 9 9 License: GPLv3 or later 10 10 … … 60 60 61 61 == Changelog == 62 63 = 1.6.0 = 64 65 Added support for adding a tax rate to the RSS-feed product prices. This allows to change the tax rate used in the feed to match the tax rate used in Smaily email templates. This is especially useful for stores that want to target customers in different regions with different tax rates in their email campaigns. 66 67 Smaily Elementor widget now supports adding custom hidden fields to the subscription form. This allows to set custom fields for subscribers added via the Elementor widget allowing to better segment the subscribers in Smaily. 62 68 63 69 = 1.5.1 = -
smaily-connect/tags/1.6.0/smaily-connect.php
r3419958 r3420288 12 12 * Plugin URI: https://smaily.com/help/user-manual/smaily-connect-for-wordpress/ 13 13 * Text Domain: smaily-connect 14 * Version: 1. 5.114 * Version: 1.6.0 15 15 */ 16 16 … … 23 23 * Current plugin version. 24 24 */ 25 define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1. 5.1' );25 define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1.6.0' ); 26 26 27 27 /** -
smaily-connect/trunk/admin/js/smaily-admin.js
r3340411 r3420288 26 26 } 27 27 28 var tax_rate = $('#smaily-rss-tax-rate').val() 29 if (tax_rate != '') { 30 rss_url.searchParams.set('tax_rate', tax_rate); 31 } 32 28 33 $('#smaily-rss-feed-url').html(rss_url.href) 29 34 }); -
smaily-connect/trunk/admin/smaily-admin-renderer.class.php
r3357762 r3420288 258 258 get_option( Options::RSS_LIMIT_OPTION, null ), 259 259 get_option( Options::RSS_SORT_BY_OPTION, null ), 260 get_option( Options::RSS_ORDER_BY_OPTION, null ) 260 get_option( Options::RSS_ORDER_BY_OPTION, null ), 261 get_option( Options::RSS_TAX_RATE, null ) 261 262 ); 262 263 ?> … … 337 338 $help = $args['help'] ?? ''; 338 339 $class = $args['class'] ?? ''; 340 $step = $args['step'] ?? ''; 339 341 ?> 340 342 <fieldset> … … 342 344 <input 343 345 type="number" 346 step="<?php echo esc_attr( $step ); ?>" 344 347 id="<?php echo esc_attr( $id ); ?>" 345 348 class="<?php echo esc_attr( $class ); ?>" -
smaily-connect/trunk/admin/smaily-admin-settings.class.php
r3388946 r3420288 348 348 'sanitize_callback' => 'sanitize_text_field', 349 349 'default' => Options::RSS_DEFAULT_ORDER_BY, 350 ) 351 ); 352 353 $store_default_tax_rate = null; 354 if ( wc_tax_enabled() ) { 355 $rates = \WC_Tax::get_base_tax_rates(); 356 foreach ( $rates as $rate ) { 357 if ( array_key_exists( 'rate', $rate ) ) { 358 $store_default_tax_rate = $rate['rate']; 359 break; 360 } 361 } 362 } 363 364 register_setting( 365 $option_group, 366 Options::RSS_TAX_RATE, 367 array( 368 'type' => 'number', 369 'sanitize_callback' => 'sanitize_text_field', 370 'default' => $store_default_tax_rate ?? Options::RSS_DEFAULT_TAX_RATE, 350 371 ) 351 372 ); … … 453 474 454 475 add_settings_field( 476 Options::RSS_TAX_RATE, 477 __( 'Tax Rate (%)', 'smaily-connect' ), 478 array( $this->renderer, 'render_number_field' ), 479 $page, 480 $rss_section, 481 array( 482 'option_name' => Options::RSS_TAX_RATE, 483 'min' => 0, 484 'help' => __( 'Set the item tax rate as a percentage.', 'smaily-connect' ), 485 'class' => 'smaily-rss-options', 486 'id' => 'smaily-rss-tax-rate', 487 'step' => '0.01', 488 ) 489 ); 490 491 add_settings_field( 455 492 Options::RSS_URL_OPTION, 456 493 __( 'Product RSS feed', 'smaily-connect' ), -
smaily-connect/trunk/includes/smaily-options.class.php
r3388946 r3420288 92 92 93 93 /** 94 * Default RSS feed store tax rate. 95 * 96 * @var array 97 */ 98 const RSS_DEFAULT_TAX_RATE = 0; 99 100 /** 94 101 * Default RSS feed sort by. 95 102 * … … 118 125 const RSS_SORT_BY_OPTION = 'smaily_connect_rss_sort_by'; 119 126 const RSS_ORDER_BY_OPTION = 'smaily_connect_rss_order_by'; 127 const RSS_TAX_RATE = 'smaily_connect_rss_tax_rate'; 120 128 const RSS_URL_OPTION = 'smaily_connect_rss_url'; 121 129 const DATABASE_VERSION_OPTION = 'smaily_connect_db_version'; … … 143 151 self::RSS_ORDER_BY_OPTION, 144 152 self::RSS_URL_OPTION, 153 self::RSS_TAX_RATE, 145 154 self::DATABASE_VERSION_OPTION, 146 155 self::CONTACT_FORM_7_STATUS_OPTION, -
smaily-connect/trunk/integrations/elementor/newsletter-widget.class.php
r3375462 r3420288 123 123 $settings_for_display = $this->get_settings_for_display(); 124 124 $parameters = array( 125 'autoresponder_id' => $settings_for_display['autoresponder_id'] ?? '', 126 'button_text' => $settings_for_display['button_text'] ?? '', 127 'email_label' => $settings_for_display['email_label'] ?? '', 128 'email_placeholder' => $settings_for_display['email_placeholder'] ?? '', 129 'error_message' => $settings_for_display['error_message'] ?? '', 130 'language_code' => Helper::get_current_language_code(), 131 'failure_url' => $settings_for_display['failure_url']['url'] ?? Helper::get_current_url(), 132 'name_label' => $settings_for_display['name_label'] ?? '', 133 'name_placeholder' => $settings_for_display['name_placeholder'] ?? '', 134 'show_name' => $settings_for_display['show_name'] === 'yes', 135 'subdomain' => $options->get_subdomain(), 136 'success_message' => $settings_for_display['success_message'] ?? '', 137 'success_url' => $settings_for_display['success_url']['url'] ?? Helper::get_current_url(), 125 'autoresponder_id' => $settings_for_display['autoresponder_id'] ?? '', 126 'button_text' => $settings_for_display['button_text'] ?? '', 127 'email_label' => $settings_for_display['email_label'] ?? '', 128 'email_placeholder' => $settings_for_display['email_placeholder'] ?? '', 129 'error_message' => $settings_for_display['error_message'] ?? '', 130 'language_code' => Helper::get_current_language_code(), 131 'failure_url' => $settings_for_display['failure_url']['url'] ?? Helper::get_current_url(), 132 'name_label' => $settings_for_display['name_label'] ?? '', 133 'name_placeholder' => $settings_for_display['name_placeholder'] ?? '', 134 'show_name' => $settings_for_display['show_name'] === 'yes', 135 'subdomain' => $options->get_subdomain(), 136 'success_message' => $settings_for_display['success_message'] ?? '', 137 'success_url' => $settings_for_display['success_url']['url'] ?? Helper::get_current_url(), 138 'custom_hidden_fields' => $settings_for_display['custom_hidden_fields'] ?? array(), 138 139 ); 139 140 … … 193 194 value="<?php echo ! empty( $parameters['success_url'] ) ? esc_url( $parameters['success_url'] ) : esc_url( $current_url ); ?>" 194 195 > 196 <?php foreach ( $parameters['custom_hidden_fields'] as $custom_hidden_field ) : ?> 197 <?php 198 $field_name = isset( $custom_hidden_field['field_name'] ) ? sanitize_text_field( $custom_hidden_field['field_name'] ) : ''; 199 $field_value = isset( $custom_hidden_field['field_value'] ) ? sanitize_text_field( $custom_hidden_field['field_value'] ) : ''; 200 ?> 201 <?php if ( ! empty( $field_name ) ) : ?> 202 <input 203 type="hidden" 204 name="<?php echo esc_attr( $field_name ); ?>" 205 value="<?php echo esc_attr( $field_value ); ?>" 206 > 207 <?php endif; ?> 208 <?php endforeach; ?> 195 209 <div class="smaily-connect-elementor-newsletter-form-visible-fields"> 196 210 <div class="smaily-connect-elementor-newsletter-form-input-container"> … … 496 510 'default' => array( 497 511 'url' => '', 498 499 512 ), 500 513 'description' => __( 'Note: URLs are optional. If left empty, the current page URL will be used.', 'smaily-connect' ), 501 514 'options' => false, 502 515 'placeholder' => __( 'Enter failure URL', 'smaily-connect' ), 516 ) 517 ); 518 519 $this->add_control( 520 'custom_hidden_fields', 521 array( 522 'label' => __( 'Custom Fields', 'smaily-connect' ), 523 'type' => Controls_Manager::REPEATER, 524 'fields' => array( 525 array( 526 'name' => 'field_name', 527 'label' => __( 'Name', 'smaily-connect' ), 528 'type' => Controls_Manager::TEXT, 529 'default' => '', 530 'placeholder' => __( 'Enter field name', 'smaily-connect' ), 531 ), 532 array( 533 'name' => 'field_value', 534 'label' => __( 'Value', 'smaily-connect' ), 535 'type' => Controls_Manager::TEXT, 536 'default' => '', 537 'placeholder' => __( 'Enter field value', 'smaily-connect' ), 538 ), 539 ), 540 'prevent_empty' => false, 541 'title_field' => '{{ field_name }}', 542 'description' => __( 'Add custom hidden fields to include additional data in the subscription.', 'smaily-connect' ), 503 543 ) 504 544 ); -
smaily-connect/trunk/integrations/woocommerce/helper.class.php
r3385821 r3420288 8 8 * 9 9 * @param \WC_Product $product 10 * @param float|null $tax_rate Tax rate as percentage. 10 11 * @return float 11 12 */ 12 public static function get_current_price_with_tax( $product ) { 13 public static function get_current_price_with_tax( $product, $tax_rate = null ) { 14 if ( $tax_rate !== null ) { 15 $price_excl_tax = wc_get_price_excluding_tax( $product, array( 'price' => $product->get_price() ) ); 16 return self::calculate_price_on_tax_rate( $price_excl_tax, $tax_rate ); 17 } 18 13 19 $current_price_with_tax = wc_get_price_to_display( $product, array( 'price' => $product->get_price() ) ); 14 20 … … 25 31 * 26 32 * @param \WC_Product $product 33 * @param float|null $tax_rate Tax rate as percentage. 27 34 * @return float 28 35 */ 29 public static function get_regular_price_with_tax( $product ) { 36 public static function get_regular_price_with_tax( $product, $tax_rate = null ) { 37 if ( $tax_rate !== null ) { 38 $price_excl_tax = wc_get_price_excluding_tax( $product, array( 'price' => $product->get_regular_price() ) ); 39 return self::calculate_price_on_tax_rate( $price_excl_tax, $tax_rate ); 40 } 41 30 42 return wc_get_price_to_display( $product, array( 'price' => $product->get_regular_price() ) ); 31 43 } … … 62 74 } 63 75 } 76 77 /** 78 * Calculates the price price based on the given tax rate. 79 * This is used when the tax rate is provided externally rather than relying on WooCommerce's tax settings. 80 * 81 * @param float $base_price 82 * @param float $tax_rate 83 * @return float 84 */ 85 private static function calculate_price_on_tax_rate( $base_price, $tax_rate ) { 86 $tax_multiplier = 1 + ( $tax_rate / 100 ); 87 88 return round( $base_price * $tax_multiplier, wc_get_price_decimals() ); 89 } 64 90 } -
smaily-connect/trunk/integrations/woocommerce/rss.class.php
r3385821 r3420288 32 32 * @return string 33 33 */ 34 public static function make_rss_feed_url( $rss_category = null, $rss_limit = null, $rss_order_by = null, $rss_order = null ) { 34 public static function make_rss_feed_url( 35 $rss_category = null, 36 $rss_limit = null, 37 $rss_order_by = null, 38 $rss_order = null, 39 $tax_rate = null 40 ) { 35 41 global $wp_rewrite; 36 42 … … 49 55 if ( isset( $rss_order ) && $rss_order_by !== 'none' ) { 50 56 $parameters['order'] = $rss_order; 57 } 58 if ( isset( $tax_rate ) ) { 59 $parameters['tax_rate'] = $tax_rate; 51 60 } 52 61 … … 83 92 $vars[] = 'order_by'; 84 93 $vars[] = 'order'; 94 $vars[] = 'tax_rate'; 85 95 return $vars; 86 96 } … … 127 137 * @param string $order_by 128 138 * @param string $order 139 * @param float|null $tax_rate 129 140 * @return array{created_at: string, current_price: string, description: string, discount: float, enclosure_url: string, regular_price: string, title: string, url: string} 130 141 */ 131 public static function list_rss_feed_items( $category, $limit, $order_by, $order ) {142 public static function list_rss_feed_items( $category, $limit, $order_by, $order, $tax_rate ) { 132 143 $products = Data_Handler::get_products( $category, $limit, $order_by, $order ); 133 144 $items = array(); … … 139 150 } 140 151 141 $current_price = Helper::get_current_price_with_tax( $product );142 $regular_price = Helper::get_regular_price_with_tax( $product );152 $current_price = Helper::get_current_price_with_tax( $product, $tax_rate ); 153 $regular_price = Helper::get_regular_price_with_tax( $product, $tax_rate ); 143 154 $url = get_permalink( $product->get_id() ); 144 155 -
smaily-connect/trunk/languages/smaily-connect-et-152dc44ca25a3f1e171f99b8bfa7eeda.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/src\/edit.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Copy the URL of the landing page you want to display in this block and paste it in the Block settings.":["Kopeerige selle maandumislehe URL, mida soovite selles plokis kuvada, ja kleepige see ploki seadistustesse."],"creating a landing page":["maandumislehe loomine"],"Enter the URL of the landing page you want to display.":["Sisestage maandumislehe URL mida soovite kuvada."],"Height":["K\u00f5rgus"],"If you need any help setting up the landing page, follow our awesome guide:":["Kui vajate abi maandumislehe loomisel, j\u00e4rgige meie vingeid juhiseid:"],"Invalid Landing Page URL!":["Vigane maandumislehe URL!"],"Invalid landing page URL!":["Vigane maandumislehe URL!"],"Landing page URL":["Maandumislehe URL"],"Need a custom thank you page?":["Soovite kujundada t\u00e4nulehte?"],"Please check the entered URL. It is invalid!":["Palun kontrollige sisestatud URL-i. See on vigane!"],"Please configure the plugin first.":["Palun seadistage esmalt pistikmoodul."],"Settings":["Seaded"],"Smaily Connect Landing Page":["Smaily Connect Maandumisleht"],"Smaily Landing Page":["Smaily Maandumisleht"],"URL":["URL"],"Width":["Laius"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/src\/edit.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Copy the URL of the landing page you want to display in this block and paste it in the Block settings.":["Kopeerige selle maandumislehe URL, mida soovite selles plokis kuvada, ja kleepige see ploki seadistustesse."],"creating a landing page":["maandumislehe loomine"],"Enter the URL of the landing page you want to display.":["Sisestage maandumislehe URL mida soovite kuvada."],"Height":["K\u00f5rgus"],"If you need any help setting up the landing page, follow our awesome guide:":["Kui vajate abi maandumislehe loomisel, j\u00e4rgige meie vingeid juhiseid:"],"Invalid Landing Page URL!":["Vigane maandumislehe URL!"],"Invalid landing page URL!":["Vigane maandumislehe URL!"],"Landing page URL":["Maandumislehe URL"],"Need a custom thank you page?":["Soovite kujundada t\u00e4nulehte?"],"Please check the entered URL. It is invalid!":["Palun kontrollige sisestatud URL-i. See on vigane!"],"Please configure the plugin first.":["Palun seadistage esmalt pistikmoodul."],"Settings":["Seaded"],"Smaily Connect Landing Page":["Smaily Connect Maandumisleht"],"Smaily Landing Page":["Smaily Maandumisleht"],"URL":["URL"],"Width":["Laius"]}}} -
smaily-connect/trunk/languages/smaily-connect-et-3c318670b7c75131ab390eb7a2f14543.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Copy the URL of the landing page you want to display in this block and paste it in the Block settings.":["Kopeerige selle maandumislehe URL, mida soovite selles plokis kuvada, ja kleepige see ploki seadistustesse."],"creating a landing page":["maandumislehe loomine"],"email":["email"],"Enter the URL of the landing page you want to display.":["Sisestage maandumislehe URL mida soovite kuvada."],"Height":["K\u00f5rgus"],"If you need any help setting up the landing page, follow our awesome guide:":["Kui vajate abi maandumislehe loomisel, j\u00e4rgige meie vingeid juhiseid:"],"Invalid Landing Page URL!":["Vigane maandumislehe URL!"],"Invalid landing page URL!":["Vigane maandumislehe URL!"],"landing page":["maandumisleht"],"Landing page URL":["Maandumislehe URL"],"Need a custom thank you page?":["Soovite kujundada t\u00e4nulehte?"],"newsletter":["uudiskiri"],"Please check the entered URL. It is invalid!":["Palun kontrollige sisestatud URL-i. See on vigane!"],"Please configure the plugin first.":["Palun seadistage esmalt pistikmoodul."],"Settings":["Seaded"],"Smaily Connect Landing Page":["Smaily Connect Maandumisleht"],"Smaily Landing Page":["Smaily Maandumisleht"],"URL":["URL"],"Use Smaily Landing page for collecting subscribers.":["Kasuta Smaily Maandumislehte uudiskirjaga liitujate kogumiseks."],"Width":["Laius"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Copy the URL of the landing page you want to display in this block and paste it in the Block settings.":["Kopeerige selle maandumislehe URL, mida soovite selles plokis kuvada, ja kleepige see ploki seadistustesse."],"creating a landing page":["maandumislehe loomine"],"email":["email"],"Enter the URL of the landing page you want to display.":["Sisestage maandumislehe URL mida soovite kuvada."],"Height":["K\u00f5rgus"],"If you need any help setting up the landing page, follow our awesome guide:":["Kui vajate abi maandumislehe loomisel, j\u00e4rgige meie vingeid juhiseid:"],"Invalid Landing Page URL!":["Vigane maandumislehe URL!"],"Invalid landing page URL!":["Vigane maandumislehe URL!"],"landing page":["maandumisleht"],"Landing page URL":["Maandumislehe URL"],"Need a custom thank you page?":["Soovite kujundada t\u00e4nulehte?"],"newsletter":["uudiskiri"],"Please check the entered URL. It is invalid!":["Palun kontrollige sisestatud URL-i. See on vigane!"],"Please configure the plugin first.":["Palun seadistage esmalt pistikmoodul."],"Settings":["Seaded"],"Smaily Connect Landing Page":["Smaily Connect Maandumisleht"],"Smaily Landing Page":["Smaily Maandumisleht"],"URL":["URL"],"Use Smaily Landing page for collecting subscribers.":["Kasuta Smaily Maandumislehte uudiskirjaga liitujate kogumiseks."],"Width":["Laius"]}}} -
smaily-connect/trunk/languages/smaily-connect-et-40b409abca8556f628983d076101e590.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"email":["email"],"newsletter":["uudiskiri"],"Opt-in subscribers directly to Smaily for seamless email marketing.":["Lisa uudiskirjaga liitujad otse Smaily'sse sujuvaks e-posti turunduseks."],"Smaily Opt-In Form":["Smaily Liitumisvorm"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"email":["email"],"newsletter":["uudiskiri"],"Opt-in subscribers directly to Smaily for seamless email marketing.":["Lisa uudiskirjaga liitujad otse Smaily'sse sujuvaks e-posti turunduseks."],"Smaily Opt-In Form":["Smaily Liitumisvorm"]}}} -
smaily-connect/trunk/languages/smaily-connect-et-93119d48e6ffd5f6f66d8205f26fae1d.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/src\/edit.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Add field":["Lisa v\u00e4li"],"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"Custom fields":["Kohandatud v\u00e4ljad"],"Defaults to current page URL.":["Vaikimisi praeguse lehek\u00fclje URL."],"Display name field":["Kuva nime v\u00e4li"],"Email field label":["E-posti v\u00e4lja silt"],"Error message":["Veateade"],"Failure URL":["T\u00f5rke URL"],"Full width subscribe button":["T\u00e4islaiuses liitumisnupp"],"Go to plugin settings":["Minge pistikprogrammi seadetesse"],"Hidden fields":["Peidetud v\u00e4ljad"],"Name":["Nimi"],"Name field label":["Nimev\u00e4lja silt"],"No autoresponder":["Automaatvastaja puudub"],"Please connect your Smaily account before adding a form!":["Palun \u00fchendage oma Smaily konto enne vormi lisamist!"],"Plugin setup is not complete!":["Pistikprogrammi seadistamine pole l\u00f5pule viidud!"],"Remove":["Eemalda"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Value":["V\u00e4\u00e4rtus"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/src\/edit.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Add field":["Lisa v\u00e4li"],"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"Custom fields":["Kohandatud v\u00e4ljad"],"Defaults to current page URL.":["Vaikimisi praeguse lehek\u00fclje URL."],"Display name field":["Kuva nime v\u00e4li"],"Email field label":["E-posti v\u00e4lja silt"],"Error message":["Veateade"],"Failure URL":["T\u00f5rke URL"],"Full width subscribe button":["T\u00e4islaiuses liitumisnupp"],"Go to plugin settings":["Minge pistikprogrammi seadetesse"],"Hidden fields":["Peidetud v\u00e4ljad"],"Name":["Nimi"],"Name field label":["Nimev\u00e4lja silt"],"No autoresponder":["Automaatvastaja puudub"],"Please connect your Smaily account before adding a form!":["Palun \u00fchendage oma Smaily konto enne vormi lisamist!"],"Plugin setup is not complete!":["Pistikprogrammi seadistamine pole l\u00f5pule viidud!"],"Remove":["Eemalda"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Value":["V\u00e4\u00e4rtus"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}} -
smaily-connect/trunk/languages/smaily-connect-et-9d57ad9a21f6728aa0c1ce35ebdf20e0.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/checkout-optin\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Adds a newsletter subscription checkbox to the checkout.":["Lisab uudiskirjaga liitumise m\u00e4rkeruudu kassa lehele."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/checkout-optin\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Adds a newsletter subscription checkbox to the checkout.":["Lisab uudiskirjaga liitumise m\u00e4rkeruudu kassa lehele."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}} -
smaily-connect/trunk/languages/smaily-connect-et-bd53a30669e61c7be82f2b960609de09.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/checkout-optin\/build\/smaily-checkout-optin-block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Adds a newsletter subscription checkbox to the checkout.":["Lisab uudiskirjaga liitumise m\u00e4rkeruudu kassa lehele."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/checkout-optin\/build\/smaily-checkout-optin-block.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Adds a newsletter subscription checkbox to the checkout.":["Lisab uudiskirjaga liitumise m\u00e4rkeruudu kassa lehele."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}} -
smaily-connect/trunk/languages/smaily-connect-et-bd72b715e5422068b8955bd68ddf8f50.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Add field":["Lisa v\u00e4li"],"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"Custom fields":["Kohandatud v\u00e4ljad"],"Defaults to current page URL.":["Vaikimisi praeguse lehek\u00fclje URL."],"Display name field":["Kuva nime v\u00e4li"],"email":["email"],"Email field label":["E-posti v\u00e4lja silt"],"Error message":["Veateade"],"Failure URL":["T\u00f5rke URL"],"Full width subscribe button":["T\u00e4islaiuses liitumisnupp"],"Go to plugin settings":["Minge pistikprogrammi seadetesse"],"Hidden fields":["Peidetud v\u00e4ljad"],"Name":["Nimi"],"Name field label":["Nimev\u00e4lja silt"],"newsletter":["uudiskiri"],"No autoresponder":["Automaatvastaja puudub"],"Opt-in subscribers directly to Smaily for seamless email marketing.":["Lisa uudiskirjaga liitujad otse Smaily'sse sujuvaks e-posti turunduseks."],"Please connect your Smaily account before adding a form!":["Palun \u00fchendage oma Smaily konto enne vormi lisamist!"],"Plugin setup is not complete!":["Pistikprogrammi seadistamine pole l\u00f5pule viidud!"],"Remove":["Eemalda"],"Smaily Opt-In Form":["Smaily Liitumisvorm"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Value":["V\u00e4\u00e4rtus"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/newsletter-signup\/build\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"Add field":["Lisa v\u00e4li"],"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"Custom fields":["Kohandatud v\u00e4ljad"],"Defaults to current page URL.":["Vaikimisi praeguse lehek\u00fclje URL."],"Display name field":["Kuva nime v\u00e4li"],"email":["email"],"Email field label":["E-posti v\u00e4lja silt"],"Error message":["Veateade"],"Failure URL":["T\u00f5rke URL"],"Full width subscribe button":["T\u00e4islaiuses liitumisnupp"],"Go to plugin settings":["Minge pistikprogrammi seadetesse"],"Hidden fields":["Peidetud v\u00e4ljad"],"Name":["Nimi"],"Name field label":["Nimev\u00e4lja silt"],"newsletter":["uudiskiri"],"No autoresponder":["Automaatvastaja puudub"],"Opt-in subscribers directly to Smaily for seamless email marketing.":["Lisa uudiskirjaga liitujad otse Smaily'sse sujuvaks e-posti turunduseks."],"Please connect your Smaily account before adding a form!":["Palun \u00fchendage oma Smaily konto enne vormi lisamist!"],"Plugin setup is not complete!":["Pistikprogrammi seadistamine pole l\u00f5pule viidud!"],"Remove":["Eemalda"],"Smaily Opt-In Form":["Smaily Liitumisvorm"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Value":["V\u00e4\u00e4rtus"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}} -
smaily-connect/trunk/languages/smaily-connect-et-c78fb3da772cac1b111a09cf4194959e.json
r3419958 r3420288 1 {"translation-revision-date":"2025-12-15 05:33+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"email":["email"],"landing page":["maandumisleht"],"newsletter":["uudiskiri"],"Smaily Landing Page":["Smaily Maandumisleht"],"Use Smaily Landing page for collecting subscribers.":["Kasuta Smaily Maandumislehte uudiskirjaga liitujate kogumiseks."]}}}1 {"translation-revision-date":"2025-12-15 12:49+0000","generator":"WP-CLI\/2.11.0","source":"blocks\/landingpage\/src\/index.js","domain":"messages","locale_data":{"messages":{"":{"domain":"messages","lang":"et","plural-forms":"nplurals=2; plural=(n != 1);"},"email":["email"],"landing page":["maandumisleht"],"newsletter":["uudiskiri"],"Smaily Landing Page":["Smaily Maandumisleht"],"Use Smaily Landing page for collecting subscribers.":["Kasuta Smaily Maandumislehte uudiskirjaga liitujate kogumiseks."]}}} -
smaily-connect/trunk/public/template/smaily-rss-feed.php
r3280976 r3420288 12 12 $order_by = sanitize_text_field( get_query_var( 'order_by' ) ); 13 13 $rss_order = sanitize_text_field( get_query_var( 'order' ) ); 14 $tax_rate = sanitize_text_field( get_query_var( 'tax_rate' ) ); 15 $tax_rate = $tax_rate !== '' ? (float) $tax_rate : null; 14 16 $currencysymbol = get_woocommerce_currency_symbol(); 15 17 16 18 // Default to 50 products. 17 19 $limit = $limit === 0 ? 50 : $limit; 18 $items = Rss::list_rss_feed_items( $category, $limit, $order_by, $ order);20 $items = Rss::list_rss_feed_items( $category, $limit, $order_by, $rss_order, $tax_rate ); 19 21 20 22 header( 'Content-Type: application/xml' ); -
smaily-connect/trunk/readme.txt
r3419958 r3420288 6 6 Tested up to: 6.8 7 7 WC tested up to: 9.6.1 8 Stable tag: 1. 5.18 Stable tag: 1.6.0 9 9 License: GPLv3 or later 10 10 … … 60 60 61 61 == Changelog == 62 63 = 1.6.0 = 64 65 Added support for adding a tax rate to the RSS-feed product prices. This allows to change the tax rate used in the feed to match the tax rate used in Smaily email templates. This is especially useful for stores that want to target customers in different regions with different tax rates in their email campaigns. 66 67 Smaily Elementor widget now supports adding custom hidden fields to the subscription form. This allows to set custom fields for subscribers added via the Elementor widget allowing to better segment the subscribers in Smaily. 62 68 63 69 = 1.5.1 = -
smaily-connect/trunk/smaily-connect.php
r3419958 r3420288 12 12 * Plugin URI: https://smaily.com/help/user-manual/smaily-connect-for-wordpress/ 13 13 * Text Domain: smaily-connect 14 * Version: 1. 5.114 * Version: 1.6.0 15 15 */ 16 16 … … 23 23 * Current plugin version. 24 24 */ 25 define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1. 5.1' );25 define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1.6.0' ); 26 26 27 27 /**
Note: See TracChangeset
for help on using the changeset viewer.