Plugin Directory

Changeset 3356475


Ignore:
Timestamp:
09/05/2025 06:46:59 AM (7 months ago)
Author:
sendsmaily
Message:

Release 1.3.0, see readme.txt for the changelog.

Location:
smaily-connect
Files:
18 added
34 edited
1 copied

Legend:

Unmodified
Added
Removed
  • smaily-connect/tags/1.3.0/includes/smaily-lifecycle.class.php

    r3343937 r3356475  
    1313     */
    1414    const SERVICE = 'lifecycle';
     15
     16    /**
     17     * List of migrations.
     18     * @var array<string,string> Version and file path.
     19     */
     20    const MIGRATIONS = array(
     21        '1.3.0' => 'upgrade-1-3-0.php',
     22    );
    1523
    1624    /**
     
    167175     */
    168176    public function update() {
    169         if ( get_transient( 'smaily_connect_plugin_updated' ) !== true ) {
     177        if ( (bool) get_transient( 'smaily_connect_plugin_updated' ) !== true ) {
    170178            return;
    171179        }
     
    216224        }
    217225
    218         $migrations = array();
    219 
    220         foreach ( $migrations as $migration_version => $migration_file ) {
     226        foreach ( self::MIGRATIONS as $migration_version => $migration_file ) {
    221227            // Database is up-to-date with plugin version.
    222228            if ( version_compare( $db_version, $migration_version, '>=' ) ) {
  • smaily-connect/tags/1.3.0/includes/smaily-options.class.php

    r3280976 r3356475  
    114114    const DATABASE_VERSION_OPTION               = 'smaily_connect_db_version';
    115115    const CONTACT_FORM_7_STATUS_OPTION          = 'smaily_connect_cf7_status';
     116    const NOTICE_REGISTRY_OPTION                = 'smaily_connect_notices';
    116117
    117118    /**
     
    137138        self::DATABASE_VERSION_OPTION,
    138139        self::CONTACT_FORM_7_STATUS_OPTION,
     140        self::NOTICE_REGISTRY_OPTION,
    139141    );
    140142
     
    270272     *
    271273     * @access private
    272      * @return array   Smaily Contact Form 7 settings in proper format
     274     * @return array<int, array{is_enabled: bool, autoresponder_id: int}> Dictionary of form settings with form ID as key.
     275     *
     276     * @since 1.3.0 Changed the settings structure to dictionary format where
     277     * each form has its own settings array. This allows users to manage settings
     278     * for each form individually.
    273279     */
    274280    private function get_cf7_settings_from_db() {
    275         $settings = get_option( self::CONTACT_FORM_7_STATUS_OPTION, array() );
    276         return array_merge(
    277             array(
    278                 'autoresponder_id' => 0,
    279                 'is_enabled'       => 0,
    280             ),
    281             $settings
    282         );
     281        return get_option( self::CONTACT_FORM_7_STATUS_OPTION, array() );
    283282    }
    284283
  • smaily-connect/tags/1.3.0/includes/smaily.class.php

    r3283436 r3356475  
    22
    33use Smaily_Connect\Admin;
     4use Smaily_Connect\Admin\Notices;
    45use Smaily_Connect\Includes\API;
    56use Smaily_Connect\Includes\Blocks;
     
    4647
    4748    /**
     49     * Admin_Notices class instance.
     50     *
     51     *
     52     * @access private
     53     * @var    Notices $notices Admin_Notices class instance.
     54     */
     55    protected $admin_notices;
     56
     57    /**
    4858     * Blocks class instance.
    4959     *
     
    180190     * Include the following files that make up the plugin:
    181191     *
    182      * - Helper.    Defines helper methods for various purposes.
    183      * - Logger.    Defines the logging functionality.
    184      * - Admin.     Defines all hooks for the admin area.
    185      * - Block.     Define the Gutenberg newsletter subscription block functionality.
    186      * - Options.   Defines the database related queries of Options API.
    187      * - Widget.    Defines the widget functionality.
    188      * - Public_Base.    Defines all hooks for the public side of the site.
     192     * - Admin_Notices. Defines the notice management functionality on the admin side.
     193     * - Admin.         Defines all hooks for the admin area.
     194     * - Block.         Define the Gutenberg newsletter subscription block functionality.
     195     * - Helper.        Defines helper methods for various purposes.
     196     * - Logger.        Defines the logging functionality.
     197     * - Options.       Defines the database related queries of Options API.
     198     * - Public_Base.   Defines all hooks for the public side of the site.
     199     * - Widget.        Defines the widget functionality.
    189200     *
    190201     * Woocommerce related dependencies
    191202     *
     203     * - Integrations\WooCommerce\Cart                         Manages status of user cart in abandoned carts table.
     204     * - Integrations\WooCommerce\Cron.                        Handles data synchronization between Smaily and WooCommerce.
    192205     * - Integrations\WooCommerce\Data_Handler.                Handles woocommerce related data retrieval
    193206     * - Integrations\WooCommerce\Data_Prepare.                Class for preparing Woocommerce related data
    194      * - Integrations\WooCommerce\Cron.                        Handles data synchronization between Smaily and WooCommerce.
    195      * - Integrations\WooCommerce\Cart                         Manages status of user cart in abandoned carts table.
    196      * - Integrations\WooCommerce\Subscriber_Synchronization   Defines functionality for user subscriptions
    197207     * - Integrations\WooCommerce\Profile_Settings.            Adds and controls WordPress/Woocommerce fields.
    198208     * - Integrations\WooCommerce\Rss.                         Handles RSS generation for Smaily newsletter.
     209     * - Integrations\WooCommerce\Subscriber_Synchronization   Defines functionality for user subscriptions
    199210     *
    200211     * Create an instance of the loader which will be used to register the hooks
     
    210221     */
    211222    private function load_dependencies() {
     223        require_once SMAILY_CONNECT_PLUGIN_PATH . 'admin/smaily-admin-notices.class.php';
    212224        require_once SMAILY_CONNECT_PLUGIN_PATH . 'admin/smaily-admin-renderer.class.php';
    213225        require_once SMAILY_CONNECT_PLUGIN_PATH . 'admin/smaily-admin-sanitizer.class.php';
     
    217229        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-api.class.php';
    218230        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-blocks.class.php';
     231        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-client.class.php';
    219232        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-cypher.class.php';
    220233        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-helper.class.php';
    221234        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-logger.class.php';
     235        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-notice-registry.class.php';
    222236        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-options.class.php';
    223         require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-client.class.php';
    224237        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-widget.class.php';
    225238        require_once SMAILY_CONNECT_PLUGIN_PATH . 'public/smaily-public.class.php';
     
    256269        $this->admin->register_hooks();
    257270
     271        $this->admin_notices = new Notices();
     272        $this->admin_notices->register_hooks();
     273
    258274        $this->api = new API( $this->options, $this->plugin_name );
    259275        $this->api->register_hooks();
     
    288304
    289305        if ( Helper::is_cf7_active() ) {
    290             $this->cf7_admin = new Smaily_CF7_Admin( $this->options, $this->plugin_name );
     306            $this->cf7_admin = new Smaily_CF7_Admin( $this->options, $this->plugin_name, $this->version );
    291307            $this->cf7_admin->register_hooks();
    292308        }
  • smaily-connect/tags/1.3.0/integrations/cf7/admin.class.php

    r3280976 r3356475  
    2222
    2323    /**
     24     * @var string Plugin version.
     25     */
     26    private $version;
     27
     28    /**
    2429     * Constructor.
    2530     *
    2631     * @param Options $options Instance of Smaily Options.
    2732     */
    28     public function __construct( Options $options, $plugin_name ) {
     33    public function __construct( Options $options, $plugin_name, $version ) {
    2934        $this->options     = $options;
    3035        $this->plugin_name = $plugin_name;
     36        $this->version     = $version;
    3137    }
    3238
     
    4046        add_action( 'wpcf7_after_save', array( $this, 'save' ) );
    4147        add_action( 'wpcf7_init', array( $this, 'register_service' ) );
     48        add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
    4249    }
    4350
     
    5259            Service::get_instance( $this->options, $this->plugin_name )
    5360        );
     61    }
     62
     63    /**
     64     * Enqueue admin styles.
     65     * @return void
     66     */
     67    public function enqueue_admin_styles() {
     68        wp_register_style(
     69            $this->plugin_name . '_cf7_styles',
     70            SMAILY_CONNECT_PLUGIN_URL . '/integrations/cf7/css/smaily-cf7-admin.css',
     71            array(),
     72            $this->version,
     73            'all'
     74        );
     75        wp_enqueue_style( $this->plugin_name . '_cf7_styles' );
    5476    }
    5577
     
    7395
    7496        // Validation and sanitization.
    75         $status = isset( $_POST['smailyforcf7']['status'] ) ? 1 : 0;
     97        $status = isset( $_POST['smailyforcf7']['status'] ) ? true : false;
    7698
    7799        $autoresponder = isset( $_POST['smailyforcf7-autoresponder'] ) ? (int) $_POST['smailyforcf7-autoresponder'] : 0;
    78100
    79         update_option(
    80             Options::CONTACT_FORM_7_STATUS_OPTION,
    81             array(
    82                 'is_enabled'       => $status,
    83                 'autoresponder_id' => $autoresponder,
    84             )
    85         );
     101        $this->save_form_settings( $args->id(), $status, $autoresponder );
     102    }
     103
     104
     105    /**
     106     * Saves Smaily settings for specific form.
     107     * @param int $form_id
     108     * @param bool $is_enabled
     109     * @param int $autoresponder_id
     110     * @return void
     111     *
     112     * @since 1.3.0
     113     */
     114    private function save_form_settings( $form_id, $is_enabled, $autoresponder_id ) {
     115        $settings = $this->options->get_settings()['cf7'];
     116
     117        $settings[ $form_id ] = array(
     118            'is_enabled'       => $is_enabled,
     119            'autoresponder_id' => $autoresponder_id,
     120        );
     121
     122        update_option( Options::CONTACT_FORM_7_STATUS_OPTION, $settings );
    86123    }
    87124
     
    110147     */
    111148    public function panel_content( $args ) {
    112         // Fetch saved Smaily CF7 option here to pass data along to view.
    113149        $smaily_cf7_settings = $this->options->get_settings()['cf7'];
    114 
    115         $is_enabled            = (bool) esc_html( $smaily_cf7_settings['is_enabled'] );
    116         $default_autoresponder = (int) esc_html( $smaily_cf7_settings['autoresponder_id'] );
    117 
    118         $has_credentials    = $this->options->has_credentials();
    119         $autoresponder_list = Helper::get_autoresponders_list( $this->options );
    120 
    121         $form_tags       = \WPCF7_FormTagsManager::get_instance()->get_scanned_tags();
    122         $captcha_enabled = $this->is_captcha_enabled( $form_tags );
     150        $form_id             = $args->id();
     151
     152        $template_variables = array(
     153            'autoresponder_id'   => 0,
     154            'autoresponders'     => array(),
     155            'has_credentials'    => false,
     156            'is_captcha_enabled' => false,
     157            'is_enabled'         => false,
     158        );
     159
     160        if ( isset( $smaily_cf7_settings[ $form_id ] ) ) {
     161            $template_variables = array_merge( $template_variables, $smaily_cf7_settings[ $form_id ] );
     162        }
     163
     164        $template_variables['has_credentials']    = $this->options->has_credentials();
     165        $template_variables['autoresponders']     = Helper::get_autoresponders_list( $this->options );
     166        $template_variables['is_captcha_enabled'] = $this->is_captcha_enabled(
     167            \WPCF7_FormTagsManager::get_instance()->get_scanned_tags()
     168        );
    123169
    124170        require_once SMAILY_CONNECT_PLUGIN_PATH . 'integrations/cf7/partials/smaily-cf7-admin.php';
  • smaily-connect/tags/1.3.0/integrations/cf7/partials/smaily-cf7-admin.php

    r3280976 r3356475  
    88?>
    99<?php if ( ! isset( $_GET['post'] ) ) : ?>
    10     <div id='form-id-unknown'>
    11         <p id='smailyforcf7-form-id-error' style='padding:15px; background-color:#f2dede; margin:0 0 10px;'>
    12             <?php
    13             esc_html_e(
    14                 'Configuring Smaily integration is disabled when using "Add New Form". Please save this form or edit an already existing form',
    15                 'smaily-connect'
    16             );
    17             ?>
     10    <p class="smaily-connect-cf7-notice error">
     11        <?php
     12        esc_html_e(
     13            'Configuring Smaily integration is disabled when using "Add New Form". Please save this form or edit an already existing form',
     14            'smaily-connect'
     15        );
     16        ?>
     17    </p>
     18<?php else : ?>
     19    <?php if ( ! $template_variables['has_credentials'] ) : ?>
     20        <p class="smaily-connect-cf7-notice error">
     21            <?php esc_html_e( 'Please authenticate Smaily credentials under Smaily Settings.', 'smaily-connect' ); ?>
    1822        </p>
    19     </div>
    20 <?php else : ?>
    21     <p id='smailyforcf7-captcha-error' style='padding:15px; background-color:#ffdf92; margin:0 0 10px; display:<?php echo $has_credentials ? 'none' : 'block'; ?>'>
    22         <?php esc_html_e( 'Please authenticate Smaily credentials under Smaily Settings.', 'smaily-connect' ); ?>
    23     </p>
    24     <div id='smailyforcf7-credentials-valid' style='display:<?php echo $has_credentials ? 'block' : 'none'; ?>'>
    25         <p id='smailyforcf7-captcha-error' style='padding:15px; background-color:#ffdf92; margin:0 0 10px; display:<?php echo $captcha_enabled ? 'none' : 'block'; ?>'>
    26             <?php esc_html_e( 'CAPTCHA disabled. Please use a CAPTCHA if this is a public site.', 'smaily-connect' ); ?>
    27         </p>
    28         <table class='autoresponders-table' style='margin:15px'>
    29             <tr class="form-field">
    30                 <th scope="row" style="text-align:left;padding:10px;">
    31                     <label for="smaily_status">
    32                         <?php esc_html_e( 'Enable Smaily for this form', 'smaily-connect' ); ?>
    33                     </label>
    34                 </th>
    35                 <td>
    36                     <input name="smailyforcf7[status]" type="checkbox" <?php checked( $is_enabled ); ?> class="smaily-toggle" id="smaily_status" value="<?php echo (int) $is_enabled; ?>" />
    37                     <label for="smaily_status"></label>
    38                 </td>
    39             </tr>
    40             <tr id='smailyforcf7-autoresponders' class='form-field'>
    41                 <th style="text-align:left;padding:10px;">
    42                     <?php esc_html_e( 'Autoresponder', 'smaily-connect' ); ?>
    43                 </th>
    44                 <td>
    45                     <select id='smailyforcf7-autoresponder-select' name='smailyforcf7-autoresponder'>
    46                         <option value='' <?php echo $default_autoresponder === 0 ? 'selected="selected"' : ''; ?>>
    47                             <?php esc_html_e( 'No autoresponder', 'smaily-connect' ); ?>
    48                         </option>
    49                         <?php foreach ( $autoresponder_list as $autoresponder_id => $autoresponder_title ) : ?>
    50                             <option value='<?php echo esc_html( $autoresponder_id ); ?>'
    51                                 <?php if ( $default_autoresponder === $autoresponder_id ) : ?>
    52                                     selected='selected'
    53                                 <?php endif; ?>
    54                             >
    55                                 <?php echo esc_html( $autoresponder_title ); ?>
     23    <?php else : ?>
     24        <div>
     25            <?php if ( ! $template_variables['is_captcha_enabled'] ) : ?>
     26                <p class="smaily-connect-cf7-notice warning">
     27                    <?php esc_html_e( 'CAPTCHA disabled. Please use a CAPTCHA if this is a public site.', 'smaily-connect' ); ?>
     28                </p>
     29            <?php endif; ?>
     30            <table class="smaily-connect-cf7-table">
     31                <tr class="form-field">
     32                    <th scope="row">
     33                        <label for="smaily_status">
     34                            <?php esc_html_e( 'Enable Smaily for this form', 'smaily-connect' ); ?>
     35                        </label>
     36                    </th>
     37                    <td>
     38                        <input
     39                            <?php checked( $template_variables['is_enabled'] ); ?>
     40                            class="smaily-toggle"
     41                            id="smaily_status"
     42                            name="smailyforcf7[status]"
     43                            type="checkbox"
     44                            value="<?php echo (int) $template_variables['is_enabled']; ?>"
     45                        />
     46                        <label for="smaily_status"></label>
     47                    </td>
     48                </tr>
     49                <tr class='form-field'>
     50                    <th>
     51                        <?php esc_html_e( 'Autoresponder', 'smaily-connect' ); ?>
     52                    </th>
     53                    <td>
     54                        <select id='smailyforcf7-autoresponder-select' name='smailyforcf7-autoresponder'>
     55                            <option value='' <?php echo $template_variables['autoresponder_id'] === 0 ? 'selected="selected"' : ''; ?>>
     56                                <?php esc_html_e( 'No autoresponder', 'smaily-connect' ); ?>
    5657                            </option>
    57                         <?php endforeach; ?>
    58                     </select>
    59                 </td>
    60                 </th>
    61             </tr>
    62         </table>
    63     </div>
     58                            <?php foreach ( $template_variables['autoresponders'] as $autoresponder_id => $autoresponder_title ) : ?>
     59                                <option value='<?php echo esc_html( $autoresponder_id ); ?>'
     60                                    <?php if ( $template_variables['autoresponder_id'] === $autoresponder_id ) : ?>
     61                                        selected='selected'
     62                                    <?php endif; ?>
     63                                >
     64                                    <?php echo esc_html( $autoresponder_title ); ?>
     65                                </option>
     66                            <?php endforeach; ?>
     67                        </select>
     68                    </td>
     69                </tr>
     70            </table>
     71        </div>
     72    <?php endif; ?>
    6473<?php endif; ?>
  • smaily-connect/tags/1.3.0/integrations/cf7/public.class.php

    r3280976 r3356475  
    6464        $posted_data  = $submission_instance->get_posted_data();
    6565        $cf7_settings = $this->options->get_settings()['cf7'];
     66        $form_id      = $instance->id();
    6667
    67         if ( ! $this->options->has_credentials() || ! $cf7_settings['is_enabled'] ) {
     68        $form_settings = isset( $cf7_settings[ $form_id ] ) ? $cf7_settings[ $form_id ] : null;
     69
     70        if ( ! $form_settings || ! $this->options->has_credentials() ) {
     71            return;
     72        }
     73
     74        if ( isset( $form_settings['is_enabled'] ) && ! $form_settings['is_enabled'] ) {
    6875            return;
    6976        }
     
    103110        $payload = Helper::sanitize_array( $payload );
    104111
    105         $request  = new Smaily_Client( $this->options );
    106         $response = $request->trigger_automation( (int) $cf7_settings['autoresponder_id'], array( $payload ) );
     112        $request          = new Smaily_Client( $this->options );
     113        $autoresponder_id = isset( $form_settings['autoresponder_id'] ) ? (int) $form_settings['autoresponder_id'] : 0;
     114        $response         = $request->trigger_automation( $autoresponder_id, array( $payload ) );
    107115
    108116        if ( empty( $response['body'] ) ) {
  • smaily-connect/tags/1.3.0/languages/smaily-connect-et-152dc44ca25a3f1e171f99b8bfa7eeda.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+00:00","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-09-02T08:02:40+00:00","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.3.0/languages/smaily-connect-et-3c318670b7c75131ab390eb7a2f14543.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+00:00","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"],"Width":["Laius"]}}}
     1{"translation-revision-date":"2025-09-02T08:02:40+00:00","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"],"Width":["Laius"]}}}
  • smaily-connect/tags/1.3.0/languages/smaily-connect-et-40b409abca8556f628983d076101e590.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+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-09-02T08:02:40+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.3.0/languages/smaily-connect-et-93119d48e6ffd5f6f66d8205f26fae1d.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+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-09-02T08:02:40+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.3.0/languages/smaily-connect-et-9d57ad9a21f6728aa0c1ce35ebdf20e0.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+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-09-02T08:02:40+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.3.0/languages/smaily-connect-et-bd53a30669e61c7be82f2b960609de09.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+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-09-02T08:02:40+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.3.0/languages/smaily-connect-et-bd72b715e5422068b8955bd68ddf8f50.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+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-09-02T08:02:40+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.3.0/languages/smaily-connect-et-c78fb3da772cac1b111a09cf4194959e.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+00:00","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"]}}}
     1{"translation-revision-date":"2025-09-02T08:02:40+00:00","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"]}}}
  • smaily-connect/tags/1.3.0/readme.txt

    r3344392 r3356475  
    66Tested up to: 6.8
    77WC tested up to: 9.6.1
    8 Stable tag: 1.2.4
     8Stable tag: 1.3.0
    99License: GPLv3 or later
    1010
     
    6161== Changelog ==
    6262
     63= 1.3.0 =
     64
     65Improved the Contact Form 7 integration by allowing user to configure each form individually.
     66
    6367= 1.2.4 =
    6468
  • smaily-connect/tags/1.3.0/smaily-connect.php

    r3344392 r3356475  
    1212 * Plugin URI:        https://smaily.com/help/user-manual/smaily-connect-for-wordpress/
    1313 * Text Domain:       smaily-connect
    14  * Version:           1.2.4
     14 * Version:           1.3.0
    1515*/
    1616
     
    2323 * Current plugin version.
    2424 */
    25 define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1.2.4' );
     25define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1.3.0' );
    2626
    2727/**
  • smaily-connect/trunk/includes/smaily-lifecycle.class.php

    r3343937 r3356475  
    1313     */
    1414    const SERVICE = 'lifecycle';
     15
     16    /**
     17     * List of migrations.
     18     * @var array<string,string> Version and file path.
     19     */
     20    const MIGRATIONS = array(
     21        '1.3.0' => 'upgrade-1-3-0.php',
     22    );
    1523
    1624    /**
     
    167175     */
    168176    public function update() {
    169         if ( get_transient( 'smaily_connect_plugin_updated' ) !== true ) {
     177        if ( (bool) get_transient( 'smaily_connect_plugin_updated' ) !== true ) {
    170178            return;
    171179        }
     
    216224        }
    217225
    218         $migrations = array();
    219 
    220         foreach ( $migrations as $migration_version => $migration_file ) {
     226        foreach ( self::MIGRATIONS as $migration_version => $migration_file ) {
    221227            // Database is up-to-date with plugin version.
    222228            if ( version_compare( $db_version, $migration_version, '>=' ) ) {
  • smaily-connect/trunk/includes/smaily-options.class.php

    r3280976 r3356475  
    114114    const DATABASE_VERSION_OPTION               = 'smaily_connect_db_version';
    115115    const CONTACT_FORM_7_STATUS_OPTION          = 'smaily_connect_cf7_status';
     116    const NOTICE_REGISTRY_OPTION                = 'smaily_connect_notices';
    116117
    117118    /**
     
    137138        self::DATABASE_VERSION_OPTION,
    138139        self::CONTACT_FORM_7_STATUS_OPTION,
     140        self::NOTICE_REGISTRY_OPTION,
    139141    );
    140142
     
    270272     *
    271273     * @access private
    272      * @return array   Smaily Contact Form 7 settings in proper format
     274     * @return array<int, array{is_enabled: bool, autoresponder_id: int}> Dictionary of form settings with form ID as key.
     275     *
     276     * @since 1.3.0 Changed the settings structure to dictionary format where
     277     * each form has its own settings array. This allows users to manage settings
     278     * for each form individually.
    273279     */
    274280    private function get_cf7_settings_from_db() {
    275         $settings = get_option( self::CONTACT_FORM_7_STATUS_OPTION, array() );
    276         return array_merge(
    277             array(
    278                 'autoresponder_id' => 0,
    279                 'is_enabled'       => 0,
    280             ),
    281             $settings
    282         );
     281        return get_option( self::CONTACT_FORM_7_STATUS_OPTION, array() );
    283282    }
    284283
  • smaily-connect/trunk/includes/smaily.class.php

    r3283436 r3356475  
    22
    33use Smaily_Connect\Admin;
     4use Smaily_Connect\Admin\Notices;
    45use Smaily_Connect\Includes\API;
    56use Smaily_Connect\Includes\Blocks;
     
    4647
    4748    /**
     49     * Admin_Notices class instance.
     50     *
     51     *
     52     * @access private
     53     * @var    Notices $notices Admin_Notices class instance.
     54     */
     55    protected $admin_notices;
     56
     57    /**
    4858     * Blocks class instance.
    4959     *
     
    180190     * Include the following files that make up the plugin:
    181191     *
    182      * - Helper.    Defines helper methods for various purposes.
    183      * - Logger.    Defines the logging functionality.
    184      * - Admin.     Defines all hooks for the admin area.
    185      * - Block.     Define the Gutenberg newsletter subscription block functionality.
    186      * - Options.   Defines the database related queries of Options API.
    187      * - Widget.    Defines the widget functionality.
    188      * - Public_Base.    Defines all hooks for the public side of the site.
     192     * - Admin_Notices. Defines the notice management functionality on the admin side.
     193     * - Admin.         Defines all hooks for the admin area.
     194     * - Block.         Define the Gutenberg newsletter subscription block functionality.
     195     * - Helper.        Defines helper methods for various purposes.
     196     * - Logger.        Defines the logging functionality.
     197     * - Options.       Defines the database related queries of Options API.
     198     * - Public_Base.   Defines all hooks for the public side of the site.
     199     * - Widget.        Defines the widget functionality.
    189200     *
    190201     * Woocommerce related dependencies
    191202     *
     203     * - Integrations\WooCommerce\Cart                         Manages status of user cart in abandoned carts table.
     204     * - Integrations\WooCommerce\Cron.                        Handles data synchronization between Smaily and WooCommerce.
    192205     * - Integrations\WooCommerce\Data_Handler.                Handles woocommerce related data retrieval
    193206     * - Integrations\WooCommerce\Data_Prepare.                Class for preparing Woocommerce related data
    194      * - Integrations\WooCommerce\Cron.                        Handles data synchronization between Smaily and WooCommerce.
    195      * - Integrations\WooCommerce\Cart                         Manages status of user cart in abandoned carts table.
    196      * - Integrations\WooCommerce\Subscriber_Synchronization   Defines functionality for user subscriptions
    197207     * - Integrations\WooCommerce\Profile_Settings.            Adds and controls WordPress/Woocommerce fields.
    198208     * - Integrations\WooCommerce\Rss.                         Handles RSS generation for Smaily newsletter.
     209     * - Integrations\WooCommerce\Subscriber_Synchronization   Defines functionality for user subscriptions
    199210     *
    200211     * Create an instance of the loader which will be used to register the hooks
     
    210221     */
    211222    private function load_dependencies() {
     223        require_once SMAILY_CONNECT_PLUGIN_PATH . 'admin/smaily-admin-notices.class.php';
    212224        require_once SMAILY_CONNECT_PLUGIN_PATH . 'admin/smaily-admin-renderer.class.php';
    213225        require_once SMAILY_CONNECT_PLUGIN_PATH . 'admin/smaily-admin-sanitizer.class.php';
     
    217229        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-api.class.php';
    218230        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-blocks.class.php';
     231        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-client.class.php';
    219232        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-cypher.class.php';
    220233        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-helper.class.php';
    221234        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-logger.class.php';
     235        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-notice-registry.class.php';
    222236        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-options.class.php';
    223         require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-client.class.php';
    224237        require_once SMAILY_CONNECT_PLUGIN_PATH . 'includes/smaily-widget.class.php';
    225238        require_once SMAILY_CONNECT_PLUGIN_PATH . 'public/smaily-public.class.php';
     
    256269        $this->admin->register_hooks();
    257270
     271        $this->admin_notices = new Notices();
     272        $this->admin_notices->register_hooks();
     273
    258274        $this->api = new API( $this->options, $this->plugin_name );
    259275        $this->api->register_hooks();
     
    288304
    289305        if ( Helper::is_cf7_active() ) {
    290             $this->cf7_admin = new Smaily_CF7_Admin( $this->options, $this->plugin_name );
     306            $this->cf7_admin = new Smaily_CF7_Admin( $this->options, $this->plugin_name, $this->version );
    291307            $this->cf7_admin->register_hooks();
    292308        }
  • smaily-connect/trunk/integrations/cf7/admin.class.php

    r3280976 r3356475  
    2222
    2323    /**
     24     * @var string Plugin version.
     25     */
     26    private $version;
     27
     28    /**
    2429     * Constructor.
    2530     *
    2631     * @param Options $options Instance of Smaily Options.
    2732     */
    28     public function __construct( Options $options, $plugin_name ) {
     33    public function __construct( Options $options, $plugin_name, $version ) {
    2934        $this->options     = $options;
    3035        $this->plugin_name = $plugin_name;
     36        $this->version     = $version;
    3137    }
    3238
     
    4046        add_action( 'wpcf7_after_save', array( $this, 'save' ) );
    4147        add_action( 'wpcf7_init', array( $this, 'register_service' ) );
     48        add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_styles' ) );
    4249    }
    4350
     
    5259            Service::get_instance( $this->options, $this->plugin_name )
    5360        );
     61    }
     62
     63    /**
     64     * Enqueue admin styles.
     65     * @return void
     66     */
     67    public function enqueue_admin_styles() {
     68        wp_register_style(
     69            $this->plugin_name . '_cf7_styles',
     70            SMAILY_CONNECT_PLUGIN_URL . '/integrations/cf7/css/smaily-cf7-admin.css',
     71            array(),
     72            $this->version,
     73            'all'
     74        );
     75        wp_enqueue_style( $this->plugin_name . '_cf7_styles' );
    5476    }
    5577
     
    7395
    7496        // Validation and sanitization.
    75         $status = isset( $_POST['smailyforcf7']['status'] ) ? 1 : 0;
     97        $status = isset( $_POST['smailyforcf7']['status'] ) ? true : false;
    7698
    7799        $autoresponder = isset( $_POST['smailyforcf7-autoresponder'] ) ? (int) $_POST['smailyforcf7-autoresponder'] : 0;
    78100
    79         update_option(
    80             Options::CONTACT_FORM_7_STATUS_OPTION,
    81             array(
    82                 'is_enabled'       => $status,
    83                 'autoresponder_id' => $autoresponder,
    84             )
    85         );
     101        $this->save_form_settings( $args->id(), $status, $autoresponder );
     102    }
     103
     104
     105    /**
     106     * Saves Smaily settings for specific form.
     107     * @param int $form_id
     108     * @param bool $is_enabled
     109     * @param int $autoresponder_id
     110     * @return void
     111     *
     112     * @since 1.3.0
     113     */
     114    private function save_form_settings( $form_id, $is_enabled, $autoresponder_id ) {
     115        $settings = $this->options->get_settings()['cf7'];
     116
     117        $settings[ $form_id ] = array(
     118            'is_enabled'       => $is_enabled,
     119            'autoresponder_id' => $autoresponder_id,
     120        );
     121
     122        update_option( Options::CONTACT_FORM_7_STATUS_OPTION, $settings );
    86123    }
    87124
     
    110147     */
    111148    public function panel_content( $args ) {
    112         // Fetch saved Smaily CF7 option here to pass data along to view.
    113149        $smaily_cf7_settings = $this->options->get_settings()['cf7'];
    114 
    115         $is_enabled            = (bool) esc_html( $smaily_cf7_settings['is_enabled'] );
    116         $default_autoresponder = (int) esc_html( $smaily_cf7_settings['autoresponder_id'] );
    117 
    118         $has_credentials    = $this->options->has_credentials();
    119         $autoresponder_list = Helper::get_autoresponders_list( $this->options );
    120 
    121         $form_tags       = \WPCF7_FormTagsManager::get_instance()->get_scanned_tags();
    122         $captcha_enabled = $this->is_captcha_enabled( $form_tags );
     150        $form_id             = $args->id();
     151
     152        $template_variables = array(
     153            'autoresponder_id'   => 0,
     154            'autoresponders'     => array(),
     155            'has_credentials'    => false,
     156            'is_captcha_enabled' => false,
     157            'is_enabled'         => false,
     158        );
     159
     160        if ( isset( $smaily_cf7_settings[ $form_id ] ) ) {
     161            $template_variables = array_merge( $template_variables, $smaily_cf7_settings[ $form_id ] );
     162        }
     163
     164        $template_variables['has_credentials']    = $this->options->has_credentials();
     165        $template_variables['autoresponders']     = Helper::get_autoresponders_list( $this->options );
     166        $template_variables['is_captcha_enabled'] = $this->is_captcha_enabled(
     167            \WPCF7_FormTagsManager::get_instance()->get_scanned_tags()
     168        );
    123169
    124170        require_once SMAILY_CONNECT_PLUGIN_PATH . 'integrations/cf7/partials/smaily-cf7-admin.php';
  • smaily-connect/trunk/integrations/cf7/partials/smaily-cf7-admin.php

    r3280976 r3356475  
    88?>
    99<?php if ( ! isset( $_GET['post'] ) ) : ?>
    10     <div id='form-id-unknown'>
    11         <p id='smailyforcf7-form-id-error' style='padding:15px; background-color:#f2dede; margin:0 0 10px;'>
    12             <?php
    13             esc_html_e(
    14                 'Configuring Smaily integration is disabled when using "Add New Form". Please save this form or edit an already existing form',
    15                 'smaily-connect'
    16             );
    17             ?>
     10    <p class="smaily-connect-cf7-notice error">
     11        <?php
     12        esc_html_e(
     13            'Configuring Smaily integration is disabled when using "Add New Form". Please save this form or edit an already existing form',
     14            'smaily-connect'
     15        );
     16        ?>
     17    </p>
     18<?php else : ?>
     19    <?php if ( ! $template_variables['has_credentials'] ) : ?>
     20        <p class="smaily-connect-cf7-notice error">
     21            <?php esc_html_e( 'Please authenticate Smaily credentials under Smaily Settings.', 'smaily-connect' ); ?>
    1822        </p>
    19     </div>
    20 <?php else : ?>
    21     <p id='smailyforcf7-captcha-error' style='padding:15px; background-color:#ffdf92; margin:0 0 10px; display:<?php echo $has_credentials ? 'none' : 'block'; ?>'>
    22         <?php esc_html_e( 'Please authenticate Smaily credentials under Smaily Settings.', 'smaily-connect' ); ?>
    23     </p>
    24     <div id='smailyforcf7-credentials-valid' style='display:<?php echo $has_credentials ? 'block' : 'none'; ?>'>
    25         <p id='smailyforcf7-captcha-error' style='padding:15px; background-color:#ffdf92; margin:0 0 10px; display:<?php echo $captcha_enabled ? 'none' : 'block'; ?>'>
    26             <?php esc_html_e( 'CAPTCHA disabled. Please use a CAPTCHA if this is a public site.', 'smaily-connect' ); ?>
    27         </p>
    28         <table class='autoresponders-table' style='margin:15px'>
    29             <tr class="form-field">
    30                 <th scope="row" style="text-align:left;padding:10px;">
    31                     <label for="smaily_status">
    32                         <?php esc_html_e( 'Enable Smaily for this form', 'smaily-connect' ); ?>
    33                     </label>
    34                 </th>
    35                 <td>
    36                     <input name="smailyforcf7[status]" type="checkbox" <?php checked( $is_enabled ); ?> class="smaily-toggle" id="smaily_status" value="<?php echo (int) $is_enabled; ?>" />
    37                     <label for="smaily_status"></label>
    38                 </td>
    39             </tr>
    40             <tr id='smailyforcf7-autoresponders' class='form-field'>
    41                 <th style="text-align:left;padding:10px;">
    42                     <?php esc_html_e( 'Autoresponder', 'smaily-connect' ); ?>
    43                 </th>
    44                 <td>
    45                     <select id='smailyforcf7-autoresponder-select' name='smailyforcf7-autoresponder'>
    46                         <option value='' <?php echo $default_autoresponder === 0 ? 'selected="selected"' : ''; ?>>
    47                             <?php esc_html_e( 'No autoresponder', 'smaily-connect' ); ?>
    48                         </option>
    49                         <?php foreach ( $autoresponder_list as $autoresponder_id => $autoresponder_title ) : ?>
    50                             <option value='<?php echo esc_html( $autoresponder_id ); ?>'
    51                                 <?php if ( $default_autoresponder === $autoresponder_id ) : ?>
    52                                     selected='selected'
    53                                 <?php endif; ?>
    54                             >
    55                                 <?php echo esc_html( $autoresponder_title ); ?>
     23    <?php else : ?>
     24        <div>
     25            <?php if ( ! $template_variables['is_captcha_enabled'] ) : ?>
     26                <p class="smaily-connect-cf7-notice warning">
     27                    <?php esc_html_e( 'CAPTCHA disabled. Please use a CAPTCHA if this is a public site.', 'smaily-connect' ); ?>
     28                </p>
     29            <?php endif; ?>
     30            <table class="smaily-connect-cf7-table">
     31                <tr class="form-field">
     32                    <th scope="row">
     33                        <label for="smaily_status">
     34                            <?php esc_html_e( 'Enable Smaily for this form', 'smaily-connect' ); ?>
     35                        </label>
     36                    </th>
     37                    <td>
     38                        <input
     39                            <?php checked( $template_variables['is_enabled'] ); ?>
     40                            class="smaily-toggle"
     41                            id="smaily_status"
     42                            name="smailyforcf7[status]"
     43                            type="checkbox"
     44                            value="<?php echo (int) $template_variables['is_enabled']; ?>"
     45                        />
     46                        <label for="smaily_status"></label>
     47                    </td>
     48                </tr>
     49                <tr class='form-field'>
     50                    <th>
     51                        <?php esc_html_e( 'Autoresponder', 'smaily-connect' ); ?>
     52                    </th>
     53                    <td>
     54                        <select id='smailyforcf7-autoresponder-select' name='smailyforcf7-autoresponder'>
     55                            <option value='' <?php echo $template_variables['autoresponder_id'] === 0 ? 'selected="selected"' : ''; ?>>
     56                                <?php esc_html_e( 'No autoresponder', 'smaily-connect' ); ?>
    5657                            </option>
    57                         <?php endforeach; ?>
    58                     </select>
    59                 </td>
    60                 </th>
    61             </tr>
    62         </table>
    63     </div>
     58                            <?php foreach ( $template_variables['autoresponders'] as $autoresponder_id => $autoresponder_title ) : ?>
     59                                <option value='<?php echo esc_html( $autoresponder_id ); ?>'
     60                                    <?php if ( $template_variables['autoresponder_id'] === $autoresponder_id ) : ?>
     61                                        selected='selected'
     62                                    <?php endif; ?>
     63                                >
     64                                    <?php echo esc_html( $autoresponder_title ); ?>
     65                                </option>
     66                            <?php endforeach; ?>
     67                        </select>
     68                    </td>
     69                </tr>
     70            </table>
     71        </div>
     72    <?php endif; ?>
    6473<?php endif; ?>
  • smaily-connect/trunk/integrations/cf7/public.class.php

    r3280976 r3356475  
    6464        $posted_data  = $submission_instance->get_posted_data();
    6565        $cf7_settings = $this->options->get_settings()['cf7'];
     66        $form_id      = $instance->id();
    6667
    67         if ( ! $this->options->has_credentials() || ! $cf7_settings['is_enabled'] ) {
     68        $form_settings = isset( $cf7_settings[ $form_id ] ) ? $cf7_settings[ $form_id ] : null;
     69
     70        if ( ! $form_settings || ! $this->options->has_credentials() ) {
     71            return;
     72        }
     73
     74        if ( isset( $form_settings['is_enabled'] ) && ! $form_settings['is_enabled'] ) {
    6875            return;
    6976        }
     
    103110        $payload = Helper::sanitize_array( $payload );
    104111
    105         $request  = new Smaily_Client( $this->options );
    106         $response = $request->trigger_automation( (int) $cf7_settings['autoresponder_id'], array( $payload ) );
     112        $request          = new Smaily_Client( $this->options );
     113        $autoresponder_id = isset( $form_settings['autoresponder_id'] ) ? (int) $form_settings['autoresponder_id'] : 0;
     114        $response         = $request->trigger_automation( $autoresponder_id, array( $payload ) );
    107115
    108116        if ( empty( $response['body'] ) ) {
  • smaily-connect/trunk/languages/smaily-connect-et-152dc44ca25a3f1e171f99b8bfa7eeda.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+00:00","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-09-02T08:02:40+00:00","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

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+00:00","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"],"Width":["Laius"]}}}
     1{"translation-revision-date":"2025-09-02T08:02:40+00:00","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"],"Width":["Laius"]}}}
  • smaily-connect/trunk/languages/smaily-connect-et-40b409abca8556f628983d076101e590.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+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-09-02T08:02:40+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

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+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-09-02T08:02:40+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

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+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-09-02T08:02:40+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

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+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-09-02T08:02:40+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

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+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-09-02T08:02:40+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/languages/smaily-connect-et-c78fb3da772cac1b111a09cf4194959e.json

    r3284784 r3356475  
    1 {"translation-revision-date":"2025-04-30T09:05:47+00:00","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"]}}}
     1{"translation-revision-date":"2025-09-02T08:02:40+00:00","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"]}}}
  • smaily-connect/trunk/readme.txt

    r3344392 r3356475  
    66Tested up to: 6.8
    77WC tested up to: 9.6.1
    8 Stable tag: 1.2.4
     8Stable tag: 1.3.0
    99License: GPLv3 or later
    1010
     
    6161== Changelog ==
    6262
     63= 1.3.0 =
     64
     65Improved the Contact Form 7 integration by allowing user to configure each form individually.
     66
    6367= 1.2.4 =
    6468
  • smaily-connect/trunk/smaily-connect.php

    r3344392 r3356475  
    1212 * Plugin URI:        https://smaily.com/help/user-manual/smaily-connect-for-wordpress/
    1313 * Text Domain:       smaily-connect
    14  * Version:           1.2.4
     14 * Version:           1.3.0
    1515*/
    1616
     
    2323 * Current plugin version.
    2424 */
    25 define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1.2.4' );
     25define( 'SMAILY_CONNECT_PLUGIN_VERSION', '1.3.0' );
    2626
    2727/**
Note: See TracChangeset for help on using the changeset viewer.