Plugin Directory

Changeset 3442175


Ignore:
Timestamp:
01/19/2026 02:58:01 AM (7 weeks ago)
Author:
convertkit
Message:

Update to version 3.1.5 from GitHub

Location:
convertkit
Files:
2 added
16 edited
1 copied

Legend:

Unmodified
Added
Removed
  • convertkit/tags/3.1.5/CHANGELOG.md

    r3437320 r3442175  
     1### 3.1.5 2026-01-19
     2* Added: Settings: Tools: AWeber for WordPress Plugin to Kit Form Importer
     3
    14### 3.1.4 2026-01-12
    25* Added: Settings: Member Content: Container CSS Class setting
  • convertkit/tags/3.1.5/admin/importers/class-convertkit-admin-importer-mc4wp.php

    r3399438 r3442175  
    3434
    3535    /**
    36      * Returns an array of post IDs that contain the MC4WP form shortcode.
    37      *
    38      * @since   3.1.0
    39      *
    40      * @return  array
    41      */
    42     public function get_forms_in_posts() {
    43 
    44         global $wpdb;
    45 
    46         // Search post_content for [mc4wp_form] shortcode and return array of post IDs.
    47         $results = $wpdb->get_col(
    48             $wpdb->prepare(
    49                 "
    50             SELECT ID
    51             FROM {$wpdb->posts}
    52             WHERE post_status = %s
    53             AND post_content LIKE %s
    54             ",
    55                 'publish',
    56                 '%[' . $this->shortcode_name . '%'
    57             )
    58         );
    59 
    60         return $results ? $results : array();
    61 
    62     }
    63 
    64     /**
    6536     * Returns an array of MC4WP form IDs and titles.
    6637     *
  • convertkit/tags/3.1.5/admin/importers/class-convertkit-admin-importer.php

    r3399438 r3442175  
    4343
    4444    /**
    45      * Returns an array of post IDs that contain the third party form shortcode.
    46      *
    47      * @since   3.1.0
    48      *
    49      * @return  array
    50      */
    51     abstract public function get_forms_in_posts();
     45     * Returns an array of post IDs that contain the third partyform shortcode.
     46     *
     47     * @since   3.1.5
     48     *
     49     * @return  array
     50     */
     51    public function get_forms_in_posts() {
     52
     53        global $wpdb;
     54
     55        // Search post_content for the third party form shortcode and return array of post IDs.
     56        $results = $wpdb->get_col(
     57            $wpdb->prepare(
     58                "
     59            SELECT ID
     60            FROM {$wpdb->posts}
     61            WHERE post_status = %s
     62            AND post_content LIKE %s
     63            ",
     64                'publish',
     65                '%[' . $this->shortcode_name . '%'
     66            )
     67        );
     68
     69        return $results ? $results : array();
     70
     71    }
    5272
    5373    /**
     
    146166    }
    147167
     168    /**
     169     * Returns an array of all unique form IDs from the posts that contain the third party form shortcode.
     170     *
     171     * @since   3.1.5
     172     *
     173     * @return  array
     174     */
     175    public function get_form_ids_in_posts() {
     176
     177        // Get Post IDs that contain the third party form shortcode.
     178        $post_ids = $this->get_forms_in_posts();
     179
     180        // If no post IDs are found, return an empty array.
     181        if ( ! count( $post_ids ) ) {
     182            return array();
     183        }
     184
     185        // Iterate through Posts, extracting the Form IDs from the third party form shortcodes.
     186        $form_ids = array();
     187        foreach ( $post_ids as $post_id ) {
     188            $content_form_ids = $this->get_form_ids_from_content( get_post_field( 'post_content', $post_id ) );
     189            $form_ids         = array_merge( $form_ids, $content_form_ids );
     190        }
     191
     192        $form_ids = array_values( array_unique( $form_ids ) );
     193
     194        return $form_ids;
     195
     196    }
     197
     198    /**
     199     * Returns an array of form IDs within the shortcode for the third party Form plugin.
     200     *
     201     * @since   3.1.5
     202     *
     203     * @param   string $content             Content containing third party Form Shortcodes.
     204     * @return  array
     205     */
     206    public function get_form_ids_from_content( $content ) {
     207
     208        $pattern = '/\['                                       // Start regex with an opening square bracket.
     209            . preg_quote( $this->shortcode_name, '/' )         // Match the shortcode name, escaping any regex special chars.
     210            . '(?:\s+[^\]]*)?'                                 // Optionally match any attributes (key/value pairs), non-greedy.
     211            . preg_quote( $this->shortcode_id_attribute, '/' ) // Match the id attribute name.
     212            . '\s*=\s*'                                        // Optional whitespace, equals sign, optional whitespace.
     213            . '(?:"([^"]+)"|([^\s\]]+))'                       // Capture quoted or unquoted value.
     214            . '[^\]]*?\]/i';                                   // Match up to closing bracket, case-insensitive.
     215
     216        preg_match_all( $pattern, $content, $matches );
     217
     218        // Extract form IDs: They could be in either $matches[1] (quoted) or $matches[2] (unquoted).
     219        $form_ids = array_filter(
     220            array_merge(
     221                isset( $matches[1] ) ? $matches[1] : array(),
     222                isset( $matches[2] ) ? $matches[2] : array()
     223            )
     224        );
     225
     226        return $form_ids;
     227
     228    }
     229
    148230}
  • convertkit/tags/3.1.5/admin/section/class-convertkit-admin-section-tools.php

    r3399438 r3442175  
    5858                'import_configuration_empty'             => __( 'The uploaded configuration file contains no settings.', 'convertkit' ),
    5959                'import_configuration_success'           => __( 'Configuration imported successfully.', 'convertkit' ),
     60                'migrate_aweber_configuration_success'   => __( 'AWeber forms migrated successfully.', 'convertkit' ),
    6061                'migrate_mc4wp_configuration_success'    => __( 'MC4WP forms migrated successfully.', 'convertkit' ),
    6162            )
     
    7778        $this->maybe_export_configuration();
    7879        $this->maybe_import_configuration();
     80        $this->maybe_migrate_aweber_configuration();
    7981        $this->maybe_migrate_mc4wp_configuration();
    8082
     
    318320
    319321    /**
     322     * Replaces AWeber Form Shortcodes with Kit Form Shortcodes, if the user submitted the
     323     * AWeber Migrate Configuration section.
     324     *
     325     * @since   3.1.5
     326     */
     327    private function maybe_migrate_aweber_configuration() {
     328
     329        // Bail if nonce verification fails.
     330        if ( ! isset( $_REQUEST['_convertkit_settings_tools_nonce'] ) ) {
     331            return;
     332        }
     333
     334        if ( ! wp_verify_nonce( sanitize_key( $_REQUEST['_convertkit_settings_tools_nonce'] ), 'convertkit-settings-tools' ) ) {
     335            return;
     336        }
     337
     338        // Bail if no AWeber Form IDs were submitted.
     339        if ( ! isset( $_REQUEST['_wp_convertkit_integration_aweber_settings'] ) ) {
     340            return;
     341        }
     342
     343        // Initialise the importer.
     344        $aweber = new ConvertKit_Admin_Importer_AWeber();
     345
     346        // Iterate through the AWeber Form IDs and replace the shortcodes with the Kit Form Shortcodes.
     347        foreach ( array_map( 'sanitize_text_field', wp_unslash( $_REQUEST['_wp_convertkit_integration_aweber_settings'] ) ) as $aweber_form_id => $kit_form_id ) {
     348            $aweber->replace_shortcodes_in_posts( (int) $aweber_form_id, (int) $kit_form_id );
     349        }
     350
     351        // Redirect to Tools screen.
     352        $this->redirect_with_success_notice( 'migrate_aweber_configuration_success' );
     353
     354    }
     355
     356    /**
    320357     * Replaces MC4WP Form Shortcodes with Kit Form Shortcodes, if the user submitted the
    321358     * MC4WP Migrate Configuration section.
     
    374411
    375412        // Get Importers.
    376         $mc4wp = new ConvertKit_Admin_Importer_MC4WP();
     413        $aweber = new ConvertKit_Admin_Importer_AWeber();
     414        $mc4wp  = new ConvertKit_Admin_Importer_MC4WP();
    377415
    378416        // Output view.
  • convertkit/tags/3.1.5/languages/convertkit.pot

    r3437320 r3442175  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Kit (formerly ConvertKit) 3.1.4\n"
     5"Project-Id-Version: Kit (formerly ConvertKit) 3.1.5\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/convertkit\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-01-10T10:03:26+00:00\n"
     12"POT-Creation-Date: 2026-01-16T03:15:12+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
     
    143143msgstr ""
    144144
     145#: admin/importers/class-convertkit-admin-importer-aweber.php:71
     146msgid "Sign Up Form"
     147msgstr ""
     148
     149#: admin/importers/class-convertkit-admin-importer-aweber.php:74
     150msgid "Split Tests"
     151msgstr ""
     152
    145153#: admin/section/class-convertkit-admin-section-broadcasts.php:32
    146154#: admin/section/class-convertkit-admin-section-broadcasts.php:33
     
    844852
    845853#: admin/section/class-convertkit-admin-section-tools.php:60
     854msgid "AWeber forms migrated successfully."
     855msgstr ""
     856
     857#: admin/section/class-convertkit-admin-section-tools.php:61
    846858msgid "MC4WP forms migrated successfully."
    847859msgstr ""
    848860
    849 #: admin/section/class-convertkit-admin-section-tools.php:396
     861#: admin/section/class-convertkit-admin-section-tools.php:434
    850862msgid "Tools to help you manage Kit on your site."
    851863msgstr ""
    852864
    853 #: admin/section/class-convertkit-admin-section-tools.php:424
     865#: admin/section/class-convertkit-admin-section-tools.php:462
    854866msgid "WordPress 5.2 or higher is required for system information report."
    855867msgstr ""
     
    14271439#: includes/blocks/class-convertkit-block-form.php:100
    14281440#: views/backend/settings/tools.php:119
     1441#: views/backend/settings/tools.php:174
    14291442#: views/backend/term/fields-add.php:11
    14301443#: views/backend/term/fields-edit.php:12
     
    21212134
    21222135#: views/backend/settings/tools.php:109
     2136msgid "AWeber: Migrate Configuration"
     2137msgstr ""
     2138
     2139#: views/backend/settings/tools.php:112
     2140msgid "Automatically replace AWeber form shortcodes with Kit forms."
     2141msgstr ""
     2142
     2143#: views/backend/settings/tools.php:118
     2144msgid "AWeber Form"
     2145msgstr ""
     2146
     2147#: views/backend/settings/tools.php:149
     2148#: views/backend/settings/tools.php:204
     2149msgid "Migrate"
     2150msgstr ""
     2151
     2152#: views/backend/settings/tools.php:164
    21232153msgid "MC4WP: Migrate Configuration"
    21242154msgstr ""
    21252155
    2126 #: views/backend/settings/tools.php:112
     2156#: views/backend/settings/tools.php:167
    21272157msgid "Automatically replace MC4WP form shortcodes with Kit forms."
    21282158msgstr ""
    21292159
    2130 #: views/backend/settings/tools.php:118
     2160#: views/backend/settings/tools.php:173
    21312161msgid "MC4WP Form"
    2132 msgstr ""
    2133 
    2134 #: views/backend/settings/tools.php:149
    2135 msgid "Migrate"
    21362162msgstr ""
    21372163
  • convertkit/tags/3.1.5/readme.txt

    r3437320 r3442175  
    66Tested up to: 6.9
    77Requires PHP: 7.1
    8 Stable tag: 3.1.4
     8Stable tag: 3.1.5
    99License: GPLv3 or later
    1010License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    343343
    344344== Changelog ==
     345
     346### 3.1.5 2026-01-19
     347* Added: Settings: Tools: AWeber for WordPress Plugin to Kit Form Importer
    345348
    346349### 3.1.4 2026-01-12
  • convertkit/tags/3.1.5/views/backend/settings/tools.php

    r3399438 r3442175  
    103103
    104104    <?php
     105    // Aweber.
     106    if ( $aweber->has_forms_in_posts() && $aweber->has_forms() && $forms->exist() ) {
     107        ?>
     108        <div id="import-aweber" class="postbox">
     109            <h2><?php esc_html_e( 'AWeber: Migrate Configuration', 'convertkit' ); ?></h2>
     110
     111            <p class="description">
     112                <?php esc_html_e( 'Automatically replace AWeber form shortcodes with Kit forms.', 'convertkit' ); ?><br />
     113            </p>
     114
     115            <table class="widefat striped">
     116                <thead>
     117                    <tr>
     118                        <th><?php esc_html_e( 'AWeber Form', 'convertkit' ); ?></th>
     119                        <th><?php esc_html_e( 'Kit Form', 'convertkit' ); ?></th>
     120                    </tr>
     121                </thead>
     122                <tbody>
     123                    <?php
     124                    foreach ( $aweber->get_forms() as $aweber_form_id => $aweber_form_title ) {
     125                        ?>
     126                        <tr>
     127                            <td><?php echo esc_html( $aweber_form_title ); ?></td>
     128                            <td>
     129                                <select name="_wp_convertkit_integration_aweber_settings[<?php echo esc_attr( $aweber_form_id ); ?>]">
     130                                    <?php
     131                                    foreach ( $forms->get() as $form ) {
     132                                        ?>
     133                                        <option value="<?php echo esc_attr( $form['id'] ); ?>"><?php echo esc_html( $form['name'] ); ?></option>
     134                                        <?php
     135                                    }
     136                                    ?>
     137                                </select>
     138                            </td>
     139                        </tr>
     140                        <?php
     141                    }
     142                    ?>
     143                </tbody>
     144            </table>
     145
     146            <p>
     147                <?php
     148                submit_button(
     149                    __( 'Migrate', 'convertkit' ),
     150                    'primary',
     151                    'convertkit-import-aweber',
     152                    false
     153                );
     154                ?>
     155            </p>
     156        </div><!-- .postbox -->
     157        <?php
     158    }
     159
    105160    // Mailchimp for WordPress (MC4WP).
    106161    if ( $mc4wp->has_forms_in_posts() && $mc4wp->has_forms() && $forms->exist() ) {
  • convertkit/tags/3.1.5/wp-convertkit.php

    r3437320 r3442175  
    1010 * Plugin URI: https://kit.com/
    1111 * Description: Display Kit (formerly ConvertKit) email subscription forms, landing pages, products, broadcasts and more.
    12  * Version: 3.1.4
     12 * Version: 3.1.5
    1313 * Author: Kit
    1414 * Author URI: https://kit.com/
     
    2828define( 'CONVERTKIT_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
    2929define( 'CONVERTKIT_PLUGIN_PATH', __DIR__ );
    30 define( 'CONVERTKIT_PLUGIN_VERSION', '3.1.4' );
     30define( 'CONVERTKIT_PLUGIN_VERSION', '3.1.5' );
    3131define( 'CONVERTKIT_OAUTH_CLIENT_ID', 'HXZlOCj-K5r0ufuWCtyoyo3f688VmMAYSsKg1eGvw0Y' );
    3232define( 'CONVERTKIT_OAUTH_CLIENT_REDIRECT_URI', 'https://app.kit.com/wordpress/redirect' );
     
    118118require_once CONVERTKIT_PLUGIN_PATH . '/admin/class-convertkit-wp-list-table.php';
    119119require_once CONVERTKIT_PLUGIN_PATH . '/admin/importers/class-convertkit-admin-importer.php';
     120require_once CONVERTKIT_PLUGIN_PATH . '/admin/importers/class-convertkit-admin-importer-aweber.php';
    120121require_once CONVERTKIT_PLUGIN_PATH . '/admin/importers/class-convertkit-admin-importer-mc4wp.php';
    121122require_once CONVERTKIT_PLUGIN_PATH . '/admin/section/class-convertkit-admin-section-base.php';
  • convertkit/trunk/CHANGELOG.md

    r3437320 r3442175  
     1### 3.1.5 2026-01-19
     2* Added: Settings: Tools: AWeber for WordPress Plugin to Kit Form Importer
     3
    14### 3.1.4 2026-01-12
    25* Added: Settings: Member Content: Container CSS Class setting
  • convertkit/trunk/admin/importers/class-convertkit-admin-importer-mc4wp.php

    r3399438 r3442175  
    3434
    3535    /**
    36      * Returns an array of post IDs that contain the MC4WP form shortcode.
    37      *
    38      * @since   3.1.0
    39      *
    40      * @return  array
    41      */
    42     public function get_forms_in_posts() {
    43 
    44         global $wpdb;
    45 
    46         // Search post_content for [mc4wp_form] shortcode and return array of post IDs.
    47         $results = $wpdb->get_col(
    48             $wpdb->prepare(
    49                 "
    50             SELECT ID
    51             FROM {$wpdb->posts}
    52             WHERE post_status = %s
    53             AND post_content LIKE %s
    54             ",
    55                 'publish',
    56                 '%[' . $this->shortcode_name . '%'
    57             )
    58         );
    59 
    60         return $results ? $results : array();
    61 
    62     }
    63 
    64     /**
    6536     * Returns an array of MC4WP form IDs and titles.
    6637     *
  • convertkit/trunk/admin/importers/class-convertkit-admin-importer.php

    r3399438 r3442175  
    4343
    4444    /**
    45      * Returns an array of post IDs that contain the third party form shortcode.
    46      *
    47      * @since   3.1.0
    48      *
    49      * @return  array
    50      */
    51     abstract public function get_forms_in_posts();
     45     * Returns an array of post IDs that contain the third partyform shortcode.
     46     *
     47     * @since   3.1.5
     48     *
     49     * @return  array
     50     */
     51    public function get_forms_in_posts() {
     52
     53        global $wpdb;
     54
     55        // Search post_content for the third party form shortcode and return array of post IDs.
     56        $results = $wpdb->get_col(
     57            $wpdb->prepare(
     58                "
     59            SELECT ID
     60            FROM {$wpdb->posts}
     61            WHERE post_status = %s
     62            AND post_content LIKE %s
     63            ",
     64                'publish',
     65                '%[' . $this->shortcode_name . '%'
     66            )
     67        );
     68
     69        return $results ? $results : array();
     70
     71    }
    5272
    5373    /**
     
    146166    }
    147167
     168    /**
     169     * Returns an array of all unique form IDs from the posts that contain the third party form shortcode.
     170     *
     171     * @since   3.1.5
     172     *
     173     * @return  array
     174     */
     175    public function get_form_ids_in_posts() {
     176
     177        // Get Post IDs that contain the third party form shortcode.
     178        $post_ids = $this->get_forms_in_posts();
     179
     180        // If no post IDs are found, return an empty array.
     181        if ( ! count( $post_ids ) ) {
     182            return array();
     183        }
     184
     185        // Iterate through Posts, extracting the Form IDs from the third party form shortcodes.
     186        $form_ids = array();
     187        foreach ( $post_ids as $post_id ) {
     188            $content_form_ids = $this->get_form_ids_from_content( get_post_field( 'post_content', $post_id ) );
     189            $form_ids         = array_merge( $form_ids, $content_form_ids );
     190        }
     191
     192        $form_ids = array_values( array_unique( $form_ids ) );
     193
     194        return $form_ids;
     195
     196    }
     197
     198    /**
     199     * Returns an array of form IDs within the shortcode for the third party Form plugin.
     200     *
     201     * @since   3.1.5
     202     *
     203     * @param   string $content             Content containing third party Form Shortcodes.
     204     * @return  array
     205     */
     206    public function get_form_ids_from_content( $content ) {
     207
     208        $pattern = '/\['                                       // Start regex with an opening square bracket.
     209            . preg_quote( $this->shortcode_name, '/' )         // Match the shortcode name, escaping any regex special chars.
     210            . '(?:\s+[^\]]*)?'                                 // Optionally match any attributes (key/value pairs), non-greedy.
     211            . preg_quote( $this->shortcode_id_attribute, '/' ) // Match the id attribute name.
     212            . '\s*=\s*'                                        // Optional whitespace, equals sign, optional whitespace.
     213            . '(?:"([^"]+)"|([^\s\]]+))'                       // Capture quoted or unquoted value.
     214            . '[^\]]*?\]/i';                                   // Match up to closing bracket, case-insensitive.
     215
     216        preg_match_all( $pattern, $content, $matches );
     217
     218        // Extract form IDs: They could be in either $matches[1] (quoted) or $matches[2] (unquoted).
     219        $form_ids = array_filter(
     220            array_merge(
     221                isset( $matches[1] ) ? $matches[1] : array(),
     222                isset( $matches[2] ) ? $matches[2] : array()
     223            )
     224        );
     225
     226        return $form_ids;
     227
     228    }
     229
    148230}
  • convertkit/trunk/admin/section/class-convertkit-admin-section-tools.php

    r3399438 r3442175  
    5858                'import_configuration_empty'             => __( 'The uploaded configuration file contains no settings.', 'convertkit' ),
    5959                'import_configuration_success'           => __( 'Configuration imported successfully.', 'convertkit' ),
     60                'migrate_aweber_configuration_success'   => __( 'AWeber forms migrated successfully.', 'convertkit' ),
    6061                'migrate_mc4wp_configuration_success'    => __( 'MC4WP forms migrated successfully.', 'convertkit' ),
    6162            )
     
    7778        $this->maybe_export_configuration();
    7879        $this->maybe_import_configuration();
     80        $this->maybe_migrate_aweber_configuration();
    7981        $this->maybe_migrate_mc4wp_configuration();
    8082
     
    318320
    319321    /**
     322     * Replaces AWeber Form Shortcodes with Kit Form Shortcodes, if the user submitted the
     323     * AWeber Migrate Configuration section.
     324     *
     325     * @since   3.1.5
     326     */
     327    private function maybe_migrate_aweber_configuration() {
     328
     329        // Bail if nonce verification fails.
     330        if ( ! isset( $_REQUEST['_convertkit_settings_tools_nonce'] ) ) {
     331            return;
     332        }
     333
     334        if ( ! wp_verify_nonce( sanitize_key( $_REQUEST['_convertkit_settings_tools_nonce'] ), 'convertkit-settings-tools' ) ) {
     335            return;
     336        }
     337
     338        // Bail if no AWeber Form IDs were submitted.
     339        if ( ! isset( $_REQUEST['_wp_convertkit_integration_aweber_settings'] ) ) {
     340            return;
     341        }
     342
     343        // Initialise the importer.
     344        $aweber = new ConvertKit_Admin_Importer_AWeber();
     345
     346        // Iterate through the AWeber Form IDs and replace the shortcodes with the Kit Form Shortcodes.
     347        foreach ( array_map( 'sanitize_text_field', wp_unslash( $_REQUEST['_wp_convertkit_integration_aweber_settings'] ) ) as $aweber_form_id => $kit_form_id ) {
     348            $aweber->replace_shortcodes_in_posts( (int) $aweber_form_id, (int) $kit_form_id );
     349        }
     350
     351        // Redirect to Tools screen.
     352        $this->redirect_with_success_notice( 'migrate_aweber_configuration_success' );
     353
     354    }
     355
     356    /**
    320357     * Replaces MC4WP Form Shortcodes with Kit Form Shortcodes, if the user submitted the
    321358     * MC4WP Migrate Configuration section.
     
    374411
    375412        // Get Importers.
    376         $mc4wp = new ConvertKit_Admin_Importer_MC4WP();
     413        $aweber = new ConvertKit_Admin_Importer_AWeber();
     414        $mc4wp  = new ConvertKit_Admin_Importer_MC4WP();
    377415
    378416        // Output view.
  • convertkit/trunk/languages/convertkit.pot

    r3437320 r3442175  
    33msgid ""
    44msgstr ""
    5 "Project-Id-Version: Kit (formerly ConvertKit) 3.1.4\n"
     5"Project-Id-Version: Kit (formerly ConvertKit) 3.1.5\n"
    66"Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/convertkit\n"
    77"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
     
    1010"Content-Type: text/plain; charset=UTF-8\n"
    1111"Content-Transfer-Encoding: 8bit\n"
    12 "POT-Creation-Date: 2026-01-10T10:03:26+00:00\n"
     12"POT-Creation-Date: 2026-01-16T03:15:12+00:00\n"
    1313"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
    1414"X-Generator: WP-CLI 2.12.0\n"
     
    143143msgstr ""
    144144
     145#: admin/importers/class-convertkit-admin-importer-aweber.php:71
     146msgid "Sign Up Form"
     147msgstr ""
     148
     149#: admin/importers/class-convertkit-admin-importer-aweber.php:74
     150msgid "Split Tests"
     151msgstr ""
     152
    145153#: admin/section/class-convertkit-admin-section-broadcasts.php:32
    146154#: admin/section/class-convertkit-admin-section-broadcasts.php:33
     
    844852
    845853#: admin/section/class-convertkit-admin-section-tools.php:60
     854msgid "AWeber forms migrated successfully."
     855msgstr ""
     856
     857#: admin/section/class-convertkit-admin-section-tools.php:61
    846858msgid "MC4WP forms migrated successfully."
    847859msgstr ""
    848860
    849 #: admin/section/class-convertkit-admin-section-tools.php:396
     861#: admin/section/class-convertkit-admin-section-tools.php:434
    850862msgid "Tools to help you manage Kit on your site."
    851863msgstr ""
    852864
    853 #: admin/section/class-convertkit-admin-section-tools.php:424
     865#: admin/section/class-convertkit-admin-section-tools.php:462
    854866msgid "WordPress 5.2 or higher is required for system information report."
    855867msgstr ""
     
    14271439#: includes/blocks/class-convertkit-block-form.php:100
    14281440#: views/backend/settings/tools.php:119
     1441#: views/backend/settings/tools.php:174
    14291442#: views/backend/term/fields-add.php:11
    14301443#: views/backend/term/fields-edit.php:12
     
    21212134
    21222135#: views/backend/settings/tools.php:109
     2136msgid "AWeber: Migrate Configuration"
     2137msgstr ""
     2138
     2139#: views/backend/settings/tools.php:112
     2140msgid "Automatically replace AWeber form shortcodes with Kit forms."
     2141msgstr ""
     2142
     2143#: views/backend/settings/tools.php:118
     2144msgid "AWeber Form"
     2145msgstr ""
     2146
     2147#: views/backend/settings/tools.php:149
     2148#: views/backend/settings/tools.php:204
     2149msgid "Migrate"
     2150msgstr ""
     2151
     2152#: views/backend/settings/tools.php:164
    21232153msgid "MC4WP: Migrate Configuration"
    21242154msgstr ""
    21252155
    2126 #: views/backend/settings/tools.php:112
     2156#: views/backend/settings/tools.php:167
    21272157msgid "Automatically replace MC4WP form shortcodes with Kit forms."
    21282158msgstr ""
    21292159
    2130 #: views/backend/settings/tools.php:118
     2160#: views/backend/settings/tools.php:173
    21312161msgid "MC4WP Form"
    2132 msgstr ""
    2133 
    2134 #: views/backend/settings/tools.php:149
    2135 msgid "Migrate"
    21362162msgstr ""
    21372163
  • convertkit/trunk/readme.txt

    r3437320 r3442175  
    66Tested up to: 6.9
    77Requires PHP: 7.1
    8 Stable tag: 3.1.4
     8Stable tag: 3.1.5
    99License: GPLv3 or later
    1010License URI: https://www.gnu.org/licenses/gpl-3.0.html
     
    343343
    344344== Changelog ==
     345
     346### 3.1.5 2026-01-19
     347* Added: Settings: Tools: AWeber for WordPress Plugin to Kit Form Importer
    345348
    346349### 3.1.4 2026-01-12
  • convertkit/trunk/views/backend/settings/tools.php

    r3399438 r3442175  
    103103
    104104    <?php
     105    // Aweber.
     106    if ( $aweber->has_forms_in_posts() && $aweber->has_forms() && $forms->exist() ) {
     107        ?>
     108        <div id="import-aweber" class="postbox">
     109            <h2><?php esc_html_e( 'AWeber: Migrate Configuration', 'convertkit' ); ?></h2>
     110
     111            <p class="description">
     112                <?php esc_html_e( 'Automatically replace AWeber form shortcodes with Kit forms.', 'convertkit' ); ?><br />
     113            </p>
     114
     115            <table class="widefat striped">
     116                <thead>
     117                    <tr>
     118                        <th><?php esc_html_e( 'AWeber Form', 'convertkit' ); ?></th>
     119                        <th><?php esc_html_e( 'Kit Form', 'convertkit' ); ?></th>
     120                    </tr>
     121                </thead>
     122                <tbody>
     123                    <?php
     124                    foreach ( $aweber->get_forms() as $aweber_form_id => $aweber_form_title ) {
     125                        ?>
     126                        <tr>
     127                            <td><?php echo esc_html( $aweber_form_title ); ?></td>
     128                            <td>
     129                                <select name="_wp_convertkit_integration_aweber_settings[<?php echo esc_attr( $aweber_form_id ); ?>]">
     130                                    <?php
     131                                    foreach ( $forms->get() as $form ) {
     132                                        ?>
     133                                        <option value="<?php echo esc_attr( $form['id'] ); ?>"><?php echo esc_html( $form['name'] ); ?></option>
     134                                        <?php
     135                                    }
     136                                    ?>
     137                                </select>
     138                            </td>
     139                        </tr>
     140                        <?php
     141                    }
     142                    ?>
     143                </tbody>
     144            </table>
     145
     146            <p>
     147                <?php
     148                submit_button(
     149                    __( 'Migrate', 'convertkit' ),
     150                    'primary',
     151                    'convertkit-import-aweber',
     152                    false
     153                );
     154                ?>
     155            </p>
     156        </div><!-- .postbox -->
     157        <?php
     158    }
     159
    105160    // Mailchimp for WordPress (MC4WP).
    106161    if ( $mc4wp->has_forms_in_posts() && $mc4wp->has_forms() && $forms->exist() ) {
  • convertkit/trunk/wp-convertkit.php

    r3437320 r3442175  
    1010 * Plugin URI: https://kit.com/
    1111 * Description: Display Kit (formerly ConvertKit) email subscription forms, landing pages, products, broadcasts and more.
    12  * Version: 3.1.4
     12 * Version: 3.1.5
    1313 * Author: Kit
    1414 * Author URI: https://kit.com/
     
    2828define( 'CONVERTKIT_PLUGIN_URL', plugin_dir_url( __FILE__ ) );
    2929define( 'CONVERTKIT_PLUGIN_PATH', __DIR__ );
    30 define( 'CONVERTKIT_PLUGIN_VERSION', '3.1.4' );
     30define( 'CONVERTKIT_PLUGIN_VERSION', '3.1.5' );
    3131define( 'CONVERTKIT_OAUTH_CLIENT_ID', 'HXZlOCj-K5r0ufuWCtyoyo3f688VmMAYSsKg1eGvw0Y' );
    3232define( 'CONVERTKIT_OAUTH_CLIENT_REDIRECT_URI', 'https://app.kit.com/wordpress/redirect' );
     
    118118require_once CONVERTKIT_PLUGIN_PATH . '/admin/class-convertkit-wp-list-table.php';
    119119require_once CONVERTKIT_PLUGIN_PATH . '/admin/importers/class-convertkit-admin-importer.php';
     120require_once CONVERTKIT_PLUGIN_PATH . '/admin/importers/class-convertkit-admin-importer-aweber.php';
    120121require_once CONVERTKIT_PLUGIN_PATH . '/admin/importers/class-convertkit-admin-importer-mc4wp.php';
    121122require_once CONVERTKIT_PLUGIN_PATH . '/admin/section/class-convertkit-admin-section-base.php';
Note: See TracChangeset for help on using the changeset viewer.