Plugin Directory

Changeset 3283436


Ignore:
Timestamp:
04/28/2025 01:25:42 PM (10 months ago)
Author:
sendsmaily
Message:

Release 1.1.0, see readme.txt for the changelog.

Location:
smaily-connect
Files:
15 added
22 edited
1 copied

Legend:

Unmodified
Added
Removed
  • smaily-connect/tags/1.1.0/admin/smaily-admin-renderer.class.php

    r3280976 r3283436  
    6161     */
    6262    public function render_tutorial_subscriber_collection_section() {
    63         ?>
    64         <section>
    65             <p>
    66                 <?php esc_html_e( 'You can use the following methods to collect subscribers:', 'smaily-connect' ); ?>
    67                 <ol class="smaily-connect-subscriber-collection-list">
    68                     <?php if ( wp_is_block_theme() ) : ?>
    69                     <li>
    70                         <h3>
    71                             <?php esc_html_e( 'Use the Smaily subscription form block.', 'smaily-connect' ); ?>
    72                         </h3>
    73                         <p>
    74                             <?php
    75                                 esc_html_e(
    76                                     'Add the Smaily Sign-Up Form block to any page or post. The block is available in the block editor.',
    77                                     'smaily-connect'
    78                                 );
    79                             ?>
    80                             <br>
    81                         </p>
    82                     </li>
    83                     <?php else : ?>
    84                     <li>
    85                         <h3>
    86                             <?php esc_html_e( 'Use the Smaily subscription form widget.', 'smaily-connect' ); ?>
    87                         </h3>
    88                         <p>
    89                             <?php esc_html_e( 'You can add the widget to your website from the widgets page.', 'smaily-connect' ); ?>
    90                         </p>
    91                         <a href="<?php echo esc_url( admin_url( 'widgets.php' ) ); ?>">
    92                             <?php esc_html_e( 'Set up the Smaily Classic Subscription widget.', 'smaily-connect' ); ?>
    93                         </a>
    94                     </li>
    95                     <?php endif; ?>
    96                     <li>
    97                         <h3>
    98                             <?php esc_html_e( 'Use the Smaily subscription form shortcode.', 'smaily-connect' ); ?>
    99                         </h3>
    100                         <p>
    101                         <?php
    102                             printf(
    103                                 /* translators: 1: example subdomain between strong tags */
    104                                 esc_html__(
    105                                     'You can add the %1$s shortcode to any page or post.',
    106                                     'smaily-connect'
    107                                 ),
    108                                 '<span class="regular-text code">[smaily_connect_newsletter_form]</span>'
    109                             );
    110                         ?>
    111                         </p>
    112                         <?php
    113                             $anchor = esc_html__( 'read the detailed guide', 'smaily-connect' );
    114                             $domain = esc_url( __( 'https://smaily.com/help/how-to/ecommerce-integrations/smaily-connect', 'smaily-connect' ) );
    115                             $link   = sprintf( '<a href="%s" target="_blank">%s</a>', $domain, $anchor );
    116                             echo sprintf(
    117                                 /* translators: 1: link to setting up block component guide */
    118                                 esc_html__( 'For more configuration options %1$s.', 'smaily-connect' ),
    119                                 wp_kses_post( $link )
    120                             );
    121                         ?>
    122                     </li>
    123                     <li>
    124                         <h3>
    125                             <?php esc_html_e( 'Build your own from component.', 'smaily-connect' ); ?>
    126                         </h3>
    127                         <p>
    128                             <?php
    129                                 esc_html_e(
    130                                     "Create a custom HTML form for maximum flexibility and advanced functionality. While this requires more technical knowledge, it gives you complete control over the form's appearance and behavior.",
    131                                     'smaily-connect'
    132                                 );
    133                             ?>
    134                         </p>
    135                         <?php
    136                             $anchor = esc_html__( 'here', 'smaily-connect' );
    137                             $domain = esc_url( __( 'https://smaily.com/help/how-to/forms-subscriptions/an-example-of-a-signup-form/', 'smaily-connect' ) );
    138                             $link   = sprintf( '<a href="%s" target="_blank">%s</a>', $domain, $anchor );
    139                             echo sprintf(
    140                                 /* translators: 1: link to custom HTML guide */
    141                                 esc_html__( 'You can view the example form %1$s.', 'smaily-connect' ),
    142                                 wp_kses_post( $link )
    143                             );
    144                         ?>
    145                     </li>
    146                     <li>
    147                         <h3>
    148                             <?php esc_html_e( 'Use the Contact Form 7 form builder and Smaily connector.', 'smaily-connect' ); ?>
    149                         </h3>
    150                         <p>
    151                             <?php
    152                                 esc_html_e( 'You can also use Contact Form 7 form builder to create custom forms and connect them to your Smaily account.', 'smaily-connect' );
    153                             ?>
    154                         </p>
    155                         <?php if ( Helper::is_cf7_active() ) : ?>
    156                             <p>
    157                                 <a href="<?php echo esc_url( menu_page_url( 'wpcf7', false ) ); ?>">
    158                                     <?php esc_html_e( 'Enable Smaily Opt-In under the form settings.', 'smaily-connect' ); ?>
    159                                 </a>
    160                             </p>
    161                         <?php else : ?>
    162                             <p>
    163                                 <?php
    164                                     esc_html_e(
    165                                         'Please install the Contact Form 7 plugin to use this integration.',
    166                                         'smaily-connect'
    167                                     );
    168                                 ?>
    169                             </p>
    170                         <?php endif; ?>
    171                     </li>
    172                 </ol>
    173             </p>
    174         </section>
    175         <?php
     63        require_once SMAILY_CONNECT_PLUGIN_PATH . '/admin/partials/smaily-admin-tutorial-subscriber-collection.php';
    17664    }
    17765
  • smaily-connect/tags/1.1.0/includes/smaily-helper.class.php

    r3280976 r3283436  
    5858        } else {
    5959            return class_exists( 'WPCF7' );
     60        }
     61    }
     62
     63    /**
     64     * Check if Elementor is active.
     65     *
     66     * @return bool True if Elementor is active, false otherwise.
     67     */
     68    public static function is_elementor_active() {
     69        if ( function_exists( 'is_plugin_active' ) ) {
     70            return is_plugin_active( 'elementor/elementor.php' );
     71        } else {
     72            return class_exists( 'Elementor\Plugin' );
    6073        }
    6174    }
     
    322335        return $protocol . $host . $uri;
    323336    }
     337
     338    /**
     339     * Determines if the current request is a redirect from Smaily sign up form.
     340     * Also determines if the request is a success or error based on the response code
     341     * from Smaily.
     342     *
     343     * The response is a redirect from Smaily sign up form.
     344     * Form documentation: https://smaily.com/help/how-to/forms-subscriptions/an-example-of-a-signup-form/
     345     * Response codes: https://smaily.com/help/api/general/response-codes/
     346     *
     347     * @return string|bool 'success' or 'error' if the URL contains a code, false otherwise.
     348     */
     349    public static function get_optin_form_response_type() {
     350        $code       = isset( $_GET['code'] ) ? sanitize_text_field( wp_unslash( $_GET['code'] ) ) : null;
     351        $is_success = $code === '101';
     352        $is_error   = $code && ! $is_success;
     353
     354        if ( $is_success ) {
     355            return 'success';
     356        } elseif ( $is_error ) {
     357            return 'error';
     358        }
     359
     360        return false;
     361    }
    324362}
  • smaily-connect/tags/1.1.0/includes/smaily.class.php

    r3280976 r3283436  
    99use Smaily_Connect\Integrations\CF7\Admin as Smaily_CF7_Admin;
    1010use Smaily_Connect\Integrations\CF7\Public_Base as Smaily_CF7_Public;
     11use Smaily_Connect\Integrations\Elementor\Admin as Elementor_Admin;
    1112use Smaily_Connect\Integrations\WooCommerce\Cart;
    1213use Smaily_Connect\Integrations\WooCommerce\Cron;
     
    141142     */
    142143    protected $cf7_public;
     144
     145    /**
     146     * Elementor Admin class instance.
     147     *
     148     *
     149     * @access private
     150     * @var    Elementor_Admin $elementor Contact Form 7 Public_Base class instance.
     151     */
     152    protected $elementor;
    143153
    144154    /**
     
    231241            require_once SMAILY_CONNECT_PLUGIN_PATH . 'integrations/cf7/service.class.php';
    232242        }
     243
     244        if ( Helper::is_elementor_active() ) {
     245            require_once SMAILY_CONNECT_PLUGIN_PATH . 'integrations/elementor/admin.class.php';
     246        }
    233247    }
    234248
     
    282296            $this->cf7_public->register_hooks();
    283297        }
     298
     299        if ( Helper::is_elementor_active() ) {
     300            $this->elementor = new Elementor_Admin( $this->plugin_name );
     301            $this->elementor->register_hooks();
     302        }
    284303    }
    285304}
  • smaily-connect/tags/1.1.0/languages/smaily-connect-et-40b409abca8556f628983d076101e590.json

    r3280976 r3283436  
    1 {"translation-revision-date":"2025-04-21T11:49:45+00:00","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-04-28T11:47:22+00:00","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.1.0/languages/smaily-connect-et-93119d48e6ffd5f6f66d8205f26fae1d.json

    r3280976 r3283436  
    1 {"translation-revision-date":"2025-04-21T11:49:45+00:00","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);"},"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"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 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!"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}
     1{"translation-revision-date":"2025-04-28T11:47:22+00:00","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);"},"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"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 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!"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}
  • smaily-connect/tags/1.1.0/languages/smaily-connect-et-9d57ad9a21f6728aa0c1ce35ebdf20e0.json

    r3280976 r3283436  
    1 {"translation-revision-date":"2025-04-21T11:49:45+00:00","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 kassasse uudiskirja tellimise m\u00e4rkeruudu."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}
     1{"translation-revision-date":"2025-04-28T11:47:22+00:00","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 kassasse uudiskirja tellimise m\u00e4rkeruudu."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}
  • smaily-connect/tags/1.1.0/languages/smaily-connect-et-bd53a30669e61c7be82f2b960609de09.json

    r3280976 r3283436  
    1 {"translation-revision-date":"2025-04-21T11:49:45+00:00","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 kassasse uudiskirja tellimise m\u00e4rkeruudu."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}
     1{"translation-revision-date":"2025-04-28T11:47:22+00:00","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 kassasse uudiskirja tellimise m\u00e4rkeruudu."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}
  • smaily-connect/tags/1.1.0/languages/smaily-connect-et-bd72b715e5422068b8955bd68ddf8f50.json

    r3280976 r3283436  
    1 {"translation-revision-date":"2025-04-21T11:49:45+00:00","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);"},"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"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 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!"],"Smaily Opt-In Form":["Smaily Liitumisvorm"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}
     1{"translation-revision-date":"2025-04-28T11:47:22+00:00","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);"},"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"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 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!"],"Smaily Opt-In Form":["Smaily Liitumisvorm"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}
  • smaily-connect/tags/1.1.0/readme.txt

    r3280976 r3283436  
    66Tested up to: 6.8
    77WC tested up to: 9.6.1
    8 Stable tag: 1.0.0
     8Stable tag: 1.1.0
    99License: GPLv3 or later
    1010
     
    1515**Smaily Connect – The Only Email Marketing Plugin You Need!**
    1616
    17 Transform your **WordPress website, WooCommerce store, and Contact Form 7** into an **email marketing powerhouse** with Smaily – the all-in-one plugin designed to **automate your marketing, grow your audience, and drive more sales effortlessly**.
     17Transform your **WordPress website, WooCommerce store, Contact Form 7 and Elementor** into an **email marketing powerhouse** with Smaily – the all-in-one plugin designed to **automate your marketing, grow your audience, and drive more sales effortlessly**.
    1818
    1919**Why Smaily Connect?**
     
    2424
    2525**Smart Form Integration** – Sync your **Contact Form 7** submissions directly to your Smaily lists for a frictionless email collection experience.
     26
     27**Elementor Integration** – Build beautiful newsletter sign-up forms right inside Elementor using our dedicated widget!
    2628
    2729**Smarter Email Campaigns** – Segment your audience and send **relevant offers, tailored product updates, and engaging content** that keeps subscribers interested and active.
     
    5961== Changelog ==
    6062
     63= 1.1.0 =
     64
     65Introduced a new Elementor widget that makes it easy to add a Smaily subscription form when building pages with Elementor.
     66
    6167= 1.0.0 =
    6268* Combined Smaily for Contact Form 7, Smaily for WP, and Smaily for WooCommerce into a single plugin for a streamlined experience.
     
    76826. Opt-In Form Block
    77837. Integrate With Contact Form 7
     848. Smaily Elementor Opt-In Form
  • smaily-connect/tags/1.1.0/smaily-connect.php

    r3280976 r3283436  
    22/*
    33 * Author URI:        https://smaily.com
    4  * Author:            Sendsmaily LLC
    5  * Description:       Smaily integration plugin that includes WooCommerce and Contact Form 7 integrations.
     4 * Author:            Smaily
     5 * Description:       Smaily integration plugin that includes WooCommerce, Elementor and Contact Form 7 integrations.
    66 * Domain Path:       /languages
    77 * License URI:       https://www.gnu.org/licenses/gpl-3.0.en.html
    88 * License:           GPL-3.0+
     9 * Requires at least: 6.0
     10 * Requires PHP:      7.0
    911 * Plugin Name:       Smaily Connect
    10  * Plugin URI:        https://github.com/sendsmaily/smaily-wordpress-plugin
     12 * Plugin URI:        https://smaily.com/help/user-manual/smaily-connect-for-wordpress/
    1113 * Text Domain:       smaily-connect
    12  * Version:           1.0.0
     14 * Version:           1.1.0
    1315*/
    1416
     
    2123 * Current plugin version.
    2224 */
    23 define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1.0.0' );
     25define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1.1.0' );
    2426
    2527/**
  • smaily-connect/trunk/admin/smaily-admin-renderer.class.php

    r3280976 r3283436  
    6161     */
    6262    public function render_tutorial_subscriber_collection_section() {
    63         ?>
    64         <section>
    65             <p>
    66                 <?php esc_html_e( 'You can use the following methods to collect subscribers:', 'smaily-connect' ); ?>
    67                 <ol class="smaily-connect-subscriber-collection-list">
    68                     <?php if ( wp_is_block_theme() ) : ?>
    69                     <li>
    70                         <h3>
    71                             <?php esc_html_e( 'Use the Smaily subscription form block.', 'smaily-connect' ); ?>
    72                         </h3>
    73                         <p>
    74                             <?php
    75                                 esc_html_e(
    76                                     'Add the Smaily Sign-Up Form block to any page or post. The block is available in the block editor.',
    77                                     'smaily-connect'
    78                                 );
    79                             ?>
    80                             <br>
    81                         </p>
    82                     </li>
    83                     <?php else : ?>
    84                     <li>
    85                         <h3>
    86                             <?php esc_html_e( 'Use the Smaily subscription form widget.', 'smaily-connect' ); ?>
    87                         </h3>
    88                         <p>
    89                             <?php esc_html_e( 'You can add the widget to your website from the widgets page.', 'smaily-connect' ); ?>
    90                         </p>
    91                         <a href="<?php echo esc_url( admin_url( 'widgets.php' ) ); ?>">
    92                             <?php esc_html_e( 'Set up the Smaily Classic Subscription widget.', 'smaily-connect' ); ?>
    93                         </a>
    94                     </li>
    95                     <?php endif; ?>
    96                     <li>
    97                         <h3>
    98                             <?php esc_html_e( 'Use the Smaily subscription form shortcode.', 'smaily-connect' ); ?>
    99                         </h3>
    100                         <p>
    101                         <?php
    102                             printf(
    103                                 /* translators: 1: example subdomain between strong tags */
    104                                 esc_html__(
    105                                     'You can add the %1$s shortcode to any page or post.',
    106                                     'smaily-connect'
    107                                 ),
    108                                 '<span class="regular-text code">[smaily_connect_newsletter_form]</span>'
    109                             );
    110                         ?>
    111                         </p>
    112                         <?php
    113                             $anchor = esc_html__( 'read the detailed guide', 'smaily-connect' );
    114                             $domain = esc_url( __( 'https://smaily.com/help/how-to/ecommerce-integrations/smaily-connect', 'smaily-connect' ) );
    115                             $link   = sprintf( '<a href="%s" target="_blank">%s</a>', $domain, $anchor );
    116                             echo sprintf(
    117                                 /* translators: 1: link to setting up block component guide */
    118                                 esc_html__( 'For more configuration options %1$s.', 'smaily-connect' ),
    119                                 wp_kses_post( $link )
    120                             );
    121                         ?>
    122                     </li>
    123                     <li>
    124                         <h3>
    125                             <?php esc_html_e( 'Build your own from component.', 'smaily-connect' ); ?>
    126                         </h3>
    127                         <p>
    128                             <?php
    129                                 esc_html_e(
    130                                     "Create a custom HTML form for maximum flexibility and advanced functionality. While this requires more technical knowledge, it gives you complete control over the form's appearance and behavior.",
    131                                     'smaily-connect'
    132                                 );
    133                             ?>
    134                         </p>
    135                         <?php
    136                             $anchor = esc_html__( 'here', 'smaily-connect' );
    137                             $domain = esc_url( __( 'https://smaily.com/help/how-to/forms-subscriptions/an-example-of-a-signup-form/', 'smaily-connect' ) );
    138                             $link   = sprintf( '<a href="%s" target="_blank">%s</a>', $domain, $anchor );
    139                             echo sprintf(
    140                                 /* translators: 1: link to custom HTML guide */
    141                                 esc_html__( 'You can view the example form %1$s.', 'smaily-connect' ),
    142                                 wp_kses_post( $link )
    143                             );
    144                         ?>
    145                     </li>
    146                     <li>
    147                         <h3>
    148                             <?php esc_html_e( 'Use the Contact Form 7 form builder and Smaily connector.', 'smaily-connect' ); ?>
    149                         </h3>
    150                         <p>
    151                             <?php
    152                                 esc_html_e( 'You can also use Contact Form 7 form builder to create custom forms and connect them to your Smaily account.', 'smaily-connect' );
    153                             ?>
    154                         </p>
    155                         <?php if ( Helper::is_cf7_active() ) : ?>
    156                             <p>
    157                                 <a href="<?php echo esc_url( menu_page_url( 'wpcf7', false ) ); ?>">
    158                                     <?php esc_html_e( 'Enable Smaily Opt-In under the form settings.', 'smaily-connect' ); ?>
    159                                 </a>
    160                             </p>
    161                         <?php else : ?>
    162                             <p>
    163                                 <?php
    164                                     esc_html_e(
    165                                         'Please install the Contact Form 7 plugin to use this integration.',
    166                                         'smaily-connect'
    167                                     );
    168                                 ?>
    169                             </p>
    170                         <?php endif; ?>
    171                     </li>
    172                 </ol>
    173             </p>
    174         </section>
    175         <?php
     63        require_once SMAILY_CONNECT_PLUGIN_PATH . '/admin/partials/smaily-admin-tutorial-subscriber-collection.php';
    17664    }
    17765
  • smaily-connect/trunk/includes/smaily-helper.class.php

    r3280976 r3283436  
    5858        } else {
    5959            return class_exists( 'WPCF7' );
     60        }
     61    }
     62
     63    /**
     64     * Check if Elementor is active.
     65     *
     66     * @return bool True if Elementor is active, false otherwise.
     67     */
     68    public static function is_elementor_active() {
     69        if ( function_exists( 'is_plugin_active' ) ) {
     70            return is_plugin_active( 'elementor/elementor.php' );
     71        } else {
     72            return class_exists( 'Elementor\Plugin' );
    6073        }
    6174    }
     
    322335        return $protocol . $host . $uri;
    323336    }
     337
     338    /**
     339     * Determines if the current request is a redirect from Smaily sign up form.
     340     * Also determines if the request is a success or error based on the response code
     341     * from Smaily.
     342     *
     343     * The response is a redirect from Smaily sign up form.
     344     * Form documentation: https://smaily.com/help/how-to/forms-subscriptions/an-example-of-a-signup-form/
     345     * Response codes: https://smaily.com/help/api/general/response-codes/
     346     *
     347     * @return string|bool 'success' or 'error' if the URL contains a code, false otherwise.
     348     */
     349    public static function get_optin_form_response_type() {
     350        $code       = isset( $_GET['code'] ) ? sanitize_text_field( wp_unslash( $_GET['code'] ) ) : null;
     351        $is_success = $code === '101';
     352        $is_error   = $code && ! $is_success;
     353
     354        if ( $is_success ) {
     355            return 'success';
     356        } elseif ( $is_error ) {
     357            return 'error';
     358        }
     359
     360        return false;
     361    }
    324362}
  • smaily-connect/trunk/includes/smaily.class.php

    r3280976 r3283436  
    99use Smaily_Connect\Integrations\CF7\Admin as Smaily_CF7_Admin;
    1010use Smaily_Connect\Integrations\CF7\Public_Base as Smaily_CF7_Public;
     11use Smaily_Connect\Integrations\Elementor\Admin as Elementor_Admin;
    1112use Smaily_Connect\Integrations\WooCommerce\Cart;
    1213use Smaily_Connect\Integrations\WooCommerce\Cron;
     
    141142     */
    142143    protected $cf7_public;
     144
     145    /**
     146     * Elementor Admin class instance.
     147     *
     148     *
     149     * @access private
     150     * @var    Elementor_Admin $elementor Contact Form 7 Public_Base class instance.
     151     */
     152    protected $elementor;
    143153
    144154    /**
     
    231241            require_once SMAILY_CONNECT_PLUGIN_PATH . 'integrations/cf7/service.class.php';
    232242        }
     243
     244        if ( Helper::is_elementor_active() ) {
     245            require_once SMAILY_CONNECT_PLUGIN_PATH . 'integrations/elementor/admin.class.php';
     246        }
    233247    }
    234248
     
    282296            $this->cf7_public->register_hooks();
    283297        }
     298
     299        if ( Helper::is_elementor_active() ) {
     300            $this->elementor = new Elementor_Admin( $this->plugin_name );
     301            $this->elementor->register_hooks();
     302        }
    284303    }
    285304}
  • smaily-connect/trunk/languages/smaily-connect-et-40b409abca8556f628983d076101e590.json

    r3280976 r3283436  
    1 {"translation-revision-date":"2025-04-21T11:49:45+00:00","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-04-28T11:47:22+00:00","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

    r3280976 r3283436  
    1 {"translation-revision-date":"2025-04-21T11:49:45+00:00","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);"},"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"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 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!"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}
     1{"translation-revision-date":"2025-04-28T11:47:22+00:00","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);"},"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"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 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!"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}
  • smaily-connect/trunk/languages/smaily-connect-et-9d57ad9a21f6728aa0c1ce35ebdf20e0.json

    r3280976 r3283436  
    1 {"translation-revision-date":"2025-04-21T11:49:45+00:00","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 kassasse uudiskirja tellimise m\u00e4rkeruudu."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}
     1{"translation-revision-date":"2025-04-28T11:47:22+00:00","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 kassasse uudiskirja tellimise m\u00e4rkeruudu."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}
  • smaily-connect/trunk/languages/smaily-connect-et-bd53a30669e61c7be82f2b960609de09.json

    r3280976 r3283436  
    1 {"translation-revision-date":"2025-04-21T11:49:45+00:00","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 kassasse uudiskirja tellimise m\u00e4rkeruudu."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}
     1{"translation-revision-date":"2025-04-28T11:47:22+00:00","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 kassasse uudiskirja tellimise m\u00e4rkeruudu."],"checkout":["kassa"],"newsletter":["uudiskiri"],"Smaily Checkout Opt-In":["Smaily Kassalehel Liitumine"]}}}
  • smaily-connect/trunk/languages/smaily-connect-et-bd72b715e5422068b8955bd68ddf8f50.json

    r3280976 r3283436  
    1 {"translation-revision-date":"2025-04-21T11:49:45+00:00","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);"},"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"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 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!"],"Smaily Opt-In Form":["Smaily Liitumisvorm"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}
     1{"translation-revision-date":"2025-04-28T11:47:22+00:00","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);"},"Autoresponder":["Automaatvastaja"],"Button border radius":["Nupu piirjoone raadius"],"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 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!"],"Smaily Opt-In Form":["Smaily Liitumisvorm"],"Subscribe button label":["Liitumisnupu silt"],"Success message":["\u00d5nnestumise teade"],"Success URL":["\u00d5nnestumise URL"],"Visible fields":["N\u00e4htavad v\u00e4ljad"]}}}
  • smaily-connect/trunk/readme.txt

    r3280976 r3283436  
    66Tested up to: 6.8
    77WC tested up to: 9.6.1
    8 Stable tag: 1.0.0
     8Stable tag: 1.1.0
    99License: GPLv3 or later
    1010
     
    1515**Smaily Connect – The Only Email Marketing Plugin You Need!**
    1616
    17 Transform your **WordPress website, WooCommerce store, and Contact Form 7** into an **email marketing powerhouse** with Smaily – the all-in-one plugin designed to **automate your marketing, grow your audience, and drive more sales effortlessly**.
     17Transform your **WordPress website, WooCommerce store, Contact Form 7 and Elementor** into an **email marketing powerhouse** with Smaily – the all-in-one plugin designed to **automate your marketing, grow your audience, and drive more sales effortlessly**.
    1818
    1919**Why Smaily Connect?**
     
    2424
    2525**Smart Form Integration** – Sync your **Contact Form 7** submissions directly to your Smaily lists for a frictionless email collection experience.
     26
     27**Elementor Integration** – Build beautiful newsletter sign-up forms right inside Elementor using our dedicated widget!
    2628
    2729**Smarter Email Campaigns** – Segment your audience and send **relevant offers, tailored product updates, and engaging content** that keeps subscribers interested and active.
     
    5961== Changelog ==
    6062
     63= 1.1.0 =
     64
     65Introduced a new Elementor widget that makes it easy to add a Smaily subscription form when building pages with Elementor.
     66
    6167= 1.0.0 =
    6268* Combined Smaily for Contact Form 7, Smaily for WP, and Smaily for WooCommerce into a single plugin for a streamlined experience.
     
    76826. Opt-In Form Block
    77837. Integrate With Contact Form 7
     848. Smaily Elementor Opt-In Form
  • smaily-connect/trunk/smaily-connect.php

    r3280976 r3283436  
    22/*
    33 * Author URI:        https://smaily.com
    4  * Author:            Sendsmaily LLC
    5  * Description:       Smaily integration plugin that includes WooCommerce and Contact Form 7 integrations.
     4 * Author:            Smaily
     5 * Description:       Smaily integration plugin that includes WooCommerce, Elementor and Contact Form 7 integrations.
    66 * Domain Path:       /languages
    77 * License URI:       https://www.gnu.org/licenses/gpl-3.0.en.html
    88 * License:           GPL-3.0+
     9 * Requires at least: 6.0
     10 * Requires PHP:      7.0
    911 * Plugin Name:       Smaily Connect
    10  * Plugin URI:        https://github.com/sendsmaily/smaily-wordpress-plugin
     12 * Plugin URI:        https://smaily.com/help/user-manual/smaily-connect-for-wordpress/
    1113 * Text Domain:       smaily-connect
    12  * Version:           1.0.0
     14 * Version:           1.1.0
    1315*/
    1416
     
    2123 * Current plugin version.
    2224 */
    23 define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1.0.0' );
     25define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1.1.0' );
    2426
    2527/**
Note: See TracChangeset for help on using the changeset viewer.