From 6758bac96ca45c14458f5529abeacb0fc5fb81c5 Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 27 May 2026 09:33:45 -0300 Subject: [PATCH 1/8] Exclude pro resources folder from zip --- bin/zip-plugin.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/zip-plugin.sh b/bin/zip-plugin.sh index f18e14e320..a24dbb5b5d 100755 --- a/bin/zip-plugin.sh +++ b/bin/zip-plugin.sh @@ -129,7 +129,8 @@ zip -r $zipname $destination \ -x "*/eslint-rules/*" \ -x "*/phpcs-sniffs/*" \ -x "$source/venv/*" \ - -x "formidable/resources/*" + -x "formidable/resources/*" \ + -x "formidable-pro/resources/*" if [ ! -z "$3" ]; then rm -rf $destination From d3a75ca596cb1b41bb990248954d1a5b304f715e Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 27 May 2026 09:34:41 -0300 Subject: [PATCH 2/8] Update since versions --- classes/controllers/FrmAddonsController.php | 4 +- classes/controllers/FrmAppController.php | 2 +- .../controllers/FrmFormActionsController.php | 20 ++--- classes/helpers/FrmXMLHelper.php | 2 +- classes/models/FrmFormAction.php | 2 +- classes/models/fields/FrmFieldType.php | 2 +- .../back-end/upsell/ai-upsell-button.php | 2 +- classes/views/frm-forms/add_field_links.php | 2 +- js/src/admin/admin.js | 20 ++--- .../components/formActionsSearch.js | 4 +- .../FrmPayPalLiteActionsController.php | 82 +++++++++---------- .../FrmPayPalLiteAppController.php | 30 +++---- .../FrmPayPalLiteEventsController.php | 48 +++++------ .../FrmPayPalLiteFieldsController.php | 2 +- .../FrmPayPalLiteSettingsController.php | 2 +- paypal/helpers/FrmPayPalLiteConnectHelper.php | 32 ++++---- paypal/views/settings/button-settings.php | 2 +- .../pages/_form-settings.scss | 4 +- .../scss/admin/components/button/_button.scss | 6 +- .../FrmTransLiteHooksController.php | 4 +- .../FrmTransLitePaymentsController.php | 4 +- .../action-settings/payments-options.php | 10 +-- 22 files changed, 143 insertions(+), 143 deletions(-) diff --git a/classes/controllers/FrmAddonsController.php b/classes/controllers/FrmAddonsController.php index 74dde99a27..5308a19dd8 100644 --- a/classes/controllers/FrmAddonsController.php +++ b/classes/controllers/FrmAddonsController.php @@ -474,7 +474,7 @@ protected static function get_pro_from_addons( $addons ) { /** * @since 4.06 - * @since x.x Added the $force_type param. + * @since 6.31 Added the $force_type param. * * @param bool $force_type Whether to resolve grandfathered licenses to their real license type. * @@ -493,7 +493,7 @@ public static function license_type( $force_type = false ) { * * Mirrors the API's determine_status_from_license_details logic. * - * @since x.x + * @since 6.31 * * @return string 'active', 'expired', or 'free'. */ diff --git a/classes/controllers/FrmAppController.php b/classes/controllers/FrmAppController.php index d2b0d7bced..5d87c178e4 100644 --- a/classes/controllers/FrmAppController.php +++ b/classes/controllers/FrmAppController.php @@ -940,7 +940,7 @@ public static function admin_enqueue_scripts() { /** * Enqueue legacy PayPal action settings styles when the PayPal add-on is active. * - * @since x.x + * @since 6.31 * * @return void */ diff --git a/classes/controllers/FrmFormActionsController.php b/classes/controllers/FrmFormActionsController.php index 0709b0a652..862201f9b2 100644 --- a/classes/controllers/FrmFormActionsController.php +++ b/classes/controllers/FrmFormActionsController.php @@ -104,7 +104,7 @@ public static function register_actions() { * * Keeps the description when an add-on replaces a base action class without its own. * - * @since x.x + * @since 6.31 * * @return void */ @@ -304,7 +304,7 @@ public static function form_action_groups() { /** * Get the actions that are currently available (active) for My Actions section. * - * @since x.x + * @since 6.31 * * @param array $action_controls The registered action controls. * @@ -333,7 +333,7 @@ private static function get_available_my_actions( $action_controls ) { /** * Get the actions to include in the Misc section. * - * @since x.x + * @since 6.31 * * @param array $action_controls The registered action controls. * @@ -480,7 +480,7 @@ public static function show_action_icon_link( $action_control, $allowed ) { /** * Get the HTML attributes for the action icon. * - * @since x.x + * @since 6.31 * * @param object $action_control * @@ -669,7 +669,7 @@ public static function add_form_action() { /** * Returns the first available title not in $existing_titles, appending " (2)", " (3)", etc. if needed. * - * @since x.x + * @since 6.31 * * @param string $base_title Default action title from the action type. * @param string[] $existing_titles Titles currently visible in the form editor. @@ -1024,7 +1024,7 @@ public static function prevent_wpml_translations( $null, $post_type ) { * If Pro is not connected, hook a filter that will force all non-Lite * actions to inactive so the upgrade popup is shown instead. * - * @since x.x + * @since 6.31 * * @return void */ @@ -1044,7 +1044,7 @@ private static function maybe_setup_unlicensed_action_gate() { * so the per-key option filters are in place before the class constructors * run in the foreach loop that follows. * - * @since x.x + * @since 6.31 * * @param array $actions Map of action_key => class_name. * @@ -1078,7 +1078,7 @@ function ( $options ) { /** * Get action keys that are available in Lite without a Pro license. * - * @since x.x + * @since 6.31 * * @return string[] */ @@ -1093,7 +1093,7 @@ public static function get_lite_actions() { * Slugs without '/' are KB doc slugs (knowledgebase/ prefix is added). * Slugs with '/' are direct paths (e.g. features/) used as-is. * - * @since x.x + * @since 6.31 * * @return array Map of action_key => URL slug. */ @@ -1124,7 +1124,7 @@ public static function get_action_learn_more_links() { /** * Look up the learn-more doc slug for a given action key. * - * @since x.x + * @since 6.31 * * @param string $action_key Action identifier (e.g. 'register'). * diff --git a/classes/helpers/FrmXMLHelper.php b/classes/helpers/FrmXMLHelper.php index 238d3aef79..fee315aa3c 100644 --- a/classes/helpers/FrmXMLHelper.php +++ b/classes/helpers/FrmXMLHelper.php @@ -303,7 +303,7 @@ public static function import_xml_forms( $forms, $imported ) { * imported later. Use this action for cross-form fix-ups that require * the fully populated `$frm_duplicate_ids` map. * - * @since x.x + * @since 6.31 * * @param array $imported Summary of imported items, including * 'forms' => array( old_form_id => new_form_id ). diff --git a/classes/models/FrmFormAction.php b/classes/models/FrmFormAction.php index 2e9da5b1a9..6a75dc51de 100644 --- a/classes/models/FrmFormAction.php +++ b/classes/models/FrmFormAction.php @@ -144,7 +144,7 @@ public function __construct( $id_base, $name, $action_options = array(), $contro $this->id_base = strtolower( $id_base ); /** - * @since x.x + * @since 6.31 * * @param string $name */ diff --git a/classes/models/fields/FrmFieldType.php b/classes/models/fields/FrmFieldType.php index 6f0d7eb0db..d310dca6aa 100644 --- a/classes/models/fields/FrmFieldType.php +++ b/classes/models/fields/FrmFieldType.php @@ -972,7 +972,7 @@ public function get_options( $values ) { */ public function show_field( $args ) { /** - * @since x.x Added $field parameter. + * @since 6.31 Added $field parameter. * * @param bool $show_normal_field_type * @param string $type diff --git a/classes/views/frm-fields/back-end/upsell/ai-upsell-button.php b/classes/views/frm-fields/back-end/upsell/ai-upsell-button.php index 2c7edf9752..a9d8b0bd86 100644 --- a/classes/views/frm-fields/back-end/upsell/ai-upsell-button.php +++ b/classes/views/frm-fields/back-end/upsell/ai-upsell-button.php @@ -4,7 +4,7 @@ * * @package Formidable * - * @since x.x + * @since 6.31 */ if ( ! defined( 'ABSPATH' ) ) { diff --git a/classes/views/frm-forms/add_field_links.php b/classes/views/frm-forms/add_field_links.php index e755e576c9..c4e3775529 100644 --- a/classes/views/frm-forms/add_field_links.php +++ b/classes/views/frm-forms/add_field_links.php @@ -231,7 +231,7 @@ * Used along with frm_extra_form_instruction_tabs which is used to * include the tabs. * - * @since x.x + * @since 6.31 * * @param stdClass $form The form object. */ diff --git a/js/src/admin/admin.js b/js/src/admin/admin.js index f76cb6fb6c..11d2d359d9 100644 --- a/js/src/admin/admin.js +++ b/js/src/admin/admin.js @@ -375,7 +375,7 @@ window.frmAdminBuildJS = function() { /** * Initializes an info modal. * - * @since x.x The first param can be an array of args. + * @since 6.31 The first param can be an array of args. * * @param {Array|string} msg The message or the modal data (title, msg, actionUrl, actionText, closeText). * @param {string|undefined} width The width (include the unit) of the modal. This is optional. Default is `400px`. @@ -553,7 +553,7 @@ window.frmAdminBuildJS = function() { /** * Adds keyboard support for form action widgets and their icons. * - * @since x.x + * @since 6.31 * * @param {jQuery} wrapClass Delegated jQuery scope for the current page wrap. * @return {void} @@ -661,7 +661,7 @@ window.frmAdminBuildJS = function() { /** * Uncheck any data-toggleclass toggle that controls the given hidden element. * - * @since x.x + * @since 6.31 * * @param {string} hideSelector CSS selector for the element being removed. * @return {void} @@ -770,7 +770,7 @@ window.frmAdminBuildJS = function() { /** * Toggle the visibility of the form actions search no results message. * - * @since x.x + * @since 6.31 */ function toggleFormActionsNoResultsVisibility() { const hasVisibleActions = document.querySelector( '#frm-actions-filter-content .frm-action:not(.frm_hidden)' ); @@ -791,7 +791,7 @@ window.frmAdminBuildJS = function() { } /** - * @since x.x + * @since 6.31 * * @param {string} deletedType * @@ -7650,7 +7650,7 @@ window.frmAdminBuildJS = function() { /** * Gets the visible titles for a given action type from the DOM. * - * @since x.x + * @since 6.31 * * @param {string} actionType The action type slug (e.g. "email"). * @return {string[]} Array of trimmed title strings. @@ -7665,7 +7665,7 @@ window.frmAdminBuildJS = function() { /** * Returns the first available title not already taken, appending " (2)", " (3)", etc. if needed. * - * @since x.x + * @since 6.31 * * @param {string} baseTitle The base title without any numeric suffix. * @param {string[]} existingTitles Titles currently in use. @@ -7765,7 +7765,7 @@ window.frmAdminBuildJS = function() { } /** - * @since x.x + * @since 6.31 * * @param {string} excludedType * @@ -8165,7 +8165,7 @@ window.frmAdminBuildJS = function() { /** * Handle click on the "+" button to add another logic row to a form action. * - * @since x.x + * @since 6.31 * * @return {boolean} Returns false to prevent default behavior. */ @@ -8178,7 +8178,7 @@ window.frmAdminBuildJS = function() { /** * Create the first logic row when the conditional logic toggle is turned on. * - * @since x.x + * @since 6.31 * * @return {void} */ diff --git a/js/src/settings-components/components/formActionsSearch.js b/js/src/settings-components/components/formActionsSearch.js index 3d2f6402ba..037fd569e9 100644 --- a/js/src/settings-components/components/formActionsSearch.js +++ b/js/src/settings-components/components/formActionsSearch.js @@ -1,7 +1,7 @@ /** * Form actions search behavior for the Actions & Notifications settings page. * - * @since x.x + * @since 6.31 */ const ACTIONS_LIST_WRAPPER_ID = 'frm_email_addon_menu'; @@ -32,7 +32,7 @@ export const initFormActionsSearch = () => { * Handles search input for form actions. * Switches to "All" tab and defers group heading visibility update. * - * @since x.x + * @since 6.31 * * @param {HTMLInputElement} searchInput The search input element. * @param {HTMLElement} actionsListWrapper The actions wrapper container. diff --git a/paypal/controllers/FrmPayPalLiteActionsController.php b/paypal/controllers/FrmPayPalLiteActionsController.php index b1f205188c..e6ec167265 100644 --- a/paypal/controllers/FrmPayPalLiteActionsController.php +++ b/paypal/controllers/FrmPayPalLiteActionsController.php @@ -13,7 +13,7 @@ class FrmPayPalLiteActionsController extends FrmTransLiteActionsController { private static $pending_capture = false; /** - * @since x.x + * @since 6.31 * * @param string $callback * @param array|false|object $field @@ -47,7 +47,7 @@ public static function maybe_show_card( $callback, $field = false ) { /** * Override the credit card field HTML if there is a PayPal action. * - * @since x.x + * @since 6.31 * * @param array $field * @param string $field_name @@ -76,7 +76,7 @@ public static function show_card( $field, $field_name, $atts ) { /** * Get all published payment actions with the PayPal gateway that have an amount set. * - * @since x.x + * @since 6.31 * * @param int|string $form_id * @@ -187,7 +187,7 @@ public static function trigger_gateway( $action, $entry, $form ) { /** * Filters the message to show in the main feedback area. * - * @since x.x + * @since 6.31 * * @param string $paypal_message The message to show. * @param stdClass $order The order object. @@ -212,7 +212,7 @@ function ( $message ) use ( $paypal_message ) { /** * Get the display label for a payment source type. * - * @since x.x + * @since 6.31 * * @param string $source_type The payment source identifier (e.g. 'paypal', 'paylater', 'google_pay'). * @@ -232,7 +232,7 @@ private static function get_source_display_type( $source_type ) { /** * Format a PayPal shipping address object into an HTML string. * - * @since x.x + * @since 6.31 * * @param object $address The PayPal shipping address object. * @@ -362,7 +362,7 @@ private static function trigger_one_time_payment( $atts ) { * by the processor or bank..."). Prefer those over the generic top-level * `message` so the buyer sees the actionable reason. * - * @since x.x + * @since 6.31 * * @param mixed $response The PayPal response object. * @param string $fallback The fallback message when no details are available. @@ -392,7 +392,7 @@ private static function get_paypal_error_message( $response, $fallback ) { * The debug ID is shown only to users who can edit forms, as a * troubleshooting aid. * - * @since x.x + * @since 6.31 * * @param string $message The error message. * @param mixed $response The PayPal response that may contain a debug_id property. @@ -414,7 +414,7 @@ private static function maybe_append_debug_id( $message, $response ) { } /** - * @since x.x + * @since 6.31 * * @param stdClass $order The order object. * @@ -431,7 +431,7 @@ private static function is_liability_error( $order ) { /** * Filters whether the liability shift is an error. * - * @since x.x + * @since 6.31 * * @param bool $is_liability_error Whether the liability shift is an error. * @param string $liability_shift The liability shift value. By default 'NO' and 'UNKNOWN' are errors. @@ -452,7 +452,7 @@ private static function is_liability_error( $order ) { * payment record is created so the webhook can complete it later. * For unrecoverable errors, the PayPal error description is returned. * - * @since x.x + * @since 6.31 * * @param stdClass $response The PayPal error response object. * @param array $atts The payment attributes. @@ -510,7 +510,7 @@ private static function handle_pending_capture( $response, $atts, $paypal_order_ /** * Extract the issue code from a PayPal capture error response. * - * @since x.x + * @since 6.31 * * @param stdClass $response The PayPal error response. * @@ -537,7 +537,7 @@ private static function get_capture_error_issue( $response ) { /** * Convert a PayPal issue code to a human-readable error message. * - * @since x.x + * @since 6.31 * * @param string $issue The issue code (e.g. AUTHENTICATION_FAILURE). * @@ -560,7 +560,7 @@ private static function convert_issue_to_message( $issue ) { } /** - * @since x.x + * @since 6.31 * * @param stdClass $order * @@ -571,7 +571,7 @@ private static function validate_order_status( $order ) { } /** - * @since x.x + * @since 6.31 * * @param stdClass $order * @param string $expected_amount This is as a whole number (in cents for currencies that include decimals). @@ -590,7 +590,7 @@ private static function validate_order_amount( $order, $expected_amount ) { /** * Validate that the subscription status indicates it was approved by the payer. * - * @since x.x + * @since 6.31 * * @param stdClass $subscription The PayPal subscription object. * @@ -607,7 +607,7 @@ private static function validate_subscription_status( $subscription ) { /** * Validate that the subscription amount matches the expected amount. * - * @since x.x + * @since 6.31 * * @param stdClass $subscription The PayPal subscription object. * @param string $expected_amount The expected amount as a whole number (in cents for currencies that include decimals). @@ -666,7 +666,7 @@ private static function get_capture_id_from_response( $response ) { /** * Sync the entry data with the capture response. * - * @since x.x + * @since 6.31 * * @param object $response The response object. * @param array $atts The arguments for the payment. @@ -716,7 +716,7 @@ private static function sync_entry_data_with_capture_response( $response, $atts * same shape used by the capture response so the existing field-update * helpers can be reused. * - * @since x.x + * @since 6.31 * * @param object $subscription The subscription object from PayPal. * @param array $atts Includes 'entry', 'action', 'amount'. @@ -789,7 +789,7 @@ private static function sync_entry_data_with_subscription_response( $subscriptio /** * Build field updates for the dedicated PayPal order data fields. * - * @since x.x + * @since 6.31 * * @param stdClass $payer The payer object from the PayPal response. * @param stdClass $response The full capture response. @@ -845,7 +845,7 @@ private static function get_order_data_field_updates( $payer, $response, $settin /** * Build an array of field updates by comparing payer response data against current entry metas. * - * @since x.x + * @since 6.31 * * @param stdClass $payer The payer object from the PayPal response. * @param stdClass $response The full capture response. @@ -945,7 +945,7 @@ private static function get_payer_field_updates( $payer, $response, $action, $en /** * Get the shipping address object from the first purchase unit in the response. * - * @since x.x + * @since 6.31 * * @param object $response The capture response. * @@ -1070,7 +1070,7 @@ private static function create_new_subscription( $subscription_id, $atts, $subsc * Uses the PayPal subscription ID as a temporary receipt_id. When the PAYMENT.SALE.COMPLETED * webhook arrives later, the receipt_id is updated to the real capture/sale ID. * - * @since x.x + * @since 6.31 * * @param string $subscription_id The PayPal subscription ID. * @param int $sub_id The local subscription record ID. @@ -1188,7 +1188,7 @@ public static function load_scripts( $form_id ) { // phpcs:ignore Generic.Metric } if ( ! $form_id || ! is_int( $form_id ) ) { - _doing_it_wrong( __METHOD__, '$form_id parameter must be a non-zero integer', 'x.x' ); + _doing_it_wrong( __METHOD__, '$form_id parameter must be a non-zero integer', '6.31' ); return; } @@ -1316,7 +1316,7 @@ function ( $settings_for_action, $payment_action ) use ( &$payment_action_by_id /** * Allow customization of the PayPal SDK URL query arguments. * - * @since x.x + * @since 6.31 * * @param array $query_args * @param WP_Post $action @@ -1408,13 +1408,13 @@ function ( $tag, $handle ) use ( $has_break ) { } /** - * @since x.x + * @since 6.31 * * @return bool */ private static function include_google_pay_apple_pay() { /** - * @since x.x + * @since 6.31 * * @param bool $include_google_pay_apple_pay */ @@ -1422,7 +1422,7 @@ private static function include_google_pay_apple_pay() { } /** - * @since x.x + * @since 6.31 * * @return string */ @@ -2269,7 +2269,7 @@ public static function get_style_for_js( $form_id ) { /** * Filter the PayPal card field styles. * - * @since x.x + * @since 6.31 * * @param array $style * @param array $settings @@ -2282,7 +2282,7 @@ public static function get_style_for_js( $form_id ) { * Get PayPal button style configuration from form action settings. * Documentation at https://developer.paypal.com/sdk/js/reference/#style * - * @since x.x + * @since 6.31 * * @param WP_Post $form_action The form action containing button settings. * @@ -2308,7 +2308,7 @@ private static function get_button_style_for_js( $form_action ) { } /** - * @since x.x + * @since 6.31 * * @param array $style_for_js * @param WP_Post $form_action @@ -2349,7 +2349,7 @@ private static function get_style_settings_for_form( $form_id ) { /** * Get the border width for PayPal card fields. * - * @since x.x + * @since 6.31 * * @param array $settings * @@ -2365,7 +2365,7 @@ private static function get_border_width( $settings ) { /** * Get the border radius for PayPal card fields. * - * @since x.x + * @since 6.31 * * @param array $settings * @@ -2387,7 +2387,7 @@ private static function get_border_radius( $settings ) { /** * Get the border shorthand for PayPal card fields. * - * @since x.x + * @since 6.31 * * @param array $settings * @@ -2405,7 +2405,7 @@ private static function get_border_shorthand( $settings ) { * If the names are being used on the CC fields, * make sure it doesn't prevent the submission if PayPal has approved. * - * @since x.x + * @since 6.31 * * @param array $errors * @param stdClass $field @@ -2424,7 +2424,7 @@ public static function remove_cc_validation( $errors, $field ) { } /** - * @since x.x + * @since 6.31 * * @return void */ @@ -2441,7 +2441,7 @@ public static function actions_js() { * Modify the new action post data to use the payment action type when the PayPal plugin is not active. * This works better than having it disabled even when PayPal is supported. * - * @since x.x + * @since 6.31 * * @return void */ @@ -2502,7 +2502,7 @@ public static function add_action_options( $atts ) { /** * Print additional options for button settings. * - * @since x.x + * @since 6.31 * * @param array|FrmFormAction $args_or_action_control Either the args array with form_action and action_control, or the action_control object. * @param WP_Post|null $form_action The form action object (when called directly). @@ -2523,7 +2523,7 @@ public static function add_button_settings_section( $args_or_action_control, $fo /** * Add PayPal subscription settings (product name and product type) after payment type. * - * @since x.x + * @since 6.31 * * @param array $args Arguments containing form_action and action_control. * @@ -2565,7 +2565,7 @@ public static function add_paypal_subscription_settings_from_hook( $args ) { * When entry_data_sync is set to 'new_fields', auto-create fields * for storing PayPal order data (email, name, address). * - * @since x.x + * @since 6.31 * * @param array $settings The action settings being saved. * @param array $action The full action data including menu_order (form_id). @@ -2600,7 +2600,7 @@ public static function before_save_settings( $settings, $action ) { * Create a field for PayPal order data if it does not already exist. * The field ID is stored in the action settings under the given key. * - * @since x.x + * @since 6.31 * * @param array $settings The action settings. * @param int $form_id The form ID. diff --git a/paypal/controllers/FrmPayPalLiteAppController.php b/paypal/controllers/FrmPayPalLiteAppController.php index 4a4252338d..f18c6fa8ff 100644 --- a/paypal/controllers/FrmPayPalLiteAppController.php +++ b/paypal/controllers/FrmPayPalLiteAppController.php @@ -66,7 +66,7 @@ public static function handle_disconnect() { * Get the current amount for a PayPal action via AJAX. * Used to update the Pay Later messaging when price fields change. * - * @since x.x + * @since 6.31 * * @return void */ @@ -94,7 +94,7 @@ public static function get_amount() { /** * Extract pricing data from posted form values. * - * @since x.x + * @since 6.31 * * @param int $form_id The form ID. * @@ -270,7 +270,7 @@ public static function create_order() { } /** - * @since x.x + * @since 6.31 * * @param WP_Post $action * @@ -321,7 +321,7 @@ private static function get_payer_data_from_posted_values( $action ) { /** * Build shipping data from the action's shipping field settings. * - * @since x.x + * @since 6.31 * * @param WP_Post $action * @@ -388,7 +388,7 @@ private static function get_shipping_data_from_posted_values( $action ) { /** * Format a Formidable address field value into a PayPal address array. * - * @since x.x + * @since 6.31 * * @param mixed $address The address field value. * @param int $address_field_id The field ID. @@ -427,7 +427,7 @@ private static function format_address_for_paypal( $address, $address_field_id ) } /** - * @since x.x + * @since 6.31 * * @param WP_Post $action * @@ -450,7 +450,7 @@ private static function get_shipping_preference( $action ) { } /** - * @since x.x + * @since 6.31 * * @param array $payer * @param array $address @@ -490,7 +490,7 @@ private static function maybe_add_address_data( &$payer, $address, $address_fiel } /** - * @since x.x + * @since 6.31 * * @return array */ @@ -515,7 +515,7 @@ private static function get_valid_payment_sources() { ); /** - * @since x.x + * @since 6.31 * * @param array $sources */ @@ -551,7 +551,7 @@ private static function get_amount_value_for_verification( $action ) { /** * Create an entry object with posted values. * - * @since x.x + * @since 6.31 * * @return stdClass */ @@ -708,7 +708,7 @@ public static function create_vault_setup_token() { * Logs the debug ID and error details, then returns a display message * that includes the debug ID only when the current user has permission. * - * @since x.x + * @since 6.31 * * @return void */ @@ -737,7 +737,7 @@ public static function report_error() { * * Stores up to 20 entries, newest first. * - * @since x.x + * @since 6.31 * * @param string $debug_id The PayPal debug ID. * @param string $error_message The associated error message. @@ -781,7 +781,7 @@ public static function log_paypal_debug_id( $debug_id, $error_message = '', $con /** * Process shortcodes in an action setting value using posted form data. * - * @since x.x + * @since 6.31 * * @param string $value The value that may contain shortcodes. * @param WP_Post $action The payment action. @@ -813,7 +813,7 @@ private static function process_shortcodes_for_action( $value, $action ) { /** * Check if PayPal is connected before attempting to create an order or subscription. * - * @since x.x + * @since 6.31 * * @return true|WP_Error True if connected, WP_Error with message if not connected. */ @@ -840,7 +840,7 @@ private static function check_paypal_connection() { * This method strips that token and appends a human-readable debug ID line * only for users who can edit forms. * - * @since x.x + * @since 6.31 * * @param array|string|null $error The error string from the PayPal API, possibly containing a debug ID token. * @param string $fallback The fallback message when no error is available. diff --git a/paypal/controllers/FrmPayPalLiteEventsController.php b/paypal/controllers/FrmPayPalLiteEventsController.php index 3dc442a341..87931eec73 100644 --- a/paypal/controllers/FrmPayPalLiteEventsController.php +++ b/paypal/controllers/FrmPayPalLiteEventsController.php @@ -18,7 +18,7 @@ class FrmPayPalLiteEventsController { /** * The data object from the event. * - * @since x.x + * @since 6.31 * * @var object|null */ @@ -27,7 +27,7 @@ class FrmPayPalLiteEventsController { /** * The mapped payment status for the current event. * - * @since x.x + * @since 6.31 * * @var string|null */ @@ -37,7 +37,7 @@ class FrmPayPalLiteEventsController { * Tell PayPal Connect API that the request came through by flushing early before processing. * Flushing early allows the API to end the request earlier. * - * @since x.x + * @since 6.31 * * @return void */ @@ -78,7 +78,7 @@ public function process_events() { } /** - * @since x.x + * @since 6.31 * * @param array $event_ids * @@ -106,7 +106,7 @@ private function process_event_ids( $event_ids ) { } /** - * @since x.x + * @since 6.31 * * @param string $event_id * @@ -133,7 +133,7 @@ private function last_attempt_to_process_event_is_too_recent( $event_id ) { } /** - * @since x.x + * @since 6.31 * * @param string $event_id * @@ -156,7 +156,7 @@ private function count_failed_event( $event_id ) { * Track an event to no longer process. * This is called for successful events, and also for failed events after a number of retries. * - * @since x.x + * @since 6.31 * * @param string $event_id * @@ -232,7 +232,7 @@ private function handle_event() { /** * Handle a payment capture or sale event by syncing the payment record. * - * @since x.x + * @since 6.31 * * @return void */ @@ -304,7 +304,7 @@ private function handle_payment_event() { * Try to create a new payment record from a subscription payment event. * This handles recurring payments after the first one. * - * @since x.x + * @since 6.31 * * @return false|object The new payment object or false if not a subscription payment. */ @@ -370,7 +370,7 @@ private function maybe_create_subscription_payment() { /** * Get the PayPal subscription ID from the resource object. * - * @since x.x + * @since 6.31 * * @return string */ @@ -389,7 +389,7 @@ private function get_subscription_id_from_resource() { /** * Get the payment amount from the resource object. * - * @since x.x + * @since 6.31 * * @return string */ @@ -408,7 +408,7 @@ private function get_amount_from_resource() { /** * Get the refunded amount from the resource object. * - * @since x.x + * @since 6.31 * * @return string */ @@ -427,7 +427,7 @@ private function get_refunded_amount() { /** * Check if a refund is partial by comparing the refunded amount to the original payment amount. * - * @since x.x + * @since 6.31 * * @return bool */ @@ -456,7 +456,7 @@ private function is_partial_refund() { /** * Set the partial refund amount on a payment. * - * @since x.x + * @since 6.31 * * @param array $payment_values The payment values to update. * @@ -477,7 +477,7 @@ private function set_partial_refund( &$payment_values ) { * 'up' link, looks up the pending payment, and updates its receipt_id to * the capture ID. * - * @since x.x + * @since 6.31 * * @param FrmTransLitePayment $frm_payment The payment model instance. * @param string $capture_id The capture ID from the webhook resource. @@ -509,7 +509,7 @@ private function maybe_resolve_pending_payment( $frm_payment, $capture_id ) { * For PAYMENT.CAPTURE.COMPLETED events, the 'up' link points to the * order: /v2/checkout/orders/{order_id}. * - * @since x.x + * @since 6.31 * * @return string The order ID, or empty string if not found. */ @@ -551,7 +551,7 @@ private function get_order_id_from_resource_links() { * the resource is the refund object, so we need to extract the original * capture or sale ID from the resource's sale_id property or HATEOAS links. * - * @since x.x + * @since 6.31 * * @return string The receipt ID of the original payment. */ @@ -604,7 +604,7 @@ private function get_receipt_id_for_event() { /** * Get a subscription record by its PayPal subscription ID. * - * @since x.x + * @since 6.31 * * @param string $sub_id The PayPal subscription ID. * @@ -624,7 +624,7 @@ private function get_subscription( $sub_id ) { /** * Update the next bill date for a subscription using the PayPal API. * - * @since x.x + * @since 6.31 * * @param object $sub The local subscription record. * @@ -655,7 +655,7 @@ private function update_next_bill_date( $sub ) { * Check if a subscription has reached its payment limit. * If it has, cancel the subscription. * - * @since x.x + * @since 6.31 * * @param object $sub The local subscription record. * @@ -691,7 +691,7 @@ private function maybe_cancel_subscription_at_limit( $sub ) { /** * Handle a subscription activated or re-activated event. * - * @since x.x + * @since 6.31 * * @return void */ @@ -725,7 +725,7 @@ private function handle_subscription_activated() { /** * Handle a subscription cancelled, expired, or suspended event. * - * @since x.x + * @since 6.31 * * @return void */ @@ -769,7 +769,7 @@ private function handle_subscription_canceled() { * Handle a subscription payment failed event. * Increments the fail count and cancels after too many failures. * - * @since x.x + * @since 6.31 * * @return void */ @@ -808,7 +808,7 @@ private function handle_subscription_payment_failed() { * Handle a subscription updated event. * Syncs subscription data like amount and next bill date. * - * @since x.x + * @since 6.31 * * @return void */ diff --git a/paypal/controllers/FrmPayPalLiteFieldsController.php b/paypal/controllers/FrmPayPalLiteFieldsController.php index bc6bcacf61..222168a54d 100644 --- a/paypal/controllers/FrmPayPalLiteFieldsController.php +++ b/paypal/controllers/FrmPayPalLiteFieldsController.php @@ -8,7 +8,7 @@ class FrmPayPalLiteFieldsController { /** * Hide the email, name, and address fields if they are marked as PayPal order fields. * - * @since x.x + * @since 6.31 * * @param bool $show_normal_field_type Whether to show the field. * @param string $type The field type. diff --git a/paypal/controllers/FrmPayPalLiteSettingsController.php b/paypal/controllers/FrmPayPalLiteSettingsController.php index e70279079f..16e5501e15 100644 --- a/paypal/controllers/FrmPayPalLiteSettingsController.php +++ b/paypal/controllers/FrmPayPalLiteSettingsController.php @@ -8,7 +8,7 @@ class FrmPayPalLiteSettingsController { /** * Add PayPal section to Global Settings. * - * @since x.x + * @since 6.31 * * @param array $sections * diff --git a/paypal/helpers/FrmPayPalLiteConnectHelper.php b/paypal/helpers/FrmPayPalLiteConnectHelper.php index 9c656114e5..3832202041 100644 --- a/paypal/helpers/FrmPayPalLiteConnectHelper.php +++ b/paypal/helpers/FrmPayPalLiteConnectHelper.php @@ -9,7 +9,7 @@ class FrmPayPalLiteConnectHelper { /** * Track the latest error when calling the PayPal API. * - * @since x.x + * @since 6.31 * * @var string|null */ @@ -18,7 +18,7 @@ class FrmPayPalLiteConnectHelper { /** * Track the latest debug ID from PayPal API responses. * - * @since x.x + * @since 6.31 * * @var string */ @@ -56,7 +56,7 @@ public static function handle_render_seller_status() { } /** - * @since x.x + * @since 6.31 * * @return bool */ @@ -186,7 +186,7 @@ public static function render_seller_status() { } /** - * @since x.x + * @since 6.31 * * @param bool|object $product * @@ -211,7 +211,7 @@ private static function render_acdc_vetting_status( $product ) { } /** - * @since x.x + * @since 6.31 * * @param string $vetting_status * @@ -240,7 +240,7 @@ private static function get_acdc_vetting_status_message( $vetting_status ) { } /** - * @since x.x + * @since 6.31 * * @param string $mode * @@ -253,7 +253,7 @@ public static function render_seller_status_placeholder( $mode ) { /** * Get the PayPal account settings URL for the given mode. * - * @since x.x + * @since 6.31 * * @param string $mode 'test' or 'live'. * @@ -967,7 +967,7 @@ public static function reset_paypal_api_integration() { } /** - * @since x.x + * @since 6.31 * * @return bool */ @@ -1030,7 +1030,7 @@ public static function create_order( $amount, $currency, $payment_source, $payer } /** - * @since x.x + * @since 6.31 * * @return string */ @@ -1040,7 +1040,7 @@ private static function get_brand_name() { /** * Allow people to modify the brand name used in the PayPal order. * - * @since x.x + * @since 6.31 * * @param string $brand_name * @@ -1052,7 +1052,7 @@ private static function get_brand_name() { return $filtered_brand_name; } - _doing_it_wrong( 'FrmPayPalLiteConnectHelper::get_brand_name', 'The frm_paypal_brand_name filter must return a string.', 'x.x' ); + _doing_it_wrong( 'FrmPayPalLiteConnectHelper::get_brand_name', 'The frm_paypal_brand_name filter must return a string.', '6.31' ); return $brand_name; } @@ -1095,7 +1095,7 @@ public static function create_subscription( $data ) { } /** - * @since x.x + * @since 6.31 * * @param array $data Setup token data including payment_source. * @@ -1124,7 +1124,7 @@ public static function get_seller_status() { } /** - * @since x.x + * @since 6.31 * * @param string $capture_id * @@ -1135,7 +1135,7 @@ public static function get_capture( $capture_id ) { } /** - * @since x.x + * @since 6.31 * * @param string $order_id * @@ -1146,7 +1146,7 @@ public static function get_order( $order_id ) { } /** - * @since x.x + * @since 6.31 * * @param string $subscription_id The PayPal subscription ID. * @@ -1157,7 +1157,7 @@ public static function get_subscription( $subscription_id ) { } /** - * @since x.x + * @since 6.31 * * @return string */ diff --git a/paypal/views/settings/button-settings.php b/paypal/views/settings/button-settings.php index bb9de8be4e..257cd24764 100644 --- a/paypal/views/settings/button-settings.php +++ b/paypal/views/settings/button-settings.php @@ -4,7 +4,7 @@ * * @package Formidable * - * @since x.x + * @since 6.31 * * @var array $settings PayPal button settings array * @var array $args Additional arguments for the view diff --git a/resources/scss/admin/backwards-compatibility/pages/_form-settings.scss b/resources/scss/admin/backwards-compatibility/pages/_form-settings.scss index 531025137b..8e0ca21c8e 100644 --- a/resources/scss/admin/backwards-compatibility/pages/_form-settings.scss +++ b/resources/scss/admin/backwards-compatibility/pages/_form-settings.scss @@ -1,5 +1,5 @@ -// Start @since x.x +// Start @since 6.31 .frm_email_row span.frm_add_logic_link ~ .frm-h-stack-xs.frm-bt-200.frm-py-md { margin-top: var(--gap-md); } -// End @since x.x +// End @since 6.31 diff --git a/resources/scss/admin/components/button/_button.scss b/resources/scss/admin/components/button/_button.scss index b4912dfaba..8c2d2824d5 100644 --- a/resources/scss/admin/components/button/_button.scss +++ b/resources/scss/admin/components/button/_button.scss @@ -32,7 +32,7 @@ .frm-button-secondary, .wp-core-ui .button-secondary.frm-button-secondary, .wp-core-ui .button.frm-button-secondary, -.frm_single_paypal_settings .frm_add_pp_logic.button, /* Backward compat for legacy PayPal add-on markup, @since x.x */ +.frm_single_paypal_settings .frm_add_pp_logic.button, /* Backward compat for legacy PayPal add-on markup, @since 6.31 */ .frm-white-body .frm-search .button, .frm-white-body .search-box .button, /* Views */ .frm-white-body .tablenav .button, @@ -232,7 +232,7 @@ .wp-core-ui .button.frm-button-secondary, .frm-white-body .frm-button-secondary, .frm-button-secondary, -.frm_single_paypal_settings .frm_add_pp_logic.button /* Backward compat for legacy PayPal add-on markup, @since x.x */ { +.frm_single_paypal_settings .frm_add_pp_logic.button /* Backward compat for legacy PayPal add-on markup, @since 6.31 */ { color: var(--grey-800); border-color: var(--grey-300); background-color: #fff; @@ -258,7 +258,7 @@ .wp-core-ui.frm-white-body .tablenav .button:hover, .frm_wrap .preview > .button:hover, .frm-white-body #search-submit:hover, -.frm_single_paypal_settings .frm_add_pp_logic.button:hover, /* Backward compat for legacy PayPal add-on markup, @since x.x */ +.frm_single_paypal_settings .frm_add_pp_logic.button:hover, /* Backward compat for legacy PayPal add-on markup, @since 6.31 */ .frm_single_paypal_settings .frm_add_pp_logic.button:focus, .frm_single_paypal_settings .frm_add_pp_logic.button:active { border-color: var(--grey-300) !important; diff --git a/stripe/controllers/FrmTransLiteHooksController.php b/stripe/controllers/FrmTransLiteHooksController.php index a562b27768..0179762348 100755 --- a/stripe/controllers/FrmTransLiteHooksController.php +++ b/stripe/controllers/FrmTransLiteHooksController.php @@ -89,7 +89,7 @@ function () { } /** - * @since x.x + * @since 6.31 * * @return bool */ @@ -100,7 +100,7 @@ private static function on_form_settings_page() { /** * Hide the Collect Payment action if there are no additional gateways enabled (like Authorize.Net). * - * @since x.x + * @since 6.31 * * @return void */ diff --git a/stripe/controllers/FrmTransLitePaymentsController.php b/stripe/controllers/FrmTransLitePaymentsController.php index 7a87711f06..1e1794910c 100755 --- a/stripe/controllers/FrmTransLitePaymentsController.php +++ b/stripe/controllers/FrmTransLitePaymentsController.php @@ -291,7 +291,7 @@ public static function refund_payment() { * and human-friendly description strings from the PayPal API. * Strips the {{debug_id:...}} token if present. * - * @since x.x + * @since 6.31 * * @return string */ @@ -347,7 +347,7 @@ public static function change_payment_status( $payment, $status ) { } /** - * @since x.x + * @since 6.31 * * @param array|string $expected_gateways * @param array|string $selected_gateways diff --git a/stripe/views/action-settings/payments-options.php b/stripe/views/action-settings/payments-options.php index 0a0831ec05..2bfad8f920 100755 --- a/stripe/views/action-settings/payments-options.php +++ b/stripe/views/action-settings/payments-options.php @@ -36,7 +36,7 @@ * Show warning if amount is empty. * Only show for existing actions (has ID), not new actions. * - * @since x.x + * @since 6.31 */ if ( ! empty( $form_action->ID ) && empty( $form_action->post_content['amount'] ) ) : ?> @@ -135,7 +135,7 @@ * Only show for existing actions (has ID), not new actions. * Only show when payment type is recurring. * - * @since x.x + * @since 6.31 */ if ( ! empty( $form_action->ID ) && 'recurring' === $form_action->post_content['type'] && in_array( 'paypal', (array) $form_action->post_content['gateway'], true ) && empty( $form_action->post_content['product_name'] ) ) : ?> @@ -147,7 +147,7 @@ Date: Wed, 27 May 2026 09:48:10 -0300 Subject: [PATCH 3/8] Update change logs --- changelog.txt | 7 +++++++ readme.txt | 28 +++++++++------------------- 2 files changed, 16 insertions(+), 19 deletions(-) diff --git a/changelog.txt b/changelog.txt index 592235fb26..68519545f5 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,11 @@ == Changelog == += 6.31 = +* New: Formidable now supports PayPal Commerce. This is built into the Lite plugin. To get started, go to Global Settings > Payments > PayPal to connect your business account. +* New: Form action settings have been redesigned. +* New: Border styling rules have been added so autofill fields in Chrome and Safari will appear more consistent with other fields. +* New: A new frm_after_import_forms action has been added for handling an imported XML after all forms have been imported. +* Fix: A form would incorrectly try to submit a second time when redirecting and submitting with AJAX. + = 6.30 = * New: Product, Quantity, and Total fields are now available in Lite! These are all included in the Pricing Fields section, now located above the Advanced Fields section. * New: Global custom CSS is now scoped to only style form previews on admin pages to prevent custom CSS from changing the appearance of other elements on the page. diff --git a/readme.txt b/readme.txt index e9cd360aee..2661fa569a 100644 --- a/readme.txt +++ b/readme.txt @@ -3,9 +3,9 @@ Plugin Name: Formidable Forms - Contact Form, Survey & Quiz Form Builder for Wor Contributors: formidableforms, sswells, srwells Tags: forms, form builder, survey, payment form, custom form, contact form, form maker, form creator, paypal, stripe, stripe form, quote form, contact button, form manager, free, survey form, email subscription, donation form, user registration form, wordpress registration, feedback form, contact form plugin, wordpress form plugin, lead form, registration form, contact form builder Requires at least: 6.3 -Tested up to: 6.9 +Tested up to: 7.0 Requires PHP: 7.0 -Stable tag: 6.30 +Stable tag: 6.31 The most advanced WordPress forms plugin. Go beyond contact forms with our drag and drop form builder for surveys, quizzes, and more. @@ -372,6 +372,13 @@ Using our Zapier integration, you can easily connect your website with over 5,00 See all [Formidable Zapier Integrations](https://zapier.com/apps/formidable/integrations). == Changelog == += 6.31 = +* New: Formidable now supports PayPal Commerce. This is built into the Lite plugin. To get started, go to Global Settings > Payments > PayPal to connect your business account. +* New: Form action settings have been redesigned. +* New: Border styling rules have been added so autofill fields in Chrome and Safari will appear more consistent with other fields. +* New: A new frm_after_import_forms action has been added for handling an imported XML after all forms have been imported. +* Fix: A form would incorrectly try to submit a second time when redirecting and submitting with AJAX. + = 6.30 = * New: Product, Quantity, and Total fields are now available in Lite! These are all included in the Pricing Fields section, now located above the Advanced Fields section. * New: Global custom CSS is now scoped to only style form previews on admin pages to prevent custom CSS from changing the appearance of other elements on the page. @@ -396,23 +403,6 @@ See all [Formidable Zapier Integrations](https://zapier.com/apps/formidable/inte * New: Required changes to support the new option limits settings in Pro and the new redesigned fields in Views settings. * Performance: The cached license data has been reduced significantly, omitting change log data and data for invalid plugins. The size of the auto-loaded option should be about 40% of its previous size. -= 6.27 = -* New: Displaying payments is now handled by this plugin, instead of falling back to Stripe, Authorize.Net, and PayPal. In cases where these add-ons were active, the payments table should now appear more modern. -* New: A new coupons tab is available on the payments page. -* New: Required updates to support a new View-Specific CSS setting in the Visual Views add-on. -* New: The submit button will now be enabled when a Square postal code is successfully completed. This fixes issues where the submit button would never get enabled when a Square card field was auto-filled. -* New: Many references to old font icons have been removed, removing about 10KB of data from admin CSS. -* New: Several styles have been optimized in the generated formidableforms.css file when Pro is not active, helping to reduce file size by removing references to features that only exist in Pro. -* Fix: Global custom CSS would incorrectly get added to the formidableforms.css more than once on some sites with multiple styles. -* Fix: The style-specific custom CSS setting would incorrectly get output in the formidableforms.css file as CSS variable data. -* Fix: The htaccess file included in this plugin is now automatically deleted when migrating to a new plugin version if a request to load CSS is blocked, fixing a conflict on some servers that are not configured to allow overwriting file permissions. -* Fix: A PHP warning would get logged when checking data for a ranking field as spam. -* Fix: Add-on category counts were not always correct. -* Breaking: Many modern PHP functions are now being used including str_contains, str_starts_with, str_ends_with, array_key_last, and array_key_first. If you are using both a WordPress version older than 5.9, and a PHP version lower than 8.0, this will introduce fatal errors. Note that the minimum required WordPress version is already set to 6.3. -* Breaking: The deprecated functions FrmFieldCaptcha::captcha_size, FrmFormsHelper::should_use_pro_for_ajax_submit, FrmFormsController::add_form_style_tab_options, and FrmFieldType::get_select_atributes have been removed. -* Breaking: The deprecated FrmFormsHelper::actions_dropdown function and actions-dropdown.php view file have been removed. -* An unused FrmTransLiteSubscriptionsController::list_subscriptions_shortcode function and its related view file have been deprecated. - [See changelog for all versions](https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt) == Upgrade Notice == From e6c22b41e05d5f85596fdb9163b514add6d9d63f Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 27 May 2026 09:49:25 -0300 Subject: [PATCH 4/8] Update blacklist --- denylist/splorp-wp-comment.txt | 333 ++++++++++++++++++++++++++++++--- 1 file changed, 310 insertions(+), 23 deletions(-) diff --git a/denylist/splorp-wp-comment.txt b/denylist/splorp-wp-comment.txt index b0ca0e99f9..8a3c83074f 100644 --- a/denylist/splorp-wp-comment.txt +++ b/denylist/splorp-wp-comment.txt @@ -1583,6 +1583,8 @@ _москве -vecaro/ -vendita- -volga.ru/ +-vtcontiones- +-vtcontiones/ -vuitton- -vulpyx- -vulpyx. @@ -2488,6 +2490,7 @@ _москве .myblog.de/ .mybuzzblog. .mybuzzblogs. +.nesebar. .net, .net/, .net/% @@ -2671,6 +2674,7 @@ _москве .r.e.d .rar. .rdr. +.readyscores. .rediff. .redir- .redir. @@ -3113,6 +3117,8 @@ _москве @fringmail. @gmai. @goohle. +@hello-word +@hello-world @local. @m4il @ma1l @@ -4907,7 +4913,6 @@ _москве /mypage. /mypage/ /myspace/ -/n. /nblo.gs/ /nesebar. /newbalance- @@ -5280,6 +5285,7 @@ _москве /rdr= /readme. /readnews. +/readyscores. /reauexit? /reauexit.ashx? /reauexit.asp? @@ -5808,6 +5814,9 @@ _москве /vk.com/ /vk.io/ /voltaren +/vtcontiones- +/vtcontiones. +/vtcontiones/ /vuitton- /vuitton. /vuittonpascher- @@ -6209,6 +6218,7 @@ _москве ¤¤ $ each month $ porn +$ withdrawal $00 $10 $20 @@ -6359,6 +6369,7 @@ $sixty 1@1 1@2 1@3 +1@ret. 1@seo 1ackn 1arge @@ -6851,6 +6862,9 @@ $sixty 18-xbox 18webcam 18xbox +18yo beauty +18yo-beauty +18yo.beauty 20% 20$ 20mg buy @@ -8550,6 +8564,8 @@ aktuellpress aktuelnachricht aktuelnews aktuelpress +aktywuj spin +aktywuj-spin akun goog akupunktur aladdin online @@ -9538,6 +9554,8 @@ article complet article content article dude article est unne +article explains hidden +article feel pro article fully about article gives pleasant article he/she @@ -9575,6 +9593,7 @@ article to rank article to your life article totally article use expert +article with clear article writing article you write article-agam @@ -9623,6 +9642,8 @@ articles blog articles buzz articles content articles dude +articles feel pro +articles feels pro articles on your blog articles on your page articles on your web @@ -9797,6 +9818,7 @@ aside from enormous asikkusu ask-me-about ask/?qa= +asked by anonymous askjeeve askmeabout aso expei @@ -10124,6 +10146,7 @@ autobrand autoclinics.co. autocom autoglassnear +automatach automated crypto automated-crypto automatenspiele @@ -10470,7 +10493,8 @@ background-check-free background-checker-free backgroundcheckerfree backgroundcheckfree -backlink +backlink workshop +backlink-workshop backyard impress backyard-impress baclofen @@ -10934,6 +10958,9 @@ bayan-izmir bayanescort bayaneskort bayanizmir +bayar bayar +bayar-bayar +bayarbayar baykal extreme baykal otdykh baykal ozero @@ -11545,9 +11572,11 @@ bestdisc bestdrug beste game beste gaming +beste uhren beste wettseiten beste-game beste-gaming +beste-uhren beste-wettseiten bestellen game bestellen gaming @@ -11683,6 +11712,7 @@ bettilt world bettilt-world bettiltworld betting article +betting ecosystem betting exchang betting journ betting news @@ -11698,6 +11728,7 @@ betting strat betting web betting winner betting-article +betting-ecosystem betting-exchang betting-journ betting-news @@ -12200,6 +12231,7 @@ blog diet blog dude blog echt blog eduka +blog explains hidden blog fairly blog felicit blog félicit @@ -12290,6 +12322,8 @@ blog web blog which content blog wiki blog will make +blog with article +blog with clear blog wordpress blog world blog writer @@ -12765,6 +12799,7 @@ bonus kasino bonus kodu bonus money bonus powital +bonus salon bonus selamat bonus setiap bonus site @@ -12780,6 +12815,7 @@ bonus-kasino bonus-kodu bonus-money bonus-powital +bonus-salon bonus-selamat bonus-setia bonus-site @@ -15110,7 +15146,7 @@ caserole plastic caserole-plastic caseroleplastic casesolu -cash advanc +cash adv cash app hack cash app money cash back app @@ -15135,7 +15171,7 @@ cash porn cash progress cash roll cash team -cash-advanc +cash-adv cash-back-app cash-buzz cash-call @@ -15160,7 +15196,7 @@ cash.com. cash.xyz cash| cash4 -cashadvanc +cashadv cashback app cashback-app cashbackapp @@ -15196,6 +15232,8 @@ casier-judiciaire casino 24 casino account casino affida +casino agree +casino agréé casino app casino bet casino bonus @@ -15208,11 +15246,13 @@ casino download casino en ligne casino enligne casino es online +casino exper casino fish casino franc casino game casino gaming casino gold +casino gratuit casino hack casino hotel casino ios @@ -15233,6 +15273,7 @@ casino phish casino pin up casino pinup casino platform +casino rating casino resort casino review casino score @@ -15256,6 +15297,7 @@ casino-1 casino-24 casino-account casino-affida +casino-agree casino-app casino-bet casino-bonus @@ -15268,11 +15310,13 @@ casino-download casino-en-ligne casino-enligne casino-es-online +casino-exper casino-fish casino-franc casino-game casino-gaming casino-gold +casino-gratuit casino-hack casino-hotel casino-ios @@ -15294,6 +15338,7 @@ casino-phish casino-pin-up casino-pinup casino-platform +casino-rating casino-resort casino-review casino-score @@ -15424,16 +15469,24 @@ cavinklein cawsino cazino 24 cazino affida +cazino agree cazino app cazino depot +cazino exper +cazino gratuit +cazino rating cazino resort cazino sont cazino vip cazino vodka cazino-24 cazino-affida +cazino-agree cazino-app cazino-depot +cazino-exper +cazino-gratuit +cazino-rating cazino-resort cazino-sont cazino-vip @@ -15511,6 +15564,9 @@ cecha talentu cechą talentu cees recomm ceicag.org +cekici hizmeti +çekici hizmeti +cekici-hizmeti celana si gadis celeb diet celeb hair @@ -16731,6 +16787,7 @@ choo-sale chooboot choolesterol choose calorie +choose reliable health choose your blog choose-calorie choose-the-ideal @@ -17832,6 +17889,7 @@ companies/moving-compan company coach company formation company ppc +company providing adv company-coach company-formation company-ppc @@ -18030,8 +18088,10 @@ considerations to quest considerations-prior-to considerations-speculat considerations-to-quest -considering what you compose +considering innovation considering-innovation +consistent useful resource +consistently useful resource consolidation loan consolidation-loan constantly this blog @@ -18505,6 +18565,7 @@ covid19self covidself cowboy game cowboy-game +cowgallstone cozy on perhaps cozy resting cozy ugg @@ -19738,11 +19799,10 @@ darkwebsite darmowe ogloszenia darmowe ogłoszenia darmowe prog +darmowe spin darmowe-ogloszenia -darmowe-ogłoszenia darmowe-prog -darmoweogloszenia -darmoweogłoszenia +darmowe-spin darmoweprog darmowy darrellbox @@ -20089,6 +20149,7 @@ delightfully-sudden deliuveries deliuvery deliver effic +deliver end-to-end deliver flexi deliver innovat deliver noticeable result @@ -20097,6 +20158,7 @@ deliver premier deliver relia deliver result deliver-effic +deliver-end-to-end deliver-flexi deliver-innovat deliver-noticeable-result @@ -20110,6 +20172,7 @@ delivering innovat delivering-innovat deliverresult delivers effic +delivers end-to-end delivers flexi delivers innovat delivers premier @@ -20117,6 +20180,7 @@ delivers qualit delivers relia delivers result delivers-effic +delivers-end-to-end delivers-flexi delivers-innovat delivers-premier @@ -20676,9 +20740,12 @@ diffrent diflucan dig the reward diggs.us +digi mktg digi person +digi-mktg digi-person digicam move +digimktg digital agentstva digital dengan digital excess @@ -20942,9 +21009,9 @@ dissertation-writing distinct about distinct web distinct-about -distinctive advanc +distinctive adv distinctive gift idea -distinctive-advanc +distinctive-adv distinctive-gift-idea disulfiram dit me toc @@ -21054,10 +21121,15 @@ docteur-dre docteur-marten docteurdre docteurmarten +doctor health-news doctor verif doctor visit online +doctor written +doctor-health-news doctor-verif doctor-visit-online +doctor-written +doctorhealthnews document/bv document/celine document/chanel @@ -21370,6 +21442,9 @@ drainage-massage drama korea drama-korea drawback: +drawn in this blog +drawn in this piece +drawn in this writing drayvera dre beat dre cheap @@ -22354,6 +22429,8 @@ encounter a page encounter a post encounter a site encounter a web +end-to-end service +end-to-end-service endlaved endocrinol meta endocrinol-meta @@ -25991,6 +26068,7 @@ full length motion full length movie full length-motion full movie +full of educational content full onchain full porn full-crack @@ -26037,6 +26115,7 @@ fund-scheme fund-trend fundamsntal fundmarket +funds to your name funeral error funeral_error funeral-error @@ -26263,6 +26342,7 @@ game gold game habansro game ionline game jers +game malay game online game pertama game prowess @@ -26280,6 +26360,7 @@ game-gold game-habansro game-ionline game-jers +game-malay game-money game-online game-pertama @@ -26352,6 +26433,7 @@ gaming game gaming indo gaming maus gaming mäus +gaming offer gaming prowess gaming torrent gaming with exbet @@ -26361,6 +26443,7 @@ gaming-daftar gaming-game gaming-indo gaming-maus +gaming-offer gaming-prowess gaming-torrent gaming-working @@ -26859,7 +26942,9 @@ giao-nhanh gic manag gic-manag gier hazardowy +gier na automat gier-hazardowy +gier-na-automat giet nguoi giết người giet-nguoi @@ -27314,7 +27399,13 @@ goldbarren goldcoin goldearring golden attire +golden casino +golden cazino +golden kasino golden-attire +golden-casino +golden-cazino +golden-kasino golden-slot goldendoll goldenslot @@ -27351,6 +27442,8 @@ golfplaza golfpromo golfs golfstream +golodanie pos +golodanie-pos gomaile.co/ gomaile.com/ gomi-bet @@ -27523,6 +27616,7 @@ google hack google have a google high google hizmet +google in rank google java google keyword google look for @@ -27549,6 +27643,7 @@ google-goo google-hack google-high google-hizmet +google-in-rank google-java google-keyword google-mapa @@ -27813,6 +27908,7 @@ grab-people-interest grabfree grabs viewer grabs views +grać w automat graceful appreciation gracias por compartir graduand @@ -27855,6 +27951,7 @@ granny porn granny-porn grannyporn granrateio +graph.org/transaction- graphics replacement near graphics-replacement-near grasp grammar @@ -27880,9 +27977,11 @@ gratiscoin gratisonline gratissex gratuit annonce +gratuit avec bonus gratuit paris gratuit roulette gratuit-annonce +gratuit-avec-bonus gratuit-paris gratuit-roulette gratuita para el cliente @@ -27981,6 +28080,8 @@ great blog, you great blog! great blogroll great breakdown! +great casino +great cazino great delivery, exact great delivery, great great delivery. exact @@ -27992,6 +28093,7 @@ great funding view great good great homepage great job! what +great kasino great keep great online great operates @@ -28046,10 +28148,13 @@ great website, stick great website, you great written great-blog +great-casino +great-cazino great-educational-post great-essay great-good great-homepage +great-kasino great-keep great-online great-operates @@ -28965,6 +29070,7 @@ healing-coach healing-post healingindu health advis +health clarity health coach health credent health how @@ -28974,6 +29080,7 @@ health stock health store health suppl health-advis +health-clarity health-coach health-credent health-how @@ -29607,6 +29714,12 @@ hitmp4 hizli casino hizli-casino hizlicasino +hizmeti cekici +hizmeti çekici +hizmeti yardim +hizmeti yardım +hizmeti-cekici +hizmeti-yardim hizmetleri sorunsuz hizmetleri-sorunsuz hızlı casino @@ -30661,6 +30774,7 @@ immediately message immediatey immense worth immense-worth +immenseignite immerse yourself immerse-yourself immigrationcourt @@ -31093,6 +31207,7 @@ influenza pic info , info ! info . +info >> info about the issue info about the subject info about the topic @@ -31128,7 +31243,7 @@ info?i info/addi info/alcohol info/ratno -info>>> +info>> info0.site info0site info1.site @@ -31241,6 +31356,7 @@ infusionsoft ing ffor ing forwad ing puter +ing real money ing-forwad ing-on-bluesky ing-on-facebook @@ -31250,6 +31366,7 @@ ing-on-tiktok ing-on-twitter ing-on-youtube ing-puter +ing-real-money ing,grass ing.grass ing've @@ -32531,6 +32648,12 @@ jettonslots jeugd puistje jeugd-puistje jeugdpuistje +jeux casino +jeux cazino +jeux kasino +jeux-casino +jeux-cazino +jeux-kasino jewelery jeweline. jewellery.bl @@ -33038,16 +33161,24 @@ kashpo kasino kasino 24 kasino affida +kasino agree kasino app kasino bonus kasino depot +kasino exper +kasino gratuit +kasino rating kasino vip kasino vodka kasino-24 kasino-affida +kasino-agree kasino-app kasino-bonus kasino-depot +kasino-exper +kasino-gratuit +kasino-rating kasino-vip kasino-vodka kasino24 @@ -33670,6 +33801,8 @@ kostenlose-gener kostenlose-sex kosze koworking +kowy bonus +kowy-bonus kpkfprbrq kra сайт kra-market @@ -34174,6 +34307,8 @@ leak repair near leak-repair-near leaked archive leaked-archive +leap-wallet +leapwallet learn about keto learn about potential learn about this blog @@ -34855,6 +34990,8 @@ live bang live betting live casino live crazy time +live dealer game +live draw sdy live gore live hack live naked @@ -34868,6 +35005,7 @@ live-article live-bang live-betting live-casino +live-dealer-game live-gore live-hack live-jasmin @@ -35359,6 +35497,7 @@ lotterypro lottie maxi lottie-maxi lottiemaxi +lotto aplika lotto expert lotto kerala lotto play @@ -35369,6 +35508,7 @@ lotto strat lotto tip lotto vip lotto_ +lotto-aplika lotto-expert lotto-kerala lotto-play @@ -35657,6 +35797,9 @@ luxottica ray luxottica-ray luxotticaray luxreplic +luxuriosen replica +luxuriösen replica +luxuriosen-replica luxurious and reliable luxurious gem luxurious gia @@ -37047,6 +37190,7 @@ medical dentists near medical historic medical marijuana medical online +medical website medical-bestseller medical-cannabis medical-credent @@ -37055,6 +37199,7 @@ medical-dentists-near medical-historic medical-marijuana medical-online +medical-website medicament info medicament-info medicarefraud @@ -37132,6 +37277,7 @@ mega site mega spb mega teta mega tetona +mega вывод mega-culo mega-de-rateio mega-link @@ -38295,6 +38441,7 @@ moonrock weed moonrock-weed moore about moore-about +more >> more blog more clash of more component base @@ -38322,7 +38469,7 @@ more-effective! more-eventually more-lv more-smartly -more>>> +more>> morelv moreover seldom moreover, buy @@ -38807,6 +38954,7 @@ my bookmark site my bookmarks my bpog my btc +my car felt wrong my crypto my custom golf my euro ticket @@ -38980,6 +39128,7 @@ myanmartour mybetor mybitcoin mybookmark +mybudcatalog mybusiness mycin online mycin-online @@ -39543,6 +39692,7 @@ nexium.to/ nexium2u nexium4u nexopia +next >> next articles next post thank next post, i @@ -39550,6 +39700,7 @@ next the skill next write ups next yr next-articles +next>> nextspin skill nextspin-skill nfc.lol @@ -40038,6 +40189,7 @@ now now now-credit-card now-interstitial now-now +now>> nowadays blog nowe zdjecia nowe zdjęcia @@ -40395,6 +40547,8 @@ ocrvpart oculosfeminino oczyszczalnia przydomow oczyszczalnia-przydomow +odbierz bonus +odbierz-bonus odchudzanie oddluzania oddłużania @@ -40662,7 +40816,7 @@ olur oturum olur-oturum omalizumab omg blog -omg площадка +omg площадк omg-blog omgblog omgomgomg @@ -40908,6 +41062,7 @@ online vietnam online weblog online webpage online website +online z licenc online παραφαρμακειο online_flower online-24 @@ -41724,12 +41879,14 @@ packs-fanny packscursi packscurso pactswap.org +padang.xyz padişahbet page :: page 1 of goog page an edge page are equip page crypto +page explains hidden page fully about page give pleasant page gives pleasant @@ -42365,10 +42522,10 @@ pay-for-a-good pay-table payable in gold payday | -payday advanc +payday adv payday cash payday loan -payday-advanc +payday-adv payday-cash payday-loan payday-on @@ -43315,7 +43472,10 @@ platform-permainan platformda sunar platformda-sunar platinum and platinum +platinum slots +platinum-slots platinum, and platinum +platinumslots plavix play 88 play betting @@ -43357,6 +43517,7 @@ playamo-online playcargame playcursi playcurso +playdash playedd player is in interface player radio alarm @@ -43495,6 +43656,8 @@ pmupoker pnc speed pnc-speed pncspeed +pobierz teraz +pobierz-teraz pochemuchka poco prezzo poco-prezzo @@ -44231,6 +44394,7 @@ post right here post to obtain post truly post upper +post with clear post writing post you write post-como-este @@ -45214,7 +45378,9 @@ promotionbag promotionshop promotionstore promozioni +prompt ideas here prompt mpg +prompt-ideas-here prompt-mpg promyshlennyye_ proofing solar panel @@ -45844,6 +46010,12 @@ rafiq-rental rage porn rage-porn rageporn +ragnarok online +ragnarok private +ragnarok skill +ragnarok-online +ragnarok-private +ragnarok-skill rahalat maroc rahalat-maroc raiders hat @@ -45859,12 +46031,17 @@ rambler.ru/ rambler.ua/ ramipril ramirezhda +rank check rank increas +rank math rank your business rank-build +rank-check rank-increas +rank-math rank-your-business rankbuild +rankcheck ranked vpn serv ranked-vpn rankedvpn @@ -45873,6 +46050,7 @@ ranking check ranking-check ranking: rankingcheck +rankmath ranode rapid video game rapid-pay @@ -45892,6 +46070,8 @@ rastreadores rasul-rasul rasulrasul rate a engag +rate my ragnarok +rate-my-ragnarok rated dentist near rated dentists near rated-dentist-near @@ -45938,6 +46118,7 @@ rateiosdecurso rateiosdepremium rateiosdown rateiospremium +ratemyragnarok rater-24 rater24 ratespro @@ -46146,6 +46327,7 @@ real lesbian real marvellous info real marvelous info real master +real money mode real video chat real-casino real-estate-web @@ -46153,6 +46335,7 @@ real-estate.web real-lesbian real-master real-money +real-money-mode real-night-club real-nightclub real-sex @@ -46268,9 +46451,12 @@ recaptcha-bypass reccomend this reccomend-this reccommend +receive >> +receive a funds receive carried receive comms receive-carried +receive>> recent seo recent-seo recentseo @@ -46569,6 +46755,7 @@ release-from-movie release-iphone relevante og praktisk reliable blog +reliable health reading reliable plumbing serv reliable weblog reliable webpage @@ -46672,6 +46859,7 @@ remodel-contractors-near remodel-product remodel-service-near remodel-services-near +remodelacion de casa remodeling contractor near remodeling contractors near remodeling service @@ -46886,6 +47074,7 @@ replica sneaker replica stella replica top replica ugg +replica uhren replica watch replica-bag replica-brand @@ -46922,6 +47111,7 @@ replica-stella replica-store replica-top replica-ugg +replica-uhren replica-world replica0 replica1 @@ -48256,7 +48446,9 @@ salomoncanada salomonfr salomonrun salomonspeedcross +salon gier salon style hair +salon-gier salon-style hair salon-style-hair saluran web @@ -48897,6 +49089,7 @@ selllancel sellnow selot terleng selot-terleng +semaglutid sembol clan sembol-clan semi truck repair @@ -49892,8 +50085,11 @@ shift dress shift-dress shiftdress shine of your costume +ship supplys +ship-supplys shipping winning shipping-winning +shipsupplys shirt cease shirt cheap shirt custom @@ -50364,6 +50560,8 @@ signoutwidget signozodiac signs begin to occur signs is treatable +signup offer avail +signup offers avail signzodiac sihe seite sihe site @@ -50466,6 +50664,8 @@ simulator free simulator-free simultanious sin cobrarle el +sin receta +sin-receta sincere examine sincere understand sincere-understand @@ -50514,6 +50714,7 @@ site derateio site echt site expert near site experts near +site explains hidden site give pleasant site gives pleasant site goog @@ -50562,6 +50763,7 @@ site uffic site vip site visitor site web site +site with article site wordpress site-- site-amor @@ -50608,6 +50810,7 @@ site-web site-wordpress site, stick with site:- +site:. site:) site? my web site.vip @@ -50885,6 +51088,7 @@ slot-lapak slot-machine slot-on-line slot-online +slot-platinum slot-plinko slot-pulsa slot-qq @@ -50910,6 +51114,7 @@ slotmachine slotmaschinen slotonline slotpg +slotplatinum slotplinko slotpulsa slotqq @@ -50922,9 +51127,11 @@ slots-blackjack slots-machine slots-on-the-internet slots-online +slots-platinum slots-rtp slots, blackjack slotsmachine +slotsplatinum slotsrtp slottoto slug.ru/ @@ -51619,6 +51826,8 @@ spielcasino spiele bonus spiele-bonus spielebonus +spielen einwandfrei +spielen-einwandfrei spielgeld gibt spielgeld-gibt spielleiterin be @@ -51759,6 +51968,9 @@ spotykam-blog spotykam-post spr67.ru/ spravochnik +sprawdz salon +sprawdź salon +sprawdz-salon sprawdzian pdf sprawdzian-pdf sprawdzone narzedzia @@ -51830,6 +52042,9 @@ sqworl.com/ src=http srochnaya pechat srochnaya-pechat +srodki bonus +środki bonus +srodki-bonus ssgamesbr.top sşl şsl @@ -51896,7 +52111,11 @@ start having accident started a blog starting at $ starwarsthe +starz bet starz_ +starz-bet +starzbet +starzuzbet state-of-the-art statement state statement-state @@ -52279,6 +52498,7 @@ structure structure structure to oneself structure-oneself structure-structure +structured car knowledge structured market anal struggle the cruise struggles wrinkle @@ -52674,6 +52894,7 @@ sunshine-facet sunucu optimiz sunucu-optimiz super affiliate +super article! super auto lock super auto-lock super casino @@ -52962,9 +53183,12 @@ swiss-replic swissreplic swoj blog swój blog +swoj bonus +swój bonus swoj post swój post swoj-blog +swoj-bonus swoj-post sword trad sword-trad @@ -55405,6 +55629,7 @@ totaldns.su/ totaldns.za/ totalfree totalizador +totalizator totally achievable totally free totally-free @@ -55754,10 +55979,15 @@ trangcong trangdep tranghot trangmanly +transaction-next +transaction.next +transactionnext +transfer >> transfer barca transfer hizmet transfer-barca transfer-hizmet +transfer>> transform my life transform your life transform-vhs @@ -55892,6 +56122,7 @@ trip planning near trip-planner-near trip-planners-near trip-planning-near +tripscans triviatrivia trollapp trong game @@ -56054,6 +56285,8 @@ turisticheskij marshr turisticheskij-marshr turkiye@example turn my essay +turnieje slot +turnieje-slot turning a revenue turnkey blog turnkey initiative @@ -57016,11 +57249,13 @@ useful advice within useful article overall useful articles overall useful blog +useful for reader useful idiom useful page overall useful pages overall useful stuff , useful-idiom +useful! ai prompt usefulness of your content usefuyl user genial @@ -58070,6 +58305,7 @@ viramune virgin porn virgin-porn virginporn +virgo-show virin site virin-site virtual coach @@ -58302,11 +58538,13 @@ volume-muscular voluptas_ voluptatem_ volvo-volvo +von google von ysl +von-google von-ysl vonysl -vote trump mask -vote-trump-mask +vote trump +vote-trump votre site votre-site votresite @@ -58497,9 +58735,11 @@ wall-installer-near wallet invest wallet out wallet tool +wallet twitter wallet-invest wallet-out wallet-tool +wallet-twitter walletinvest walletout wallettool @@ -58548,6 +58788,7 @@ wanna-say wanna-state wanna-tell want bitcoin +want clear diagnostics want is brill want navigate want to commentary @@ -59037,11 +59278,13 @@ website company near website consultant near website consultants near website daily +website doctor website easily website easy website every day website every once website everyday +website evidence website firm near website firms near website for every @@ -59067,6 +59310,7 @@ website laten website loading website look website market +website medical website net website not work website of trad @@ -59120,10 +59364,12 @@ website-company-near website-consultant-near website-consultants-near website-daily +website-doctor website-easily website-easy website-every-day website-everyday +website-evidence website-firm-near website-firms-near website-for-essay @@ -59137,6 +59383,7 @@ website-kita website-landing website-laten website-look +website-medical website-net website-online website-organic @@ -59797,6 +60044,7 @@ with amazingness with blog comment with declare with e2bet +with free spin with genuine argu with imminent post with keto diet @@ -59826,6 +60074,7 @@ with-big-ass with-body-weight with-declare with-e2bet +with-free-spin with-healthy-living with-my-blog with-my-page @@ -59841,6 +60090,8 @@ withdraw winning withdraw-digital withdraw-online withdraw-winning +withdrawal process +withdrawal-process withdrawal! withher withhim @@ -60415,13 +60666,19 @@ writingessay writinghelper writingpaper writingserv +written article +written blog written on the blog written on the internet written on the net written on the page written on the site written on the web +written post written text within +written-article +written-blog +written-post wrong past detail wrote an really wrote the e-book @@ -60561,6 +60818,9 @@ wyłączny wynn81 wypoczynku wyposazenie +wyprobuj salon +wypróbuj salon +wyprobuj-salon wyszukiwark wywóz wⲟ @@ -60760,6 +61020,12 @@ yantar-e-team yantar-eteam yard growing bag yard-growing-bag +yardim hizmeti +yardim yol +yardim-hizmeti +yardim-yol +yardım hizmeti +yardım yol yarosl yarrak hilesi yarrak kaldirma @@ -60833,6 +61099,9 @@ yokur blog yokur business yokur info yokur web +yol yardim +yol yardım +yol-yardim yolo hack yolo name yolo user @@ -61550,6 +61819,8 @@ zapravka-kartrid zarabotk zasorov kanal zasorov-kanal +zaufany operator +zaufany-operator zawiera witamin zawiera-witamin zawieszki @@ -61787,6 +62058,7 @@ zyvox азартные активировать счет акции +алкобарьер алкогол альтернатива анальной ебли @@ -61920,10 +62192,10 @@ zyvox втб банк втс вход в систему -вход на сайт вход систему вы любите выбираем лучши +выбор площадк выбрать лучшие выигрышного комбо выплату выиг @@ -61950,6 +62222,7 @@ zyvox говоришь гово говорю гово головные устройс +голодание пожи город топ горшки с поливом горящих туров @@ -62025,6 +62298,7 @@ zyvox дренажные раб дрова березо дрова колотые +другие http душу на прост ԁa ԁe @@ -62055,6 +62329,8 @@ zyvox жалюзи для умного желаете мечтаете желаетемечтаете +желчные камни +желчь камни живая пихта жизненные проблем жизненые проблем @@ -62068,10 +62344,9 @@ zyvox заезд для авто заезд на дачу займы россии -зайти на официальную -зайти на сайт +зайти на официал заказ -закладку +закладк записаться заправка картридж заработ @@ -62081,6 +62356,7 @@ zyvox здесь вы найд здесь нет шума здесь сайт +здоровье десен здоровье сайт зли специалистов змусила на @@ -62185,6 +62461,7 @@ zyvox конференц-зал копируйте ссылку коптер dj +корисні порад кормлении грудь кормлениигрудь коробку вольво @@ -62333,6 +62610,7 @@ zyvox мышечной масс на 1win на любую тему +на сайт набрать подпи надежный партнер надежный свай @@ -62363,6 +62641,7 @@ zyvox неизлечимых медициной неоспоримое преим неповторимые уборы +неприятный запах ниже сайт низкие цен низкой цене @@ -62457,7 +62736,7 @@ zyvox пенная шоу пенное вечери пенное шоу -перейти на сайт +переходьте за посилан перманентный макияж персональный песни mp3 @@ -62724,6 +63003,7 @@ zyvox сироп мангустина скам деньги скам на деньги +скан официал скандал жк скандальных путе скачать @@ -62819,6 +63099,7 @@ zyvox торговля бинар торкретирование тревожной кнопки +трипскан труб канал трудоустройства трц @@ -62842,6 +63123,7 @@ zyvox уникал скинами уникальным свойс уникальными скинами +унікальні матеріал уннв слушать управляющую компан ура наконецто @@ -62905,6 +63187,7 @@ zyvox ценное мнение ценные советы цены +цьому сайт через канаву через поисск чип тюнинг @@ -62923,6 +63206,7 @@ zyvox шёлковый палант шёлковый платок шє +шикарное торжество шкаф в парк шкуры животных шлюхи @@ -63295,6 +63579,7 @@ zyvox ߋt ߋx ߋy +पित्त की पथरी กฏหมาย กัญชา กัญชา กฏหมาย กัญชา ขนมใส่ @@ -63428,6 +63713,7 @@ zyvox 놀이터보너 놀쟈 다음 사이트에서 +담석 당신의 블로 당신의블로 대출 @@ -64194,6 +64480,7 @@ zyvox 考, 考試時間 聊球通 +胆石 脳症 脳皮質味 脿 From a03ca3b4fd0b8e88e9f66c8bc825506694e213e4 Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 27 May 2026 09:50:41 -0300 Subject: [PATCH 5/8] Update blacklist --- denylist/splorp-wp-comment.txt | 333 +++------------------------------ 1 file changed, 23 insertions(+), 310 deletions(-) diff --git a/denylist/splorp-wp-comment.txt b/denylist/splorp-wp-comment.txt index 8a3c83074f..b0ca0e99f9 100644 --- a/denylist/splorp-wp-comment.txt +++ b/denylist/splorp-wp-comment.txt @@ -1583,8 +1583,6 @@ _москве -vecaro/ -vendita- -volga.ru/ --vtcontiones- --vtcontiones/ -vuitton- -vulpyx- -vulpyx. @@ -2490,7 +2488,6 @@ _москве .myblog.de/ .mybuzzblog. .mybuzzblogs. -.nesebar. .net, .net/, .net/% @@ -2674,7 +2671,6 @@ _москве .r.e.d .rar. .rdr. -.readyscores. .rediff. .redir- .redir. @@ -3117,8 +3113,6 @@ _москве @fringmail. @gmai. @goohle. -@hello-word -@hello-world @local. @m4il @ma1l @@ -4913,6 +4907,7 @@ _москве /mypage. /mypage/ /myspace/ +/n. /nblo.gs/ /nesebar. /newbalance- @@ -5285,7 +5280,6 @@ _москве /rdr= /readme. /readnews. -/readyscores. /reauexit? /reauexit.ashx? /reauexit.asp? @@ -5814,9 +5808,6 @@ _москве /vk.com/ /vk.io/ /voltaren -/vtcontiones- -/vtcontiones. -/vtcontiones/ /vuitton- /vuitton. /vuittonpascher- @@ -6218,7 +6209,6 @@ _москве ¤¤ $ each month $ porn -$ withdrawal $00 $10 $20 @@ -6369,7 +6359,6 @@ $sixty 1@1 1@2 1@3 -1@ret. 1@seo 1ackn 1arge @@ -6862,9 +6851,6 @@ $sixty 18-xbox 18webcam 18xbox -18yo beauty -18yo-beauty -18yo.beauty 20% 20$ 20mg buy @@ -8564,8 +8550,6 @@ aktuellpress aktuelnachricht aktuelnews aktuelpress -aktywuj spin -aktywuj-spin akun goog akupunktur aladdin online @@ -9554,8 +9538,6 @@ article complet article content article dude article est unne -article explains hidden -article feel pro article fully about article gives pleasant article he/she @@ -9593,7 +9575,6 @@ article to rank article to your life article totally article use expert -article with clear article writing article you write article-agam @@ -9642,8 +9623,6 @@ articles blog articles buzz articles content articles dude -articles feel pro -articles feels pro articles on your blog articles on your page articles on your web @@ -9818,7 +9797,6 @@ aside from enormous asikkusu ask-me-about ask/?qa= -asked by anonymous askjeeve askmeabout aso expei @@ -10146,7 +10124,6 @@ autobrand autoclinics.co. autocom autoglassnear -automatach automated crypto automated-crypto automatenspiele @@ -10493,8 +10470,7 @@ background-check-free background-checker-free backgroundcheckerfree backgroundcheckfree -backlink workshop -backlink-workshop +backlink backyard impress backyard-impress baclofen @@ -10958,9 +10934,6 @@ bayan-izmir bayanescort bayaneskort bayanizmir -bayar bayar -bayar-bayar -bayarbayar baykal extreme baykal otdykh baykal ozero @@ -11572,11 +11545,9 @@ bestdisc bestdrug beste game beste gaming -beste uhren beste wettseiten beste-game beste-gaming -beste-uhren beste-wettseiten bestellen game bestellen gaming @@ -11712,7 +11683,6 @@ bettilt world bettilt-world bettiltworld betting article -betting ecosystem betting exchang betting journ betting news @@ -11728,7 +11698,6 @@ betting strat betting web betting winner betting-article -betting-ecosystem betting-exchang betting-journ betting-news @@ -12231,7 +12200,6 @@ blog diet blog dude blog echt blog eduka -blog explains hidden blog fairly blog felicit blog félicit @@ -12322,8 +12290,6 @@ blog web blog which content blog wiki blog will make -blog with article -blog with clear blog wordpress blog world blog writer @@ -12799,7 +12765,6 @@ bonus kasino bonus kodu bonus money bonus powital -bonus salon bonus selamat bonus setiap bonus site @@ -12815,7 +12780,6 @@ bonus-kasino bonus-kodu bonus-money bonus-powital -bonus-salon bonus-selamat bonus-setia bonus-site @@ -15146,7 +15110,7 @@ caserole plastic caserole-plastic caseroleplastic casesolu -cash adv +cash advanc cash app hack cash app money cash back app @@ -15171,7 +15135,7 @@ cash porn cash progress cash roll cash team -cash-adv +cash-advanc cash-back-app cash-buzz cash-call @@ -15196,7 +15160,7 @@ cash.com. cash.xyz cash| cash4 -cashadv +cashadvanc cashback app cashback-app cashbackapp @@ -15232,8 +15196,6 @@ casier-judiciaire casino 24 casino account casino affida -casino agree -casino agréé casino app casino bet casino bonus @@ -15246,13 +15208,11 @@ casino download casino en ligne casino enligne casino es online -casino exper casino fish casino franc casino game casino gaming casino gold -casino gratuit casino hack casino hotel casino ios @@ -15273,7 +15233,6 @@ casino phish casino pin up casino pinup casino platform -casino rating casino resort casino review casino score @@ -15297,7 +15256,6 @@ casino-1 casino-24 casino-account casino-affida -casino-agree casino-app casino-bet casino-bonus @@ -15310,13 +15268,11 @@ casino-download casino-en-ligne casino-enligne casino-es-online -casino-exper casino-fish casino-franc casino-game casino-gaming casino-gold -casino-gratuit casino-hack casino-hotel casino-ios @@ -15338,7 +15294,6 @@ casino-phish casino-pin-up casino-pinup casino-platform -casino-rating casino-resort casino-review casino-score @@ -15469,24 +15424,16 @@ cavinklein cawsino cazino 24 cazino affida -cazino agree cazino app cazino depot -cazino exper -cazino gratuit -cazino rating cazino resort cazino sont cazino vip cazino vodka cazino-24 cazino-affida -cazino-agree cazino-app cazino-depot -cazino-exper -cazino-gratuit -cazino-rating cazino-resort cazino-sont cazino-vip @@ -15564,9 +15511,6 @@ cecha talentu cechą talentu cees recomm ceicag.org -cekici hizmeti -çekici hizmeti -cekici-hizmeti celana si gadis celeb diet celeb hair @@ -16787,7 +16731,6 @@ choo-sale chooboot choolesterol choose calorie -choose reliable health choose your blog choose-calorie choose-the-ideal @@ -17889,7 +17832,6 @@ companies/moving-compan company coach company formation company ppc -company providing adv company-coach company-formation company-ppc @@ -18088,10 +18030,8 @@ considerations to quest considerations-prior-to considerations-speculat considerations-to-quest -considering innovation +considering what you compose considering-innovation -consistent useful resource -consistently useful resource consolidation loan consolidation-loan constantly this blog @@ -18565,7 +18505,6 @@ covid19self covidself cowboy game cowboy-game -cowgallstone cozy on perhaps cozy resting cozy ugg @@ -19799,10 +19738,11 @@ darkwebsite darmowe ogloszenia darmowe ogłoszenia darmowe prog -darmowe spin darmowe-ogloszenia +darmowe-ogłoszenia darmowe-prog -darmowe-spin +darmoweogloszenia +darmoweogłoszenia darmoweprog darmowy darrellbox @@ -20149,7 +20089,6 @@ delightfully-sudden deliuveries deliuvery deliver effic -deliver end-to-end deliver flexi deliver innovat deliver noticeable result @@ -20158,7 +20097,6 @@ deliver premier deliver relia deliver result deliver-effic -deliver-end-to-end deliver-flexi deliver-innovat deliver-noticeable-result @@ -20172,7 +20110,6 @@ delivering innovat delivering-innovat deliverresult delivers effic -delivers end-to-end delivers flexi delivers innovat delivers premier @@ -20180,7 +20117,6 @@ delivers qualit delivers relia delivers result delivers-effic -delivers-end-to-end delivers-flexi delivers-innovat delivers-premier @@ -20740,12 +20676,9 @@ diffrent diflucan dig the reward diggs.us -digi mktg digi person -digi-mktg digi-person digicam move -digimktg digital agentstva digital dengan digital excess @@ -21009,9 +20942,9 @@ dissertation-writing distinct about distinct web distinct-about -distinctive adv +distinctive advanc distinctive gift idea -distinctive-adv +distinctive-advanc distinctive-gift-idea disulfiram dit me toc @@ -21121,15 +21054,10 @@ docteur-dre docteur-marten docteurdre docteurmarten -doctor health-news doctor verif doctor visit online -doctor written -doctor-health-news doctor-verif doctor-visit-online -doctor-written -doctorhealthnews document/bv document/celine document/chanel @@ -21442,9 +21370,6 @@ drainage-massage drama korea drama-korea drawback: -drawn in this blog -drawn in this piece -drawn in this writing drayvera dre beat dre cheap @@ -22429,8 +22354,6 @@ encounter a page encounter a post encounter a site encounter a web -end-to-end service -end-to-end-service endlaved endocrinol meta endocrinol-meta @@ -26068,7 +25991,6 @@ full length motion full length movie full length-motion full movie -full of educational content full onchain full porn full-crack @@ -26115,7 +26037,6 @@ fund-scheme fund-trend fundamsntal fundmarket -funds to your name funeral error funeral_error funeral-error @@ -26342,7 +26263,6 @@ game gold game habansro game ionline game jers -game malay game online game pertama game prowess @@ -26360,7 +26280,6 @@ game-gold game-habansro game-ionline game-jers -game-malay game-money game-online game-pertama @@ -26433,7 +26352,6 @@ gaming game gaming indo gaming maus gaming mäus -gaming offer gaming prowess gaming torrent gaming with exbet @@ -26443,7 +26361,6 @@ gaming-daftar gaming-game gaming-indo gaming-maus -gaming-offer gaming-prowess gaming-torrent gaming-working @@ -26942,9 +26859,7 @@ giao-nhanh gic manag gic-manag gier hazardowy -gier na automat gier-hazardowy -gier-na-automat giet nguoi giết người giet-nguoi @@ -27399,13 +27314,7 @@ goldbarren goldcoin goldearring golden attire -golden casino -golden cazino -golden kasino golden-attire -golden-casino -golden-cazino -golden-kasino golden-slot goldendoll goldenslot @@ -27442,8 +27351,6 @@ golfplaza golfpromo golfs golfstream -golodanie pos -golodanie-pos gomaile.co/ gomaile.com/ gomi-bet @@ -27616,7 +27523,6 @@ google hack google have a google high google hizmet -google in rank google java google keyword google look for @@ -27643,7 +27549,6 @@ google-goo google-hack google-high google-hizmet -google-in-rank google-java google-keyword google-mapa @@ -27908,7 +27813,6 @@ grab-people-interest grabfree grabs viewer grabs views -grać w automat graceful appreciation gracias por compartir graduand @@ -27951,7 +27855,6 @@ granny porn granny-porn grannyporn granrateio -graph.org/transaction- graphics replacement near graphics-replacement-near grasp grammar @@ -27977,11 +27880,9 @@ gratiscoin gratisonline gratissex gratuit annonce -gratuit avec bonus gratuit paris gratuit roulette gratuit-annonce -gratuit-avec-bonus gratuit-paris gratuit-roulette gratuita para el cliente @@ -28080,8 +27981,6 @@ great blog, you great blog! great blogroll great breakdown! -great casino -great cazino great delivery, exact great delivery, great great delivery. exact @@ -28093,7 +27992,6 @@ great funding view great good great homepage great job! what -great kasino great keep great online great operates @@ -28148,13 +28046,10 @@ great website, stick great website, you great written great-blog -great-casino -great-cazino great-educational-post great-essay great-good great-homepage -great-kasino great-keep great-online great-operates @@ -29070,7 +28965,6 @@ healing-coach healing-post healingindu health advis -health clarity health coach health credent health how @@ -29080,7 +28974,6 @@ health stock health store health suppl health-advis -health-clarity health-coach health-credent health-how @@ -29714,12 +29607,6 @@ hitmp4 hizli casino hizli-casino hizlicasino -hizmeti cekici -hizmeti çekici -hizmeti yardim -hizmeti yardım -hizmeti-cekici -hizmeti-yardim hizmetleri sorunsuz hizmetleri-sorunsuz hızlı casino @@ -30774,7 +30661,6 @@ immediately message immediatey immense worth immense-worth -immenseignite immerse yourself immerse-yourself immigrationcourt @@ -31207,7 +31093,6 @@ influenza pic info , info ! info . -info >> info about the issue info about the subject info about the topic @@ -31243,7 +31128,7 @@ info?i info/addi info/alcohol info/ratno -info>> +info>>> info0.site info0site info1.site @@ -31356,7 +31241,6 @@ infusionsoft ing ffor ing forwad ing puter -ing real money ing-forwad ing-on-bluesky ing-on-facebook @@ -31366,7 +31250,6 @@ ing-on-tiktok ing-on-twitter ing-on-youtube ing-puter -ing-real-money ing,grass ing.grass ing've @@ -32648,12 +32531,6 @@ jettonslots jeugd puistje jeugd-puistje jeugdpuistje -jeux casino -jeux cazino -jeux kasino -jeux-casino -jeux-cazino -jeux-kasino jewelery jeweline. jewellery.bl @@ -33161,24 +33038,16 @@ kashpo kasino kasino 24 kasino affida -kasino agree kasino app kasino bonus kasino depot -kasino exper -kasino gratuit -kasino rating kasino vip kasino vodka kasino-24 kasino-affida -kasino-agree kasino-app kasino-bonus kasino-depot -kasino-exper -kasino-gratuit -kasino-rating kasino-vip kasino-vodka kasino24 @@ -33801,8 +33670,6 @@ kostenlose-gener kostenlose-sex kosze koworking -kowy bonus -kowy-bonus kpkfprbrq kra сайт kra-market @@ -34307,8 +34174,6 @@ leak repair near leak-repair-near leaked archive leaked-archive -leap-wallet -leapwallet learn about keto learn about potential learn about this blog @@ -34990,8 +34855,6 @@ live bang live betting live casino live crazy time -live dealer game -live draw sdy live gore live hack live naked @@ -35005,7 +34868,6 @@ live-article live-bang live-betting live-casino -live-dealer-game live-gore live-hack live-jasmin @@ -35497,7 +35359,6 @@ lotterypro lottie maxi lottie-maxi lottiemaxi -lotto aplika lotto expert lotto kerala lotto play @@ -35508,7 +35369,6 @@ lotto strat lotto tip lotto vip lotto_ -lotto-aplika lotto-expert lotto-kerala lotto-play @@ -35797,9 +35657,6 @@ luxottica ray luxottica-ray luxotticaray luxreplic -luxuriosen replica -luxuriösen replica -luxuriosen-replica luxurious and reliable luxurious gem luxurious gia @@ -37190,7 +37047,6 @@ medical dentists near medical historic medical marijuana medical online -medical website medical-bestseller medical-cannabis medical-credent @@ -37199,7 +37055,6 @@ medical-dentists-near medical-historic medical-marijuana medical-online -medical-website medicament info medicament-info medicarefraud @@ -37277,7 +37132,6 @@ mega site mega spb mega teta mega tetona -mega вывод mega-culo mega-de-rateio mega-link @@ -38441,7 +38295,6 @@ moonrock weed moonrock-weed moore about moore-about -more >> more blog more clash of more component base @@ -38469,7 +38322,7 @@ more-effective! more-eventually more-lv more-smartly -more>> +more>>> morelv moreover seldom moreover, buy @@ -38954,7 +38807,6 @@ my bookmark site my bookmarks my bpog my btc -my car felt wrong my crypto my custom golf my euro ticket @@ -39128,7 +38980,6 @@ myanmartour mybetor mybitcoin mybookmark -mybudcatalog mybusiness mycin online mycin-online @@ -39692,7 +39543,6 @@ nexium.to/ nexium2u nexium4u nexopia -next >> next articles next post thank next post, i @@ -39700,7 +39550,6 @@ next the skill next write ups next yr next-articles -next>> nextspin skill nextspin-skill nfc.lol @@ -40189,7 +40038,6 @@ now now now-credit-card now-interstitial now-now -now>> nowadays blog nowe zdjecia nowe zdjęcia @@ -40547,8 +40395,6 @@ ocrvpart oculosfeminino oczyszczalnia przydomow oczyszczalnia-przydomow -odbierz bonus -odbierz-bonus odchudzanie oddluzania oddłużania @@ -40816,7 +40662,7 @@ olur oturum olur-oturum omalizumab omg blog -omg площадк +omg площадка omg-blog omgblog omgomgomg @@ -41062,7 +40908,6 @@ online vietnam online weblog online webpage online website -online z licenc online παραφαρμακειο online_flower online-24 @@ -41879,14 +41724,12 @@ packs-fanny packscursi packscurso pactswap.org -padang.xyz padişahbet page :: page 1 of goog page an edge page are equip page crypto -page explains hidden page fully about page give pleasant page gives pleasant @@ -42522,10 +42365,10 @@ pay-for-a-good pay-table payable in gold payday | -payday adv +payday advanc payday cash payday loan -payday-adv +payday-advanc payday-cash payday-loan payday-on @@ -43472,10 +43315,7 @@ platform-permainan platformda sunar platformda-sunar platinum and platinum -platinum slots -platinum-slots platinum, and platinum -platinumslots plavix play 88 play betting @@ -43517,7 +43357,6 @@ playamo-online playcargame playcursi playcurso -playdash playedd player is in interface player radio alarm @@ -43656,8 +43495,6 @@ pmupoker pnc speed pnc-speed pncspeed -pobierz teraz -pobierz-teraz pochemuchka poco prezzo poco-prezzo @@ -44394,7 +44231,6 @@ post right here post to obtain post truly post upper -post with clear post writing post you write post-como-este @@ -45378,9 +45214,7 @@ promotionbag promotionshop promotionstore promozioni -prompt ideas here prompt mpg -prompt-ideas-here prompt-mpg promyshlennyye_ proofing solar panel @@ -46010,12 +45844,6 @@ rafiq-rental rage porn rage-porn rageporn -ragnarok online -ragnarok private -ragnarok skill -ragnarok-online -ragnarok-private -ragnarok-skill rahalat maroc rahalat-maroc raiders hat @@ -46031,17 +45859,12 @@ rambler.ru/ rambler.ua/ ramipril ramirezhda -rank check rank increas -rank math rank your business rank-build -rank-check rank-increas -rank-math rank-your-business rankbuild -rankcheck ranked vpn serv ranked-vpn rankedvpn @@ -46050,7 +45873,6 @@ ranking check ranking-check ranking: rankingcheck -rankmath ranode rapid video game rapid-pay @@ -46070,8 +45892,6 @@ rastreadores rasul-rasul rasulrasul rate a engag -rate my ragnarok -rate-my-ragnarok rated dentist near rated dentists near rated-dentist-near @@ -46118,7 +45938,6 @@ rateiosdecurso rateiosdepremium rateiosdown rateiospremium -ratemyragnarok rater-24 rater24 ratespro @@ -46327,7 +46146,6 @@ real lesbian real marvellous info real marvelous info real master -real money mode real video chat real-casino real-estate-web @@ -46335,7 +46153,6 @@ real-estate.web real-lesbian real-master real-money -real-money-mode real-night-club real-nightclub real-sex @@ -46451,12 +46268,9 @@ recaptcha-bypass reccomend this reccomend-this reccommend -receive >> -receive a funds receive carried receive comms receive-carried -receive>> recent seo recent-seo recentseo @@ -46755,7 +46569,6 @@ release-from-movie release-iphone relevante og praktisk reliable blog -reliable health reading reliable plumbing serv reliable weblog reliable webpage @@ -46859,7 +46672,6 @@ remodel-contractors-near remodel-product remodel-service-near remodel-services-near -remodelacion de casa remodeling contractor near remodeling contractors near remodeling service @@ -47074,7 +46886,6 @@ replica sneaker replica stella replica top replica ugg -replica uhren replica watch replica-bag replica-brand @@ -47111,7 +46922,6 @@ replica-stella replica-store replica-top replica-ugg -replica-uhren replica-world replica0 replica1 @@ -48446,9 +48256,7 @@ salomoncanada salomonfr salomonrun salomonspeedcross -salon gier salon style hair -salon-gier salon-style hair salon-style-hair saluran web @@ -49089,7 +48897,6 @@ selllancel sellnow selot terleng selot-terleng -semaglutid sembol clan sembol-clan semi truck repair @@ -50085,11 +49892,8 @@ shift dress shift-dress shiftdress shine of your costume -ship supplys -ship-supplys shipping winning shipping-winning -shipsupplys shirt cease shirt cheap shirt custom @@ -50560,8 +50364,6 @@ signoutwidget signozodiac signs begin to occur signs is treatable -signup offer avail -signup offers avail signzodiac sihe seite sihe site @@ -50664,8 +50466,6 @@ simulator free simulator-free simultanious sin cobrarle el -sin receta -sin-receta sincere examine sincere understand sincere-understand @@ -50714,7 +50514,6 @@ site derateio site echt site expert near site experts near -site explains hidden site give pleasant site gives pleasant site goog @@ -50763,7 +50562,6 @@ site uffic site vip site visitor site web site -site with article site wordpress site-- site-amor @@ -50810,7 +50608,6 @@ site-web site-wordpress site, stick with site:- -site:. site:) site? my web site.vip @@ -51088,7 +50885,6 @@ slot-lapak slot-machine slot-on-line slot-online -slot-platinum slot-plinko slot-pulsa slot-qq @@ -51114,7 +50910,6 @@ slotmachine slotmaschinen slotonline slotpg -slotplatinum slotplinko slotpulsa slotqq @@ -51127,11 +50922,9 @@ slots-blackjack slots-machine slots-on-the-internet slots-online -slots-platinum slots-rtp slots, blackjack slotsmachine -slotsplatinum slotsrtp slottoto slug.ru/ @@ -51826,8 +51619,6 @@ spielcasino spiele bonus spiele-bonus spielebonus -spielen einwandfrei -spielen-einwandfrei spielgeld gibt spielgeld-gibt spielleiterin be @@ -51968,9 +51759,6 @@ spotykam-blog spotykam-post spr67.ru/ spravochnik -sprawdz salon -sprawdź salon -sprawdz-salon sprawdzian pdf sprawdzian-pdf sprawdzone narzedzia @@ -52042,9 +51830,6 @@ sqworl.com/ src=http srochnaya pechat srochnaya-pechat -srodki bonus -środki bonus -srodki-bonus ssgamesbr.top sşl şsl @@ -52111,11 +51896,7 @@ start having accident started a blog starting at $ starwarsthe -starz bet starz_ -starz-bet -starzbet -starzuzbet state-of-the-art statement state statement-state @@ -52498,7 +52279,6 @@ structure structure structure to oneself structure-oneself structure-structure -structured car knowledge structured market anal struggle the cruise struggles wrinkle @@ -52894,7 +52674,6 @@ sunshine-facet sunucu optimiz sunucu-optimiz super affiliate -super article! super auto lock super auto-lock super casino @@ -53183,12 +52962,9 @@ swiss-replic swissreplic swoj blog swój blog -swoj bonus -swój bonus swoj post swój post swoj-blog -swoj-bonus swoj-post sword trad sword-trad @@ -55629,7 +55405,6 @@ totaldns.su/ totaldns.za/ totalfree totalizador -totalizator totally achievable totally free totally-free @@ -55979,15 +55754,10 @@ trangcong trangdep tranghot trangmanly -transaction-next -transaction.next -transactionnext -transfer >> transfer barca transfer hizmet transfer-barca transfer-hizmet -transfer>> transform my life transform your life transform-vhs @@ -56122,7 +55892,6 @@ trip planning near trip-planner-near trip-planners-near trip-planning-near -tripscans triviatrivia trollapp trong game @@ -56285,8 +56054,6 @@ turisticheskij marshr turisticheskij-marshr turkiye@example turn my essay -turnieje slot -turnieje-slot turning a revenue turnkey blog turnkey initiative @@ -57249,13 +57016,11 @@ useful advice within useful article overall useful articles overall useful blog -useful for reader useful idiom useful page overall useful pages overall useful stuff , useful-idiom -useful! ai prompt usefulness of your content usefuyl user genial @@ -58305,7 +58070,6 @@ viramune virgin porn virgin-porn virginporn -virgo-show virin site virin-site virtual coach @@ -58538,13 +58302,11 @@ volume-muscular voluptas_ voluptatem_ volvo-volvo -von google von ysl -von-google von-ysl vonysl -vote trump -vote-trump +vote trump mask +vote-trump-mask votre site votre-site votresite @@ -58735,11 +58497,9 @@ wall-installer-near wallet invest wallet out wallet tool -wallet twitter wallet-invest wallet-out wallet-tool -wallet-twitter walletinvest walletout wallettool @@ -58788,7 +58548,6 @@ wanna-say wanna-state wanna-tell want bitcoin -want clear diagnostics want is brill want navigate want to commentary @@ -59278,13 +59037,11 @@ website company near website consultant near website consultants near website daily -website doctor website easily website easy website every day website every once website everyday -website evidence website firm near website firms near website for every @@ -59310,7 +59067,6 @@ website laten website loading website look website market -website medical website net website not work website of trad @@ -59364,12 +59120,10 @@ website-company-near website-consultant-near website-consultants-near website-daily -website-doctor website-easily website-easy website-every-day website-everyday -website-evidence website-firm-near website-firms-near website-for-essay @@ -59383,7 +59137,6 @@ website-kita website-landing website-laten website-look -website-medical website-net website-online website-organic @@ -60044,7 +59797,6 @@ with amazingness with blog comment with declare with e2bet -with free spin with genuine argu with imminent post with keto diet @@ -60074,7 +59826,6 @@ with-big-ass with-body-weight with-declare with-e2bet -with-free-spin with-healthy-living with-my-blog with-my-page @@ -60090,8 +59841,6 @@ withdraw winning withdraw-digital withdraw-online withdraw-winning -withdrawal process -withdrawal-process withdrawal! withher withhim @@ -60666,19 +60415,13 @@ writingessay writinghelper writingpaper writingserv -written article -written blog written on the blog written on the internet written on the net written on the page written on the site written on the web -written post written text within -written-article -written-blog -written-post wrong past detail wrote an really wrote the e-book @@ -60818,9 +60561,6 @@ wyłączny wynn81 wypoczynku wyposazenie -wyprobuj salon -wypróbuj salon -wyprobuj-salon wyszukiwark wywóz wⲟ @@ -61020,12 +60760,6 @@ yantar-e-team yantar-eteam yard growing bag yard-growing-bag -yardim hizmeti -yardim yol -yardim-hizmeti -yardim-yol -yardım hizmeti -yardım yol yarosl yarrak hilesi yarrak kaldirma @@ -61099,9 +60833,6 @@ yokur blog yokur business yokur info yokur web -yol yardim -yol yardım -yol-yardim yolo hack yolo name yolo user @@ -61819,8 +61550,6 @@ zapravka-kartrid zarabotk zasorov kanal zasorov-kanal -zaufany operator -zaufany-operator zawiera witamin zawiera-witamin zawieszki @@ -62058,7 +61787,6 @@ zyvox азартные активировать счет акции -алкобарьер алкогол альтернатива анальной ебли @@ -62192,10 +61920,10 @@ zyvox втб банк втс вход в систему +вход на сайт вход систему вы любите выбираем лучши -выбор площадк выбрать лучшие выигрышного комбо выплату выиг @@ -62222,7 +61950,6 @@ zyvox говоришь гово говорю гово головные устройс -голодание пожи город топ горшки с поливом горящих туров @@ -62298,7 +62025,6 @@ zyvox дренажные раб дрова березо дрова колотые -другие http душу на прост ԁa ԁe @@ -62329,8 +62055,6 @@ zyvox жалюзи для умного желаете мечтаете желаетемечтаете -желчные камни -желчь камни живая пихта жизненные проблем жизненые проблем @@ -62344,9 +62068,10 @@ zyvox заезд для авто заезд на дачу займы россии -зайти на официал +зайти на официальную +зайти на сайт заказ -закладк +закладку записаться заправка картридж заработ @@ -62356,7 +62081,6 @@ zyvox здесь вы найд здесь нет шума здесь сайт -здоровье десен здоровье сайт зли специалистов змусила на @@ -62461,7 +62185,6 @@ zyvox конференц-зал копируйте ссылку коптер dj -корисні порад кормлении грудь кормлениигрудь коробку вольво @@ -62610,7 +62333,6 @@ zyvox мышечной масс на 1win на любую тему -на сайт набрать подпи надежный партнер надежный свай @@ -62641,7 +62363,6 @@ zyvox неизлечимых медициной неоспоримое преим неповторимые уборы -неприятный запах ниже сайт низкие цен низкой цене @@ -62736,7 +62457,7 @@ zyvox пенная шоу пенное вечери пенное шоу -переходьте за посилан +перейти на сайт перманентный макияж персональный песни mp3 @@ -63003,7 +62724,6 @@ zyvox сироп мангустина скам деньги скам на деньги -скан официал скандал жк скандальных путе скачать @@ -63099,7 +62819,6 @@ zyvox торговля бинар торкретирование тревожной кнопки -трипскан труб канал трудоустройства трц @@ -63123,7 +62842,6 @@ zyvox уникал скинами уникальным свойс уникальными скинами -унікальні матеріал уннв слушать управляющую компан ура наконецто @@ -63187,7 +62905,6 @@ zyvox ценное мнение ценные советы цены -цьому сайт через канаву через поисск чип тюнинг @@ -63206,7 +62923,6 @@ zyvox шёлковый палант шёлковый платок шє -шикарное торжество шкаф в парк шкуры животных шлюхи @@ -63579,7 +63295,6 @@ zyvox ߋt ߋx ߋy -पित्त की पथरी กฏหมาย กัญชา กัญชา กฏหมาย กัญชา ขนมใส่ @@ -63713,7 +63428,6 @@ zyvox 놀이터보너 놀쟈 다음 사이트에서 -담석 당신의 블로 당신의블로 대출 @@ -64480,7 +64194,6 @@ zyvox 考, 考試時間 聊球通 -胆石 脳症 脳皮質味 脿 From 112f5e699272f3f034846e679a02184de0ed948e Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 27 May 2026 09:58:53 -0300 Subject: [PATCH 6/8] Prepare for v6.31 --- classes/helpers/FrmAppHelper.php | 2 +- formidable.php | 2 +- js/formidable.min.js | 32 +- languages/formidable.pot | 1562 ++++++++++++++++++------------ 4 files changed, 971 insertions(+), 627 deletions(-) diff --git a/classes/helpers/FrmAppHelper.php b/classes/helpers/FrmAppHelper.php index c977d11cb5..feb27b93f9 100644 --- a/classes/helpers/FrmAppHelper.php +++ b/classes/helpers/FrmAppHelper.php @@ -29,7 +29,7 @@ class FrmAppHelper { * * @var string */ - public static $plug_version = '6.30'; + public static $plug_version = '6.31'; /** * @var bool diff --git a/formidable.php b/formidable.php index 1ea36e2c60..3e51962d6e 100644 --- a/formidable.php +++ b/formidable.php @@ -2,7 +2,7 @@ /** * Plugin Name: Formidable Forms * Description: Quickly and easily create drag-and-drop forms - * Version: 6.30 + * Version: 6.31 * Plugin URI: https://formidableforms.com/ * Author URI: https://formidableforms.com/ * Author: Strategy11 Form Builder Team diff --git a/js/formidable.min.js b/js/formidable.min.js index ea100e3af5..af5b879356 100644 --- a/js/formidable.min.js +++ b/js/formidable.min.js @@ -24,13 +24,13 @@ if(!recaptcha)return errors;const recaptchaID=recaptcha.dataset.rid;let response field.getAttribute(messageType);if(null===msg)msg="";if(""!==msg&&shouldWrapErrorHtmlAroundMessageType(messageType))msg=wrapErrorHtml(msg,field);return msg}function wrapErrorHtml(msg,field){let errorHtml=field.getAttribute("data-error-html");if(null===errorHtml)return msg;errorHtml=errorHtml.replace(/\+/g,"%20");msg=decodeURIComponent(errorHtml).replace("[error]",msg);const fieldId=getFieldId(field,false);const split=fieldId.split("-");const fieldIdParts=field.id.split("_");fieldIdParts.shift();split[0]= fieldIdParts.join("_");const errorKey=split.join("-");return msg.replace("[key]",errorKey)}function shouldWrapErrorHtmlAroundMessageType(type){return"pattern"!==type}function shouldJSValidate(object){if("function"===typeof object.get)object=object.get(0);let validate=hasClass(object,"frm_js_validate");if(validate&&typeof frmProForm!=="undefined"&&(frmProForm.savingDraft(object)||frmProForm.goingToPreviousPage(object)))validate=false;return validate}function getFormErrors(object,action){const fieldsets= object.querySelectorAll(".frm_form_field");fieldsets.forEach(field=>field.classList.add("frm_doing_ajax"));const data=`${jQuery(object).serialize()}&action=frm_entries_${action}&nonce=${frm_js.nonce}`;const shouldTriggerEvent=object.classList.contains("frm_trigger_event_on_submit");const doRedirect=response=>{jQuery(document).trigger("frmBeforeFormRedirect",[object,response]);if(!response.openInNewTab){window.location=response.redirect;return}const newTab=window.open(response.redirect,"_blank");if(!newTab&& -response.fallbackMsg&&response.content)response.content=response.content.trim().replace(/(<\/div><\/div>)$/,` ${response.fallbackMsg}`)};const success=function(response){const defaultResponse={content:"",errors:{},pass:false};if(response===null)response=defaultResponse;else{response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=JSON.parse(response);else response=defaultResponse}if(response.redirect!==undefined){if(shouldTriggerEvent){triggerCustomEvent(object, -"frmSubmitEvent");return}if(response.delay)setTimeout(function(){doRedirect(response)},1E3*response.delay);else doRedirect(response)}if("string"===typeof response.content&&response.content!==""){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent",{content:response.content});return}removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);const formIdInput=object.querySelector('input[name="form_id"]');const formID=formIdInput?formIdInput.value: -"";response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");const replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);const delay=maybeSlideOut(replaceContent,response.content);setTimeout(function(){afterFormSubmittedBeforeReplace(object,response);replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){const pageOrderInput=document.querySelector(`input[name="frm_page_order_${formID}"]`); -const pageOrder=pageOrderInput?pageOrderInput.value:"";const tempDiv=document.createElement("div");tempDiv.innerHTML=response.content;const formReturnedInput=tempDiv.querySelector('input[name="form_id"]');const formReturned=formReturnedInput?formReturnedInput.value:"";frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}afterFormSubmitted(object,response)},delay)}else if(Object.keys(response.errors).length){removeSubmitLoading(jQuery(object),"enable");let contSubmit=true; -removeAllErrors();let $fieldCont=null;for(const key in response.errors){const fieldContEl=object.querySelector(`#frm_field_${key}_container`);$fieldCont=fieldContEl?jQuery(fieldContEl):jQuery();if($fieldCont.length){if(!$fieldCont.is(":visible")){const inCollapsedSection=$fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){let frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.trigger("click")}}if($fieldCont.is(":visible")){addFieldError($fieldCont, +response.fallbackMsg&&response.content)response.content=response.content.trim().replace(/(<\/div><\/div>)$/,` ${response.fallbackMsg}`)};const success=function(response){const defaultResponse={content:"",errors:{},pass:false};if(response===null)response=defaultResponse;else{response=response.replace(/^\s+|\s+$/g,"");if(response.indexOf("{")===0)response=JSON.parse(response);else response=defaultResponse}let willRedirect=false;if(response.redirect!==undefined){if(shouldTriggerEvent){triggerCustomEvent(object, +"frmSubmitEvent");return}if(response.delay)setTimeout(function(){doRedirect(response)},1E3*response.delay);else doRedirect(response);willRedirect=true}if("string"===typeof response.content&&response.content!==""){if(shouldTriggerEvent){triggerCustomEvent(object,"frmSubmitEvent",{content:response.content});return}removeSubmitLoading(jQuery(object));if(frm_js.offset!=-1)frmFrontForm.scrollMsg(jQuery(object),false);const formIdInput=object.querySelector('input[name="form_id"]');const formID=formIdInput? +formIdInput.value:"";response.content=response.content.replace(/ frm_pro_form /g," frm_pro_form frm_no_hide ");const replaceContent=jQuery(object).closest(".frm_forms");removeAddedScripts(replaceContent,formID);const delay=maybeSlideOut(replaceContent,response.content);setTimeout(function(){afterFormSubmittedBeforeReplace(object,response);replaceContent.replaceWith(response.content);addUrlParam(response);if(typeof frmThemeOverride_frmAfterSubmit==="function"){const pageOrderInput=document.querySelector(`input[name="frm_page_order_${formID}"]`); +const pageOrder=pageOrderInput?pageOrderInput.value:"";const tempDiv=document.createElement("div");tempDiv.innerHTML=response.content;const formReturnedInput=tempDiv.querySelector('input[name="form_id"]');const formReturned=formReturnedInput?formReturnedInput.value:"";frmThemeOverride_frmAfterSubmit(formReturned,pageOrder,response.content,object)}afterFormSubmitted(object,response)},delay)}else if(response.errors!==undefined&&Object.keys(response.errors).length){removeSubmitLoading(jQuery(object), +"enable");let contSubmit=true;removeAllErrors();let $fieldCont=null;for(const key in response.errors){const fieldContEl=object.querySelector(`#frm_field_${key}_container`);$fieldCont=fieldContEl?jQuery(fieldContEl):jQuery();if($fieldCont.length){if(!$fieldCont.is(":visible")){const inCollapsedSection=$fieldCont.closest(".frm_toggle_container");if(inCollapsedSection.length){let frmTrigger=inCollapsedSection.prev();if(!frmTrigger.hasClass("frm_trigger"))frmTrigger=frmTrigger.prev(".frm_trigger");frmTrigger.trigger("click")}}if($fieldCont.is(":visible")){addFieldError($fieldCont, key,response.errors);contSubmit=false}}}object.querySelectorAll(".frm-g-recaptcha, .g-recaptcha, .h-captcha").forEach(function(captchaEl){const recaptchaID=captchaEl.dataset.rid;if(typeof grecaptcha!=="undefined"&&grecaptcha)if(recaptchaID)grecaptcha.reset(recaptchaID);else grecaptcha.reset();if(typeof hcaptcha!=="undefined"&&hcaptcha)hcaptcha.reset()});if(window.turnstile)object.querySelectorAll(".frm-cf-turnstile").forEach(turnstileField=>turnstileField.dataset.rid&&turnstile.reset(turnstileField.dataset.rid)); -jQuery(document).trigger("frmFormErrors",[object,response]);fieldsets.forEach(field=>field.classList.remove("frm_doing_ajax"));scrollToFirstField(object);if(contSubmit)object.submit();else{object.insertAdjacentHTML("afterbegin",response.error_message);checkForErrorsAndMaybeSetFocus()}}else{showFileLoading(object);object.submit()}};const error=function(){object.querySelectorAll('input[type="submit"], input[type="button"]').forEach(button=>button.disabled=false);object.submit()};postToAjaxUrl(object, +jQuery(document).trigger("frmFormErrors",[object,response]);fieldsets.forEach(field=>field.classList.remove("frm_doing_ajax"));scrollToFirstField(object);if(contSubmit)object.submit();else{object.insertAdjacentHTML("afterbegin",response.error_message);checkForErrorsAndMaybeSetFocus()}}else if(!willRedirect){showFileLoading(object);object.submit()}};const error=function(){object.querySelectorAll('input[type="submit"], input[type="button"]').forEach(button=>button.disabled=false);object.submit()};postToAjaxUrl(object, data,success,error)}function postToAjaxUrl(form,data,success,error){let ajaxUrl=frm_js.ajax_url;const action=form.getAttribute("action");if("string"===typeof action&&action.includes("?action=frm_forms_preview"))ajaxUrl=action.split("?action=frm_forms_preview")[0];const ajaxParams={type:"POST",url:ajaxUrl,data,success};if("function"===typeof error)ajaxParams.error=error;jQuery.ajax(ajaxParams)}function afterFormSubmitted(object,response){const tempDiv=document.createElement("div");tempDiv.innerHTML= response.content;const formCompleted=tempDiv.querySelector(".frm_message");if(formCompleted)jQuery(document).trigger("frmFormComplete",[object,response]);else jQuery(document).trigger("frmPageChanged",[object,response])}function afterFormSubmittedBeforeReplace(object,response){const tempDiv=document.createElement("div");tempDiv.innerHTML=response.content;const formCompleted=tempDiv.querySelector(".frm_message");if(formCompleted)triggerCustomEvent(document,"frmFormCompleteBeforeReplace",{object,response})} function removeAddedScripts(formContainer,formID){const endReplace=document.querySelectorAll(`.frm_end_ajax_${formID}`);if(endReplace.length){formContainer.nextUntil(`.frm_end_ajax_${formID}`).remove();endReplace.forEach(el=>el.remove())}}function maybeSlideOut(oldContent,newContent){let c;let newClass="frm_slideout";if(newContent.includes(" frm_slide")){c=oldContent.children();if(newContent.includes(" frm_going_back"))newClass+=" frm_going_back";c.removeClass("frm_going_back");c.addClass(newClass); @@ -58,16 +58,16 @@ end;return}const startTime=performance.now();const step=currentTime=>{const prog if(label&&captchaResponse)label.htmlFor=captchaResponse.id}function checkQuantityFieldMinMax(input){if(""===input.value)return 0;const val=parseFloat(input.value?input.value.trim():0);if(isNaN(val))return 0;let max=input.hasAttribute("max")?parseFloat(input.getAttribute("max")):0;let min=input.hasAttribute("min")?parseFloat(input.getAttribute("min")):0;max=isNaN(max)?0:max;min=isNaN(min)?0:Math.max(0,min);if(valmax){input.value=max;return max}return val} function triggerChange(input,fieldKey){if(fieldKey===undefined)fieldKey="dependent";jQuery(input).trigger({type:"change",selfTriggered:true,frmTriggered:fieldKey})}function calcProductsTotal(e){if("object"===typeof frmProForm)return;if(typeof __FRMCURR==="undefined")return;const totalFields=document.querySelectorAll("[data-frmtotal]");if(!totalFields.length)return;const formTotals=[];totalFields.forEach(totalField=>{let total=0;const form=totalField.closest("form");if(!form)return;const formId=form.querySelector('input[name="form_id"]').value; const currency=getCurrency(formId);if(undefined!==formTotals[formId])total=formTotals[formId];else{form.querySelectorAll("input[data-frmprice],select:has([data-frmprice])").forEach(function(input){let quantity=0;let price=0;const isSingle="hidden"===input.type;if(input.tagName==="SELECT"){if(input.selectedIndex!==-1)price=input.options[input.selectedIndex].getAttribute("data-frmprice")}else{if(!isSingle&&!input.matches(":checked"))return;price=input.getAttribute("data-frmprice")}if(!price)price=0; -else{price=preparePrice(price,currency);quantity=getQuantity(input);price=parseFloat(quantity)*parseFloat(price)}if("true"===input.getAttribute("data-frmdiscount"))price=price*-1;total+=price});formTotals[formId]=total}total=isNaN(total)?0:total;currency.decimal_separator=currency.decimal_separator.trim();if(!currency.decimal_separator.length)currency.decimal_separator=".";totalField.value=total;total=normalizeTotal(total,currency);triggerChange(totalField);total=formatCurrency(total,currency);const formatted= -totalField.previousElementSibling;if(formatted?.matches(".frm_total_formatted")){formatted.innerHTML=total;return}const formattedEls=totalField.closest(".frm_form_field").querySelectorAll(".frm_total_formatted");formattedEls.forEach(formattedEl=>{formattedEl.innerHTML=total})})}function normalizeTotal(total,currency){const isLargeTotal=total>Number.MAX_SAFE_INTEGER;if(!isLargeTotal){const {decimals}=currency;total=decimals>0?round10(total,decimals):Math.ceil(total)}return maybeAddTrailingZeroToPrice(total, -currency,isLargeTotal)}function round10(value,decimals){return Number(`${Math.round(`${value}e${decimals}`)}e-${decimals}`)}function formatCurrency(total,currency){total=maybeAddTrailingZeroToPrice(total,currency);if(total.length&&(total[total.length-1]==="."||total[total.length-1]===currency.decimal_separator))total=total.substr(0,total.length-1);total=maybeRemoveTrailingZerosFromPrice(total,currency);total=addThousands(total,currency);const leftSymbol=currency.symbol_left?currency.symbol_left+currency.symbol_padding: -"";const rightSymbol=currency.symbol_right?currency.symbol_padding+currency.symbol_right:"";return`${leftSymbol}${total}${rightSymbol}`}function getCurrency(formId){if(undefined!==window.__FRMCURR&&undefined!==window.__FRMCURR[formId])return window.__FRMCURR[formId];return{symbol_left:"$",symbol_right:"",symbol_padding:"",thousand_separator:",",decimal_separator:".",decimals:2}}function getQuantity(field){const fieldID=frmFrontForm.getFieldId(field,false);if(!fieldID)return 0;const quantityField= -getQuantityField(field,fieldID);if(!quantityField)return 1;return checkQuantityFieldMinMax(quantityField)}function getQuantityField(element,fieldID){const quantityFields=element.closest("form").querySelectorAll("[data-frmproduct]");if(!quantityFields.length)return null;fieldID=fieldID.toString();return Array.from(quantityFields).find(element=>{let ids;ids=JSON.parse(element.getAttribute("data-frmproduct").trim());if(""===ids)return false;ids="string"===typeof ids?[ids]:ids;return ids.includes(fieldID)})} -function preparePrice(price,currency){if(!price)return 0;price=`${price}`;const regex=getRegexForPrice(currency);const matches=price.match(regex);if(null===matches)return 0;price=matches.length?matches[matches.length-1]:0;price=price.trim();if(currency.decimal_separator==="."&&3===price.split(".").length&&price[0]===".")price=price.substr(1);if(price){price=maybeUseDecimal(price,currency);price=price.split(currency.thousand_separator).join("").replace(currency.decimal_separator,".")}return price} -function getRegexForPrice(currency){let regexString="[0-9,.";if(currency.thousand_separator!=="."&¤cy.thousand_separator!==",")regexString+=currency.thousand_separator;if(currency.decimal_separator!=="."&¤cy.decimal_separator!==",")regexString+=currency.decimal_separator;regexString+="]*\\.?\\,?[0-9]+";return new RegExp(regexString,"g")}function maybeUseDecimal(price,currency){let usedForDecimal;let priceParts;if("."===currency.thousand_separator){priceParts=price.split(".");usedForDecimal= -2===priceParts.length&&2===priceParts[1].length;if(usedForDecimal)price=price.replace(".",currency.decimal_separator)}return price}function maybeAddTrailingZeroToPrice(price,currency,force=false){if("number"!==typeof price&&!force)return price;price=String(price);const pos=price.indexOf(".");if(pos===-1){price=`${price}.`;for(let n=0;n{formattedEl.innerHTML=total})})}function normalizeTotal(total,currency){const isLargeTotal=total>Number.MAX_SAFE_INTEGER;total=roundTotal(total,currency);return maybeAddTrailingZeroToPrice(total,currency,isLargeTotal)}function roundTotal(total, +currency){const isLargeTotal=total>Number.MAX_SAFE_INTEGER;if(!isLargeTotal){const {decimals}=currency;total=decimals>0?round10(total,decimals):Math.ceil(total)}return total}function round10(value,decimals){return Number(`${Math.round(`${value}e${decimals}`)}e-${decimals}`)}function formatCurrency(total,currency){total=maybeAddTrailingZeroToPrice(total,currency);if(total.length&&(total[total.length-1]==="."||total[total.length-1]===currency.decimal_separator))total=total.substr(0,total.length-1); +total=maybeRemoveTrailingZerosFromPrice(total,currency);total=addThousands(total,currency);const leftSymbol=currency.symbol_left?currency.symbol_left+currency.symbol_padding:"";const rightSymbol=currency.symbol_right?currency.symbol_padding+currency.symbol_right:"";return`${leftSymbol}${total}${rightSymbol}`}function getCurrency(formId){if(undefined!==window.__FRMCURR&&undefined!==window.__FRMCURR[formId])return window.__FRMCURR[formId];return{symbol_left:"$",symbol_right:"",symbol_padding:"",thousand_separator:",", +decimal_separator:".",decimals:2}}function getQuantity(field){const fieldID=frmFrontForm.getFieldId(field,false);if(!fieldID)return 0;const quantityField=getQuantityField(field,fieldID);if(!quantityField)return 1;return checkQuantityFieldMinMax(quantityField)}function getQuantityField(element,fieldID){const quantityFields=element.closest("form").querySelectorAll("[data-frmproduct]");if(!quantityFields.length)return null;fieldID=fieldID.toString();return Array.from(quantityFields).find(element=>{let ids; +ids=JSON.parse(element.getAttribute("data-frmproduct").trim());if(""===ids)return false;ids="string"===typeof ids?[ids]:ids;return ids.includes(fieldID)})}function preparePrice(price,currency){if(!price)return 0;price=`${price}`;const regex=getRegexForPrice(currency);const matches=price.match(regex);if(null===matches)return 0;price=matches.length?matches[matches.length-1]:0;price=price.trim();if(currency.decimal_separator==="."&&3===price.split(".").length&&price[0]===".")price=price.substr(1);if(price){price= +maybeUseDecimal(price,currency);price=price.split(currency.thousand_separator).join("").replace(currency.decimal_separator,".")}return price}function getRegexForPrice(currency){let regexString="[0-9,.";if(currency.thousand_separator!=="."&¤cy.thousand_separator!==",")regexString+=currency.thousand_separator;if(currency.decimal_separator!=="."&¤cy.decimal_separator!==",")regexString+=currency.decimal_separator;regexString+="]*\\.?\\,?[0-9]+";return new RegExp(regexString,"g")}function maybeUseDecimal(price, +currency){let usedForDecimal;let priceParts;if("."===currency.thousand_separator){priceParts=price.split(".");usedForDecimal=2===priceParts.length&&2===priceParts[1].length;if(usedForDecimal)price=price.replace(".",currency.decimal_separator)}return price}function maybeAddTrailingZeroToPrice(price,currency,force=false){if("number"!==typeof price&&!force)return price;price=String(price);const pos=price.indexOf(".");if(pos===-1){price=`${price}.`;for(let n=0;n\n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"POT-Creation-Date: 2026-04-15T17:11:00+00:00\n" +"POT-Creation-Date: 2026-05-27T12:56:10+00:00\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "X-Generator: WP-CLI 2.11.0\n" "X-Domain: formidable\n" @@ -43,69 +43,73 @@ msgstr "" #: classes/controllers/FrmAddonsController.php:115 #: classes/controllers/FrmAddonsController.php:120 #: classes/helpers/FrmFormsHelper.php:1645 -#: classes/views/applications/header.php:23 -#: classes/views/frm-fields/back-end/smart-values.php:16 +#: classes/views/applications/header.php:32 +#: classes/views/frm-fields/back-end/smart-values.php:24 #: classes/views/shared/admin-footer-links.php:50 #: classes/views/shared/admin-header.php:64 #: js/packages/floating-links/config.js:55 msgid "Upgrade" msgstr "" -#: classes/controllers/FrmAddonsController.php:209 +#: classes/controllers/FrmAddonsController.php:161 +msgid "Why Upgrade" +msgstr "" + +#: classes/controllers/FrmAddonsController.php:210 msgid "Available" msgstr "" -#: classes/controllers/FrmAddonsController.php:216 -#: classes/controllers/FrmAddonsController.php:971 +#: classes/controllers/FrmAddonsController.php:217 +#: classes/controllers/FrmAddonsController.php:1012 #: classes/controllers/FrmTestModeController.php:354 -#: classes/helpers/FrmAppHelper.php:3964 +#: classes/helpers/FrmAppHelper.php:3966 #: classes/views/styles/_field-colors.php:13 #: stripe/helpers/FrmTransLiteAppHelper.php:106 msgid "Active" msgstr "" -#: classes/controllers/FrmAddonsController.php:222 +#: classes/controllers/FrmAddonsController.php:223 msgid "All Add-Ons" msgstr "" -#: classes/controllers/FrmAddonsController.php:275 +#: classes/controllers/FrmAddonsController.php:276 msgid "There are no plugins on your site that require a license" msgstr "" -#: classes/controllers/FrmAddonsController.php:966 +#: classes/controllers/FrmAddonsController.php:1007 #: classes/controllers/FrmTestModeController.php:355 -#: classes/helpers/FrmAppHelper.php:3965 +#: classes/helpers/FrmAppHelper.php:3967 msgid "Installed" msgstr "" -#: classes/controllers/FrmAddonsController.php:976 +#: classes/controllers/FrmAddonsController.php:1017 #: classes/controllers/FrmTestModeController.php:356 -#: classes/helpers/FrmAppHelper.php:3966 +#: classes/helpers/FrmAppHelper.php:3968 msgid "Not Installed" msgstr "" -#: classes/controllers/FrmAddonsController.php:1026 +#: classes/controllers/FrmAddonsController.php:1067 msgid "Current user cannot delete plugins." msgstr "" -#: classes/controllers/FrmAddonsController.php:1100 +#: classes/controllers/FrmAddonsController.php:1141 msgid "Sorry, your site requires FTP authentication. Please download plugins from FormidableForms.com and install them manually." msgstr "" -#: classes/controllers/FrmAddonsController.php:1294 +#: classes/controllers/FrmAddonsController.php:1335 msgid "Your plugin has been activated. Would you like to save and reload the page now?" msgstr "" -#: classes/controllers/FrmAddonsController.php:1294 +#: classes/controllers/FrmAddonsController.php:1335 msgid "Your plugin has been activated." msgstr "" -#: classes/controllers/FrmAddonsController.php:1448 +#: classes/controllers/FrmAddonsController.php:1489 msgid "The plugin download was not found." msgstr "" -#: classes/controllers/FrmAddonsController.php:1530 -#: classes/controllers/FrmAddonsController.php:1548 +#: classes/controllers/FrmAddonsController.php:1571 +#: classes/controllers/FrmAddonsController.php:1589 #: classes/views/form-templates/modals/upgrade-modal.php:91 #: classes/views/shared/reports-info.php:22 #: js/admin/applications.js:405 @@ -175,7 +179,7 @@ msgstr "" msgid "Build a Form" msgstr "" -#: classes/controllers/FrmAppController.php:1383 +#: classes/controllers/FrmAppController.php:1405 #: classes/controllers/FrmFormsController.php:253 #: classes/controllers/FrmFormTemplatesController.php:656 #: classes/controllers/FrmSettingsController.php:393 @@ -187,14 +191,12 @@ msgstr "" #: stripe/controllers/FrmTransLiteSubscriptionsController.php:73 #: js/admin/style.js:850 #: js/admin/style.js:966 -#: js/src/admin/admin.js:4567 -#: js/src/admin/admin.js:8629 -#: js/formidable_admin.js:7429 -#: js/formidable_admin.js:11491 +#: js/src/admin/admin.js:4661 +#: js/src/admin/admin.js:8856 msgid "Cancel" msgstr "" -#: classes/controllers/FrmAppController.php:1387 +#: classes/controllers/FrmAppController.php:1409 msgid "Continue" msgstr "" @@ -309,16 +311,16 @@ msgstr "" #: classes/controllers/FrmDeactivationFeedbackController.php:115 #: classes/controllers/FrmDeactivationFeedbackController.php:116 -#: classes/helpers/FrmAppHelper.php:4021 +#: classes/helpers/FrmAppHelper.php:4024 #: classes/views/form-templates/modal.php:20 #: classes/views/form-templates/modal.php:21 #: classes/views/form-templates/modals/leave-email-modal.php:59 #: classes/views/form-templates/modals/renew-account-modal.php:40 #: classes/views/form-templates/modals/upgrade-modal.php:84 -#: classes/views/frm-fields/back-end/bulk-options-overlay.php:13 -#: classes/views/frm-fields/back-end/bulk-options-overlay.php:14 -#: classes/views/frm-fields/back-end/inline-modal.php:16 -#: classes/views/frm-fields/back-end/inline-modal.php:17 +#: classes/views/frm-fields/back-end/bulk-options-overlay.php:21 +#: classes/views/frm-fields/back-end/bulk-options-overlay.php:22 +#: classes/views/frm-fields/back-end/inline-modal.php:24 +#: classes/views/frm-fields/back-end/inline-modal.php:25 #: classes/views/shared/admin-header.php:73 msgid "Close" msgstr "" @@ -341,7 +343,7 @@ msgid "Sleek" msgstr "" #: classes/controllers/FrmEmailStylesController.php:53 -#: classes/views/frm-fields/back-end/settings.php:367 +#: classes/views/frm-fields/back-end/settings.php:392 msgid "Compact" msgstr "" @@ -368,7 +370,7 @@ msgstr "" #: classes/controllers/FrmEntriesController.php:174 #: classes/controllers/FrmFormsController.php:1855 #: classes/views/frm-entries/form.php:86 -#: classes/views/frm-entries/sidebar-shared.php:57 +#: classes/views/frm-entries/sidebar-shared.php:68 msgid "Entry Key" msgstr "" @@ -420,7 +422,7 @@ msgid "You are trying to view an entry that does not exist" msgstr "" #: classes/controllers/FrmEntriesController.php:723 -#: classes/controllers/FrmFormActionsController.php:548 +#: classes/controllers/FrmFormActionsController.php:766 #: classes/controllers/FrmFormsController.php:251 #: classes/controllers/FrmSettingsController.php:391 msgid "Verification failed" @@ -460,7 +462,7 @@ msgstr "" #: classes/controllers/FrmFieldsController.php:473 #: classes/models/fields/FrmFieldCombo.php:216 -#: classes/views/frm-fields/back-end/default-value-setting.php:12 +#: classes/views/frm-fields/back-end/default-value-setting.php:22 msgid "Default Value" msgstr "" @@ -490,30 +492,137 @@ msgid "Dynamically retrieve the value of this field from a lookup field." msgstr "" #: classes/controllers/FrmFormActionsController.php:28 -#: classes/views/frm-form-actions/settings.php:21 msgid "Form Actions" msgstr "" -#: classes/controllers/FrmFormActionsController.php:182 -#: classes/views/frm-form-actions/default_actions.php:202 -msgid "eCommerce" +#: classes/controllers/FrmFormActionsController.php:113 +msgid "Success messages" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:114 +msgid "Autoresponder alerts" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:115 +msgid "Content publishing" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:116 +msgid "Account creation" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:117 +msgid "Transaction alerts" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:118 +#: classes/controllers/FrmFormActionsController.php:119 +#: classes/controllers/FrmFormActionsController.php:120 +msgid "Payment gateway" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:121 +msgid "Automated grading" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:122 +msgid "Result logic" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:123 +msgid "List triggers" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:124 +msgid "Subscription confirmation" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:125 +msgid "App automation" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:126 +msgid "Workflow automation" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:127 +msgid "Text notifications" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:128 +msgid "Contact automation" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:129 +msgid "Lead automation" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:130 +msgid "Content distribution" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:131 +msgid "Success notifications" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:132 +msgid "CRM alerts" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:133 +msgid "Plugin automation" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:134 +msgid "System integration" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:135 +msgid "Spreadsheet sync" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:136 +msgid "Broadcast publishing" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:253 +#: classes/views/frm-form-actions/settings.php:21 +msgid "My Actions" msgstr "" -#: classes/controllers/FrmFormActionsController.php:190 -msgid "Email Marketing" +#: classes/controllers/FrmFormActionsController.php:261 +msgid "Featured" msgstr "" -#: classes/controllers/FrmFormActionsController.php:203 +#: classes/controllers/FrmFormActionsController.php:267 +msgid "E-Commerce" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:276 +msgid "Marketing" +msgstr "" + +#: classes/controllers/FrmFormActionsController.php:290 msgid "CRM" msgstr "" +#: classes/controllers/FrmFormActionsController.php:295 +msgid "Misc" +msgstr "" + #. translators: %s: Name of form action -#: classes/controllers/FrmFormActionsController.php:269 +#: classes/controllers/FrmFormActionsController.php:429 +#: classes/views/frm-form-actions/settings.php:105 +#: classes/views/frm-form-actions/settings.php:215 msgid "%s form actions" msgstr "" +#: classes/controllers/FrmFormActionsController.php:566 +msgid "No actions have been added yet. Select an action above to get started." +msgstr "" + #. translators: %s: URL to documentation -#: classes/controllers/FrmFormActionsController.php:424 +#: classes/controllers/FrmFormActionsController.php:610 msgid "You have reached your form action limit. To increase this limit, you will require additional code. Visit our documentation at %s." msgstr "" @@ -774,7 +883,7 @@ msgid "Date Format" msgstr "" #: classes/controllers/FrmFormsController.php:1810 -#: classes/views/frm-fields/back-end/settings.php:87 +#: classes/views/frm-fields/back-end/settings.php:111 msgid "Field Label" msgstr "" @@ -793,13 +902,13 @@ msgstr "" #: classes/controllers/FrmFormsController.php:1831 #: classes/models/fields/FrmFieldName.php:50 -#: stripe/views/action-settings/payments-options.php:171 +#: stripe/views/action-settings/payments-options.php:264 msgid "First Name" msgstr "" #: classes/controllers/FrmFormsController.php:1832 #: classes/models/fields/FrmFieldName.php:52 -#: stripe/views/action-settings/payments-options.php:177 +#: stripe/views/action-settings/payments-options.php:270 msgid "Last Name" msgstr "" @@ -814,7 +923,7 @@ msgstr "" #: classes/controllers/FrmFormsController.php:1835 #: classes/controllers/FrmSettingsController.php:113 #: classes/models/FrmField.php:44 -#: stripe/views/action-settings/payments-options.php:146 +#: stripe/views/action-settings/payments-options.php:238 msgid "Email" msgstr "" @@ -827,7 +936,7 @@ msgid "Author Link" msgstr "" #: classes/controllers/FrmFormsController.php:1854 -#: classes/views/frm-entries/sidebar-shared.php:51 +#: classes/views/frm-entries/sidebar-shared.php:62 msgid "Entry ID" msgstr "" @@ -928,7 +1037,6 @@ msgstr "" #: classes/views/frm-fields/back-end/format-dropdown-options.php:45 #: classes/views/frm-fields/back-end/phone/phone-type.php:37 #: js/src/web-components/frm-typography-component/frm-typography-component.js:43 -#: js/formidable-web-components.js:3486 msgid "Custom" msgstr "" @@ -1104,7 +1212,7 @@ msgstr "" #: classes/controllers/FrmSettingsController.php:432 #: classes/helpers/FrmFormsHelper.php:2015 #: classes/helpers/FrmStylesHelper.php:31 -#: classes/views/frm-forms/add_field_links.php:234 +#: classes/views/frm-forms/add_field_links.php:248 #: classes/views/frm-forms/edit.php:28 #: classes/views/summary-emails/stats.php:118 msgid "Update" @@ -1172,11 +1280,10 @@ msgid "Install WP Mail SMTP" msgstr "" #: classes/controllers/FrmSMTPController.php:325 -#: classes/helpers/FrmAppHelper.php:3963 +#: classes/helpers/FrmAppHelper.php:3965 #: classes/helpers/FrmFormMigratorsHelper.php:168 #: classes/views/shared/upgrade_overlay.php:82 #: js/src/form/views.js:20 -#: js/formidable_blocks.js:739 msgid "Install" msgstr "" @@ -1190,14 +1297,11 @@ msgstr "" #: classes/controllers/FrmSMTPController.php:342 #: classes/models/FrmPluginSearch.php:329 -#: classes/views/addons/settings.php:33 +#: classes/views/addons/settings.php:41 #: js/formidable_admin.js:1 #: js/frm_testing_mode.js:2 -#: js/src/admin/upgrade-popup.js:67 +#: js/src/admin/upgrade-popup.js:72 #: js/src/form/views.js:20 -#: js/formidable_admin.js:1872 -#: js/formidable_blocks.js:739 -#: js/frm_testing_mode.js:1872 msgid "Activate" msgstr "" @@ -1220,7 +1324,7 @@ msgstr "" #: classes/controllers/FrmStylesController.php:60 #: classes/helpers/FrmFormsListHelper.php:434 #: classes/views/form-templates/template.php:73 -#: classes/views/frm-entries/sidebar-shared.php:40 +#: classes/views/frm-entries/sidebar-shared.php:51 #: stripe/helpers/FrmTransLiteListHelper.php:459 #: stripe/views/payments/show.php:161 #: js/admin/style.js:652 @@ -1288,7 +1392,7 @@ msgstr "" #: classes/controllers/FrmStylesController.php:1048 #: classes/helpers/FrmFormsHelper.php:606 -#: classes/views/frm-fields/back-end/field-description.php:8 +#: classes/views/frm-fields/back-end/field-description.php:16 msgid "Field Description" msgstr "" @@ -1297,8 +1401,7 @@ msgid "Field Colors" msgstr "" #: classes/controllers/FrmStylesController.php:1050 -#: js/src/admin/admin.js:2744 -#: js/formidable_admin.js:5606 +#: js/src/admin/admin.js:2838 msgid "Field Settings" msgstr "" @@ -1720,13 +1823,11 @@ msgid "OK" msgstr "" #: classes/helpers/FrmAppHelper.php:3924 -#: classes/views/frm-fields/back-end/settings.php:409 +#: classes/views/frm-fields/back-end/settings.php:434 #: classes/views/styles/_buttons.php:12 #: classes/views/styles/_field-colors.php:12 #: js/src/web-components/frm-typography-component/frm-typography-component.js:10 #: js/src/web-components/frm-typography-component/frm-typography-component.js:23 -#: js/formidable-web-components.js:3453 -#: js/formidable-web-components.js:3466 msgid "Default" msgstr "" @@ -1750,7 +1851,6 @@ msgstr "" #: classes/views/shared/confirm-overlay.php:15 #: classes/views/shared/info-overlay.php:16 #: js/src/admin/admin.js:396 -#: js/formidable_admin.js:3258 msgid "Are you sure?" msgstr "" @@ -1839,472 +1939,480 @@ msgstr "" msgid "Please edit the existing form action." msgstr "" +#: classes/helpers/FrmAppHelper.php:3955 +msgid "This form already has a payment action, and is currently limited to a single payment action." +msgstr "" + +#: classes/helpers/FrmAppHelper.php:3956 +msgid "This form already has a payment action. Multiple Stripe actions are available when using the Stripe add-on, available for Formidable Business licenses and higher." +msgstr "" + #. Translators: %s is the name of a Detail Page Slug that is a reserved word. -#: classes/helpers/FrmAppHelper.php:3957 +#: classes/helpers/FrmAppHelper.php:3959 msgid "The Detail Page Slug \"%s\" is reserved by WordPress. This may cause problems. Is this intentional?" msgstr "" #. Translators: %s is the name of a parameter that is a reserved word. More than one word could be listed here, though that would not be common. -#: classes/helpers/FrmAppHelper.php:3959 +#: classes/helpers/FrmAppHelper.php:3961 msgid "The parameter \"%s\" is reserved by WordPress. This may cause problems when included in the URL. Is this intentional? " msgstr "" -#: classes/helpers/FrmAppHelper.php:3960 +#: classes/helpers/FrmAppHelper.php:3962 #: classes/helpers/FrmFormsHelper.php:1869 msgid "See the list of reserved words in WordPress." msgstr "" -#: classes/helpers/FrmAppHelper.php:3961 +#: classes/helpers/FrmAppHelper.php:3963 msgid "Please enter a Repeat Limit that is greater than 1." msgstr "" -#: classes/helpers/FrmAppHelper.php:3962 +#: classes/helpers/FrmAppHelper.php:3964 msgid "Please select a limit between 0 and 200." msgstr "" -#: classes/helpers/FrmAppHelper.php:3967 +#: classes/helpers/FrmAppHelper.php:3969 #: classes/views/shared/mb_adv_info.php:118 #: classes/views/shared/mb_adv_info.php:134 msgid "Select a Field" msgstr "" -#: classes/helpers/FrmAppHelper.php:3968 +#: classes/helpers/FrmAppHelper.php:3970 #: classes/helpers/FrmListHelper.php:279 msgid "No items found." msgstr "" -#: classes/helpers/FrmAppHelper.php:3969 +#: classes/helpers/FrmAppHelper.php:3971 msgid "Oops. You have already used that field." msgstr "" #. translators: %1$s: HTML open tag, %2$s: HTML end tag. -#: classes/helpers/FrmAppHelper.php:3978 +#: classes/helpers/FrmAppHelper.php:3980 msgid "You can hold %1$sShift%2$s on your keyboard to select multiple fields" msgstr "" -#: classes/helpers/FrmAppHelper.php:4019 +#: classes/helpers/FrmAppHelper.php:4022 msgid "Setup a Payment Gateway first" msgstr "" -#: classes/helpers/FrmAppHelper.php:4020 +#: classes/helpers/FrmAppHelper.php:4023 msgid "To use the payment fields, please install and configure a payment gateway in your account settings." msgstr "" -#: classes/helpers/FrmAppHelper.php:4023 +#: classes/helpers/FrmAppHelper.php:4026 msgid "Go to Payment Settings" msgstr "" -#: classes/helpers/FrmAppHelper.php:4036 +#: classes/helpers/FrmAppHelper.php:4039 msgid "Start Accepting Payments Today!" msgstr "" -#: classes/helpers/FrmAppHelper.php:4045 +#: classes/helpers/FrmAppHelper.php:4048 msgid "Stripe" msgstr "" -#: classes/helpers/FrmAppHelper.php:4049 +#: classes/helpers/FrmAppHelper.php:4052 msgid "Square" msgstr "" #. translators: %s: Stripe or Square. -#: classes/helpers/FrmAppHelper.php:4054 +#: classes/helpers/FrmAppHelper.php:4057 msgid "You already have %s connected, so these have already been unlocked." msgstr "" -#: classes/helpers/FrmAppHelper.php:4055 +#: classes/helpers/FrmAppHelper.php:4058 msgid "and" msgstr "" -#: classes/helpers/FrmAppHelper.php:4058 +#: classes/helpers/FrmAppHelper.php:4061 msgid "I'll do it later!" msgstr "" -#: classes/helpers/FrmAppHelper.php:4059 +#: classes/helpers/FrmAppHelper.php:4062 msgid "Setup Payments Now" msgstr "" -#: classes/helpers/FrmAppHelper.php:4062 +#: classes/helpers/FrmAppHelper.php:4065 msgid "We've unlocked Product, Quantity, and Total fields for Lite users! You can now transform your forms into checkout pages. To start collecting revenue, simply connect your preferred payment gateway (Stripe, or Square) in your settings." msgstr "" -#: classes/helpers/FrmAppHelper.php:4076 +#: classes/helpers/FrmAppHelper.php:4079 msgid "(no label)" msgstr "" -#: classes/helpers/FrmAppHelper.php:4136 +#: classes/helpers/FrmAppHelper.php:4139 msgid "You are running an outdated version of Formidable. This plugin may not work correctly if you do not update Formidable." msgstr "" -#: classes/helpers/FrmAppHelper.php:4190 +#: classes/helpers/FrmAppHelper.php:4193 msgid "The version of PHP on your server is too low. If this is not corrected, you may see issues with Formidable Forms. Please contact your web host and ask to be updated to PHP 7.0+." msgstr "" -#: classes/helpers/FrmAppHelper.php:4211 +#: classes/helpers/FrmAppHelper.php:4214 msgid "English" msgstr "" -#: classes/helpers/FrmAppHelper.php:4212 +#: classes/helpers/FrmAppHelper.php:4215 msgid "Afrikaans" msgstr "" -#: classes/helpers/FrmAppHelper.php:4213 +#: classes/helpers/FrmAppHelper.php:4216 msgid "Albanian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4214 +#: classes/helpers/FrmAppHelper.php:4217 msgid "Algerian Arabic" msgstr "" -#: classes/helpers/FrmAppHelper.php:4215 +#: classes/helpers/FrmAppHelper.php:4218 msgid "Amharic" msgstr "" -#: classes/helpers/FrmAppHelper.php:4216 +#: classes/helpers/FrmAppHelper.php:4219 msgid "Arabic" msgstr "" -#: classes/helpers/FrmAppHelper.php:4217 +#: classes/helpers/FrmAppHelper.php:4220 msgid "Armenian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4218 +#: classes/helpers/FrmAppHelper.php:4221 msgid "Azerbaijani" msgstr "" -#: classes/helpers/FrmAppHelper.php:4219 +#: classes/helpers/FrmAppHelper.php:4222 msgid "Basque" msgstr "" -#: classes/helpers/FrmAppHelper.php:4220 +#: classes/helpers/FrmAppHelper.php:4223 msgid "Belarusian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4221 +#: classes/helpers/FrmAppHelper.php:4224 msgid "Bengali" msgstr "" -#: classes/helpers/FrmAppHelper.php:4222 +#: classes/helpers/FrmAppHelper.php:4225 msgid "Bosnian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4223 +#: classes/helpers/FrmAppHelper.php:4226 msgid "Bulgarian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4224 +#: classes/helpers/FrmAppHelper.php:4227 msgid "Catalan" msgstr "" -#: classes/helpers/FrmAppHelper.php:4225 +#: classes/helpers/FrmAppHelper.php:4228 msgid "Chinese Hong Kong" msgstr "" -#: classes/helpers/FrmAppHelper.php:4226 +#: classes/helpers/FrmAppHelper.php:4229 msgid "Chinese Simplified" msgstr "" -#: classes/helpers/FrmAppHelper.php:4227 +#: classes/helpers/FrmAppHelper.php:4230 msgid "Chinese Traditional" msgstr "" -#: classes/helpers/FrmAppHelper.php:4228 +#: classes/helpers/FrmAppHelper.php:4231 msgid "Croatian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4229 +#: classes/helpers/FrmAppHelper.php:4232 msgid "Czech" msgstr "" -#: classes/helpers/FrmAppHelper.php:4230 +#: classes/helpers/FrmAppHelper.php:4233 msgid "Danish" msgstr "" -#: classes/helpers/FrmAppHelper.php:4231 +#: classes/helpers/FrmAppHelper.php:4234 msgid "Dutch" msgstr "" -#: classes/helpers/FrmAppHelper.php:4232 +#: classes/helpers/FrmAppHelper.php:4235 msgid "English/UK" msgstr "" -#: classes/helpers/FrmAppHelper.php:4233 +#: classes/helpers/FrmAppHelper.php:4236 msgid "Esperanto" msgstr "" -#: classes/helpers/FrmAppHelper.php:4234 +#: classes/helpers/FrmAppHelper.php:4237 msgid "Estonian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4235 +#: classes/helpers/FrmAppHelper.php:4238 msgid "Faroese" msgstr "" -#: classes/helpers/FrmAppHelper.php:4236 +#: classes/helpers/FrmAppHelper.php:4239 msgid "Farsi/Persian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4237 +#: classes/helpers/FrmAppHelper.php:4240 msgid "Filipino" msgstr "" -#: classes/helpers/FrmAppHelper.php:4238 +#: classes/helpers/FrmAppHelper.php:4241 msgid "Finnish" msgstr "" -#: classes/helpers/FrmAppHelper.php:4239 +#: classes/helpers/FrmAppHelper.php:4242 msgid "French" msgstr "" -#: classes/helpers/FrmAppHelper.php:4240 +#: classes/helpers/FrmAppHelper.php:4243 msgid "French/Canadian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4241 +#: classes/helpers/FrmAppHelper.php:4244 msgid "French/Swiss" msgstr "" -#: classes/helpers/FrmAppHelper.php:4242 +#: classes/helpers/FrmAppHelper.php:4245 msgid "Galician" msgstr "" -#: classes/helpers/FrmAppHelper.php:4243 +#: classes/helpers/FrmAppHelper.php:4246 msgid "Georgian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4244 +#: classes/helpers/FrmAppHelper.php:4247 msgid "German" msgstr "" -#: classes/helpers/FrmAppHelper.php:4245 +#: classes/helpers/FrmAppHelper.php:4248 msgid "German/Austria" msgstr "" -#: classes/helpers/FrmAppHelper.php:4246 +#: classes/helpers/FrmAppHelper.php:4249 msgid "German/Switzerland" msgstr "" -#: classes/helpers/FrmAppHelper.php:4247 +#: classes/helpers/FrmAppHelper.php:4250 msgid "Greek" msgstr "" -#: classes/helpers/FrmAppHelper.php:4248 +#: classes/helpers/FrmAppHelper.php:4251 msgid "Gujarati" msgstr "" -#: classes/helpers/FrmAppHelper.php:4249 -#: classes/helpers/FrmAppHelper.php:4250 +#: classes/helpers/FrmAppHelper.php:4252 +#: classes/helpers/FrmAppHelper.php:4253 msgid "Hebrew" msgstr "" -#: classes/helpers/FrmAppHelper.php:4251 +#: classes/helpers/FrmAppHelper.php:4254 msgid "Hindi" msgstr "" -#: classes/helpers/FrmAppHelper.php:4252 +#: classes/helpers/FrmAppHelper.php:4255 msgid "Hungarian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4253 +#: classes/helpers/FrmAppHelper.php:4256 msgid "Icelandic" msgstr "" -#: classes/helpers/FrmAppHelper.php:4254 +#: classes/helpers/FrmAppHelper.php:4257 msgid "Indonesian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4255 +#: classes/helpers/FrmAppHelper.php:4258 msgid "Italian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4256 +#: classes/helpers/FrmAppHelper.php:4259 msgid "Japanese" msgstr "" -#: classes/helpers/FrmAppHelper.php:4257 +#: classes/helpers/FrmAppHelper.php:4260 msgid "Kannada" msgstr "" -#: classes/helpers/FrmAppHelper.php:4258 +#: classes/helpers/FrmAppHelper.php:4261 msgid "Kazakh" msgstr "" -#: classes/helpers/FrmAppHelper.php:4259 +#: classes/helpers/FrmAppHelper.php:4262 msgid "Khmer" msgstr "" -#: classes/helpers/FrmAppHelper.php:4260 +#: classes/helpers/FrmAppHelper.php:4263 msgid "Korean" msgstr "" -#: classes/helpers/FrmAppHelper.php:4261 +#: classes/helpers/FrmAppHelper.php:4264 msgid "Kyrgyz" msgstr "" -#: classes/helpers/FrmAppHelper.php:4262 +#: classes/helpers/FrmAppHelper.php:4265 msgid "Laothian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4263 +#: classes/helpers/FrmAppHelper.php:4266 msgid "Latvian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4264 +#: classes/helpers/FrmAppHelper.php:4267 msgid "Lithuanian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4265 +#: classes/helpers/FrmAppHelper.php:4268 msgid "Luxembourgish" msgstr "" -#: classes/helpers/FrmAppHelper.php:4266 +#: classes/helpers/FrmAppHelper.php:4269 msgid "Macedonian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4267 +#: classes/helpers/FrmAppHelper.php:4270 msgid "Malayalam" msgstr "" -#: classes/helpers/FrmAppHelper.php:4268 +#: classes/helpers/FrmAppHelper.php:4271 msgid "Malaysian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4269 +#: classes/helpers/FrmAppHelper.php:4272 msgid "Marathi" msgstr "" -#: classes/helpers/FrmAppHelper.php:4270 +#: classes/helpers/FrmAppHelper.php:4273 msgid "Norwegian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4271 +#: classes/helpers/FrmAppHelper.php:4274 msgid "Norwegian Bokmål" msgstr "" -#: classes/helpers/FrmAppHelper.php:4272 +#: classes/helpers/FrmAppHelper.php:4275 msgid "Norwegian Nynorsk" msgstr "" -#: classes/helpers/FrmAppHelper.php:4273 +#: classes/helpers/FrmAppHelper.php:4276 msgid "Polish" msgstr "" -#: classes/helpers/FrmAppHelper.php:4274 +#: classes/helpers/FrmAppHelper.php:4277 msgid "Portuguese" msgstr "" -#: classes/helpers/FrmAppHelper.php:4275 +#: classes/helpers/FrmAppHelper.php:4278 msgid "Portuguese/Brazilian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4276 +#: classes/helpers/FrmAppHelper.php:4279 msgid "Portuguese/Portugal" msgstr "" -#: classes/helpers/FrmAppHelper.php:4277 +#: classes/helpers/FrmAppHelper.php:4280 msgid "Romansh" msgstr "" -#: classes/helpers/FrmAppHelper.php:4278 +#: classes/helpers/FrmAppHelper.php:4281 msgid "Romanian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4279 +#: classes/helpers/FrmAppHelper.php:4282 msgid "Russian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4280 -#: classes/helpers/FrmAppHelper.php:4281 +#: classes/helpers/FrmAppHelper.php:4283 +#: classes/helpers/FrmAppHelper.php:4284 msgid "Serbian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4282 +#: classes/helpers/FrmAppHelper.php:4285 msgid "Sinhalese" msgstr "" -#: classes/helpers/FrmAppHelper.php:4283 +#: classes/helpers/FrmAppHelper.php:4286 msgid "Slovak" msgstr "" -#: classes/helpers/FrmAppHelper.php:4284 +#: classes/helpers/FrmAppHelper.php:4287 msgid "Slovenian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4285 +#: classes/helpers/FrmAppHelper.php:4288 msgid "Spanish" msgstr "" -#: classes/helpers/FrmAppHelper.php:4286 +#: classes/helpers/FrmAppHelper.php:4289 msgid "Spanish/Latin America" msgstr "" -#: classes/helpers/FrmAppHelper.php:4287 +#: classes/helpers/FrmAppHelper.php:4290 msgid "Swahili" msgstr "" -#: classes/helpers/FrmAppHelper.php:4288 +#: classes/helpers/FrmAppHelper.php:4291 msgid "Swedish" msgstr "" -#: classes/helpers/FrmAppHelper.php:4289 +#: classes/helpers/FrmAppHelper.php:4292 msgid "Tamil" msgstr "" -#: classes/helpers/FrmAppHelper.php:4290 +#: classes/helpers/FrmAppHelper.php:4293 msgid "Telugu" msgstr "" -#: classes/helpers/FrmAppHelper.php:4291 +#: classes/helpers/FrmAppHelper.php:4294 msgid "Thai" msgstr "" -#: classes/helpers/FrmAppHelper.php:4292 +#: classes/helpers/FrmAppHelper.php:4295 msgid "Tajiki" msgstr "" -#: classes/helpers/FrmAppHelper.php:4293 +#: classes/helpers/FrmAppHelper.php:4296 msgid "Turkish" msgstr "" -#: classes/helpers/FrmAppHelper.php:4294 +#: classes/helpers/FrmAppHelper.php:4297 msgid "Ukrainian" msgstr "" -#: classes/helpers/FrmAppHelper.php:4295 +#: classes/helpers/FrmAppHelper.php:4298 msgid "Urdu" msgstr "" -#: classes/helpers/FrmAppHelper.php:4296 +#: classes/helpers/FrmAppHelper.php:4299 msgid "Vietnamese" msgstr "" -#: classes/helpers/FrmAppHelper.php:4297 +#: classes/helpers/FrmAppHelper.php:4300 msgid "Welsh" msgstr "" -#: classes/helpers/FrmAppHelper.php:4298 +#: classes/helpers/FrmAppHelper.php:4301 msgid "Zulu" msgstr "" -#: classes/helpers/FrmAppHelper.php:4691 +#: classes/helpers/FrmAppHelper.php:4694 msgid "Form Landing Pages" msgstr "" -#: classes/helpers/FrmAppHelper.php:4692 +#: classes/helpers/FrmAppHelper.php:4695 msgid "Easily manage a landing page for your form. Upgrade to get form landing pages." msgstr "" -#: classes/helpers/FrmAppHelper.php:4789 +#: classes/helpers/FrmAppHelper.php:4792 #: classes/views/styles/_style-card.php:38 #: js/admin/applications.js:312 msgid "NEW" msgstr "" -#: classes/helpers/FrmAppHelper.php:4950 +#: classes/helpers/FrmAppHelper.php:4953 msgctxt "warning message: close icon label" msgid "Dismiss" msgstr "" -#: classes/helpers/FrmAppHelper.php:4992 +#: classes/helpers/FrmAppHelper.php:4995 msgid "You're using Formidable Forms Lite - no license needed. Enjoy!" msgstr "" @@ -2528,7 +2636,7 @@ msgid "Unknown" msgstr "" #: classes/helpers/FrmEntriesHelper.php:768 -#: classes/views/frm-entries/show.php:11 +#: classes/views/frm-entries/show.php:22 msgid "View Entry" msgstr "" @@ -2626,7 +2734,7 @@ msgid "Select %s" msgstr "" #: classes/helpers/FrmEntriesListHelper.php:504 -#: classes/views/frm-entries/sidebar-shared.php:43 +#: classes/views/frm-entries/sidebar-shared.php:54 #: stripe/helpers/FrmTransLiteListHelper.php:421 #: stripe/helpers/FrmTransLiteListHelper.php:455 #: js/admin/applications.js:357 @@ -2636,13 +2744,12 @@ msgstr "" #: classes/helpers/FrmEntriesListHelper.php:508 #: classes/helpers/FrmFormsHelper.php:1425 #: classes/helpers/FrmFormsListHelper.php:158 -#: classes/views/frm-form-actions/form_action.php:35 +#: classes/views/frm-form-actions/form_action.php:39 #: stripe/helpers/FrmTransLiteListHelper.php:192 #: stripe/helpers/FrmTransLiteListHelper.php:462 #: stripe/views/payments/show.php:173 #: stripe/views/subscriptions/show.php:129 -#: js/src/admin/admin.js:2771 -#: js/formidable_admin.js:5633 +#: js/src/admin/admin.js:2865 msgid "Delete" msgstr "" @@ -2661,7 +2768,7 @@ msgstr "" #. translators: %s: Field name #: classes/helpers/FrmFieldsHelper.php:309 #: classes/helpers/FrmFieldsHelper.php:465 -#: classes/helpers/FrmXMLHelper.php:1809 +#: classes/helpers/FrmXMLHelper.php:1824 msgid "%s is invalid" msgstr "" @@ -2692,7 +2799,7 @@ msgid "taxonomy" msgstr "" #: classes/helpers/FrmFieldsHelper.php:873 -#: classes/views/addons/categories.php:12 +#: classes/views/addons/categories.php:14 #: classes/views/form-templates/categories.php:12 msgid "Categories" msgstr "" @@ -3776,6 +3883,7 @@ msgstr "" #: classes/helpers/FrmFieldsHelper.php:2291 #: classes/helpers/FrmFieldsHelper.php:2307 #: classes/helpers/FrmFieldsHelper.php:2323 +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:313 msgid "N/A" msgstr "" @@ -3890,7 +3998,7 @@ msgstr "" #: classes/helpers/FrmFieldsHelper.php:2860 #: classes/helpers/FrmFieldsHelper.php:2874 -#: classes/views/frm-fields/back-end/generate-options-with-ai.php:7 +#: classes/views/frm-fields/back-end/generate-options-with-ai.php:16 msgid "Generate options with AI" msgstr "" @@ -3938,7 +4046,7 @@ msgstr "" #. translators: %d: Form ID #. translators: %d: Entry ID #: classes/helpers/FrmFormsHelper.php:223 -#: classes/views/frm-entries/show.php:50 +#: classes/views/frm-entries/show.php:61 msgid "(ID %d)" msgstr "" @@ -3947,7 +4055,7 @@ msgid "Field ID" msgstr "" #: classes/helpers/FrmFormsHelper.php:598 -#: classes/views/frm-fields/back-end/settings.php:444 +#: classes/views/frm-fields/back-end/settings.php:469 msgid "Field Key" msgstr "" @@ -3956,7 +4064,7 @@ msgid "Field Name" msgstr "" #: classes/helpers/FrmFormsHelper.php:610 -#: classes/views/frm-fields/back-end/settings.php:406 +#: classes/views/frm-fields/back-end/settings.php:431 msgid "Label Position" msgstr "" @@ -4088,7 +4196,7 @@ msgid "If you have many checkbox or radio button options, you may add this class msgstr "" #: classes/helpers/FrmFormsHelper.php:1457 -#: stripe/models/FrmTransLiteAction.php:210 +#: stripe/models/FrmTransLiteAction.php:212 msgid "First" msgstr "" @@ -4157,8 +4265,7 @@ msgstr "" #: classes/helpers/FrmFormsHelper.php:2013 #: classes/views/form-templates/modals/name-your-form-modal.php:35 -#: js/src/admin/admin.js:4572 -#: js/formidable_admin.js:7434 +#: js/src/admin/admin.js:4666 msgid "Save" msgstr "" @@ -4528,62 +4635,54 @@ msgid "Send leads to Mailchimp for instant email follow-up." msgstr "" #: classes/helpers/FrmTipsHelper.php:246 -msgid "Accept PayPal payments and grow your sales." -msgstr "" - -#: classes/helpers/FrmTipsHelper.php:254 -msgid "Accept payments now with PayPal integration." -msgstr "" - -#: classes/helpers/FrmTipsHelper.php:262 msgid "Automatically create user accounts." msgstr "" -#: classes/helpers/FrmTipsHelper.php:263 +#: classes/helpers/FrmTipsHelper.php:247 msgid "Upgrade to boost your site membership." msgstr "" -#: classes/helpers/FrmTipsHelper.php:270 +#: classes/helpers/FrmTipsHelper.php:254 msgid "Enable front-end profile editing with User Registration." msgstr "" -#: classes/helpers/FrmTipsHelper.php:278 +#: classes/helpers/FrmTipsHelper.php:262 msgid "Get SMS alerts for form submissions and payments—just add Twilio." msgstr "" -#: classes/helpers/FrmTipsHelper.php:286 +#: classes/helpers/FrmTipsHelper.php:270 msgid "Use Twilio to send SMS when forms are submitted." msgstr "" -#: classes/helpers/FrmTipsHelper.php:294 +#: classes/helpers/FrmTipsHelper.php:278 msgid "Fill Advanced Custom Fields automatically with form entries." msgstr "" -#: classes/helpers/FrmTipsHelper.php:310 +#: classes/helpers/FrmTipsHelper.php:294 msgid "Make your forms stand out with multiple style templates." msgstr "" -#: classes/helpers/FrmTipsHelper.php:318 +#: classes/helpers/FrmTipsHelper.php:302 msgid "Want to add a background image?" msgstr "" -#: classes/helpers/FrmTipsHelper.php:326 +#: classes/helpers/FrmTipsHelper.php:310 msgid "Want to duplicate a style?" msgstr "" -#: classes/helpers/FrmTipsHelper.php:342 +#: classes/helpers/FrmTipsHelper.php:326 msgid "Edit form entries anytime with entry management." msgstr "" -#: classes/helpers/FrmTipsHelper.php:350 +#: classes/helpers/FrmTipsHelper.php:334 msgid "Want to search submitted entries?" msgstr "" -#: classes/helpers/FrmTipsHelper.php:358 +#: classes/helpers/FrmTipsHelper.php:342 msgid "Turn entries into dynamic content — no code needed." msgstr "" -#: classes/helpers/FrmTipsHelper.php:376 +#: classes/helpers/FrmTipsHelper.php:360 msgid "Want to import entries into your forms?" msgstr "" @@ -4601,26 +4700,26 @@ msgstr "" msgid "Your server is missing the simplexml_import_dom function" msgstr "" -#: classes/helpers/FrmXMLHelper.php:1583 +#: classes/helpers/FrmXMLHelper.php:1598 msgctxt "import xml message" msgid "Error details:" msgstr "" -#: classes/helpers/FrmXMLHelper.php:1599 +#: classes/helpers/FrmXMLHelper.php:1614 #: classes/views/solutions/_import.php:53 msgid "Imported" msgstr "" -#: classes/helpers/FrmXMLHelper.php:1600 +#: classes/helpers/FrmXMLHelper.php:1615 msgid "Updated" msgstr "" -#: classes/helpers/FrmXMLHelper.php:1629 +#: classes/helpers/FrmXMLHelper.php:1644 msgid "Nothing was imported or updated" msgstr "" #. translators: %1$s: Number of items -#: classes/helpers/FrmXMLHelper.php:1660 +#: classes/helpers/FrmXMLHelper.php:1675 msgid "%1$s Form" msgid_plural "%1$s Forms" msgstr[0] "" @@ -4628,7 +4727,7 @@ msgstr[1] "" #. translators: %1$s: Number of items #. translators: %1$s - field type -#: classes/helpers/FrmXMLHelper.php:1662 +#: classes/helpers/FrmXMLHelper.php:1677 #: classes/models/FrmFormMigrator.php:736 msgid "%1$s Field" msgid_plural "%1$s Fields" @@ -4636,56 +4735,56 @@ msgstr[0] "" msgstr[1] "" #. translators: %1$s: Number of items -#: classes/helpers/FrmXMLHelper.php:1664 +#: classes/helpers/FrmXMLHelper.php:1679 msgid "%1$s Entry" msgid_plural "%1$s Entries" msgstr[0] "" msgstr[1] "" #. translators: %1$s: Number of items -#: classes/helpers/FrmXMLHelper.php:1666 +#: classes/helpers/FrmXMLHelper.php:1681 msgid "%1$s View" msgid_plural "%1$s Views" msgstr[0] "" msgstr[1] "" #. translators: %1$s: Number of items -#: classes/helpers/FrmXMLHelper.php:1668 +#: classes/helpers/FrmXMLHelper.php:1683 msgid "%1$s Page/Post" msgid_plural "%1$s Pages/Posts" msgstr[0] "" msgstr[1] "" #. translators: %1$s: Number of items -#: classes/helpers/FrmXMLHelper.php:1670 +#: classes/helpers/FrmXMLHelper.php:1685 msgid "%1$s Style" msgid_plural "%1$s Styles" msgstr[0] "" msgstr[1] "" #. translators: %1$s: Number of items -#: classes/helpers/FrmXMLHelper.php:1672 +#: classes/helpers/FrmXMLHelper.php:1687 msgid "%1$s Term" msgid_plural "%1$s Terms" msgstr[0] "" msgstr[1] "" #. translators: %1$s: Number of items -#: classes/helpers/FrmXMLHelper.php:1674 +#: classes/helpers/FrmXMLHelper.php:1689 msgid "%1$s Form Action" msgid_plural "%1$s Form Actions" msgstr[0] "" msgstr[1] "" -#: classes/helpers/FrmXMLHelper.php:1718 +#: classes/helpers/FrmXMLHelper.php:1733 msgid "Go to imported form" msgstr "" -#: classes/helpers/FrmXMLHelper.php:2003 +#: classes/helpers/FrmXMLHelper.php:2018 msgid "Create Posts" msgstr "" -#: classes/helpers/FrmXMLHelper.php:2148 +#: classes/helpers/FrmXMLHelper.php:2163 msgid "Email Notification" msgstr "" @@ -4732,13 +4831,13 @@ msgid "Option 2" msgstr "" #: classes/models/fields/FrmFieldCombo.php:217 -#: classes/views/frm-fields/back-end/settings.php:291 +#: classes/views/frm-fields/back-end/settings.php:316 msgid "Placeholder Text" msgstr "" #: classes/models/fields/FrmFieldCombo.php:218 #: classes/views/form-templates/modals/create-template-modal.php:58 -#: stripe/views/action-settings/payments-options.php:25 +#: stripe/views/action-settings/payments-options.php:62 #: js/admin/applications.js:452 msgid "Description" msgstr "" @@ -4828,13 +4927,13 @@ msgid "%s Options" msgstr "" #: classes/models/fields/FrmFieldType.php:600 -#: classes/views/frm-fields/back-end/settings.php:170 -#: classes/views/frm-fields/back-end/value-format.php:17 +#: classes/views/frm-fields/back-end/settings.php:195 +#: classes/views/frm-fields/back-end/value-format.php:26 msgid "Toggle Options" msgstr "" #: classes/models/fields/FrmFieldType.php:654 -#: classes/views/frm-fields/back-end/bulk-options-overlay.php:10 +#: classes/views/frm-fields/back-end/bulk-options-overlay.php:18 msgid "Bulk Edit Options" msgstr "" @@ -4842,7 +4941,7 @@ msgstr "" msgid "Untitled" msgstr "" -#: classes/models/fields/FrmFieldType.php:2019 +#: classes/models/fields/FrmFieldType.php:2026 msgid "Add Option" msgstr "" @@ -4937,7 +5036,7 @@ msgid "%1$s Form submitted on %2$s" msgstr "" #: classes/models/FrmEmail.php:415 -#: classes/views/frm-entries/sidebar-shared.php:76 +#: classes/views/frm-entries/sidebar-shared.php:87 msgid "User Information" msgstr "" @@ -5021,6 +5120,7 @@ msgid "Hidden" msgstr "" #: classes/models/FrmField.php:80 +#: paypal/controllers/FrmPayPalLiteAppController.php:19 #: square/controllers/FrmSquareLiteAppController.php:19 #: stripe/controllers/FrmStrpLiteAppController.php:106 #: stripe/controllers/FrmTransLiteActionsController.php:615 @@ -5068,6 +5168,7 @@ msgid "Capture exact calendar dates effortlessly with a sleek pop-up date picker msgstr "" #: classes/models/FrmField.php:160 +#: paypal/views/settings/connect-settings-container.php:64 msgid "Time" msgstr "" @@ -5249,31 +5350,31 @@ msgstr "" msgid "There are no options for this action." msgstr "" -#: classes/models/FrmFormAction.php:982 +#: classes/models/FrmFormAction.php:995 msgid "Draft is saved" msgstr "" -#: classes/models/FrmFormAction.php:983 +#: classes/models/FrmFormAction.php:996 msgid "Entry is created" msgstr "" -#: classes/models/FrmFormAction.php:984 +#: classes/models/FrmFormAction.php:997 msgid "Entry is updated" msgstr "" -#: classes/models/FrmFormAction.php:985 +#: classes/models/FrmFormAction.php:998 msgid "Entry is deleted" msgstr "" -#: classes/models/FrmFormAction.php:986 +#: classes/models/FrmFormAction.php:999 msgid "Entry is imported" msgstr "" -#: classes/models/FrmFormAction.php:1000 +#: classes/models/FrmFormAction.php:1032 msgid "Use Conditional Logic" msgstr "" -#: classes/models/FrmFormAction.php:1011 +#: classes/models/FrmFormAction.php:1043 msgid "Conditional form actions" msgstr "" @@ -5323,7 +5424,7 @@ msgid "redirect, success, confirmation, submit" msgstr "" #: classes/models/FrmOnSubmitAction.php:42 -#: classes/views/frm-fields/back-end/settings.php:538 +#: classes/views/frm-fields/back-end/settings.php:563 msgid "Confirmation" msgstr "" @@ -5430,7 +5531,7 @@ msgid "Setup" msgstr "" #: classes/models/FrmSolution.php:147 -#: classes/views/dashboard/templates/notification-banner.php:13 +#: classes/views/dashboard/templates/notification-banner.php:19 msgid "Welcome to Formidable Forms" msgstr "" @@ -5540,13 +5641,12 @@ msgid "Extra Light" msgstr "" #: classes/models/FrmStyle.php:799 -#: classes/views/frm-fields/back-end/settings.php:379 +#: classes/views/frm-fields/back-end/settings.php:404 msgid "Light" msgstr "" #: classes/models/FrmStyle.php:800 #: js/src/web-components/frm-typography-component/frm-typography-component.js:31 -#: js/formidable-web-components.js:3474 msgid "Regular" msgstr "" @@ -5567,6 +5667,7 @@ msgid "Extra Bold" msgstr "" #: classes/models/FrmStyle.php:805 +#: paypal/views/settings/button-settings.php:37 msgid "Black" msgstr "" @@ -5574,37 +5675,38 @@ msgstr "" msgid "Turnstile is a free tool to replace CAPTCHAs. Turnstile delivers frustration-free, CAPTCHA-free web experiences to website visitors - with just a simple snippet of free code. Moreover, Turnstile stops abuse and confirms visitors are real without the data privacy concerns or awful user experience of CAPTCHAs." msgstr "" -#: classes/views/addons/addon.php:36 +#: classes/views/addons/addon.php:40 #: classes/views/form-templates/template.php:41 +#: classes/views/frm-form-actions/settings.php:137 +#: classes/views/frm-form-actions/settings.php:247 +#: classes/views/frm-form-actions/_action_icon.php:42 msgid "Lock icon" msgstr "" -#: classes/views/addons/addon.php:73 -#: classes/views/addons/addon.php:74 +#: classes/views/addons/addon.php:76 msgid "View Docs" msgstr "" #. translators: %1$s: category name, %2$d: number of items in the category -#: classes/views/addons/categories.php:18 +#: classes/views/addons/categories.php:20 #: classes/views/form-templates/categories.php:18 msgid "%1$s category, %2$d items" msgstr "" -#: classes/views/addons/index.php:17 +#: classes/views/addons/index.php:27 msgid "Formidable Add-Ons" msgstr "" -#: classes/views/addons/index.php:30 +#: classes/views/addons/index.php:40 msgid "Search Add-Ons" msgstr "" -#: classes/views/addons/list.php:19 +#: classes/views/addons/list.php:31 msgid "Not finding what you need?" msgstr "" -#: classes/views/addons/list.php:20 +#: classes/views/addons/list.php:32 #: js/src/addons-page/ui/showEmptyState.js:36 -#: js/addons-page.js:2115 msgid "Request Add-On" msgstr "" @@ -5612,29 +5714,29 @@ msgstr "" msgid "You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro." msgstr "" -#: classes/views/addons/settings.php:23 +#: classes/views/addons/settings.php:31 msgid "Good to go!" msgstr "" -#: classes/views/addons/settings.php:26 +#: classes/views/addons/settings.php:34 msgid "Deactivate" msgstr "" -#: classes/views/applications/header.php:9 +#: classes/views/applications/header.php:18 #: classes/views/shared/admin-header.php:11 msgid "View Forms" msgstr "" -#: classes/views/dashboard/templates/license-management.php:8 +#: classes/views/dashboard/templates/license-management.php:14 #: classes/views/frm-settings/general.php:10 msgid "License Key" msgstr "" -#: classes/views/dashboard/templates/notification-banner.php:14 +#: classes/views/dashboard/templates/notification-banner.php:20 msgid "Whether you're looking to create simple contact forms or complex survey forms, Formidable Forms has you covered." msgstr "" -#: classes/views/dashboard/templates/notification-banner.php:17 +#: classes/views/dashboard/templates/notification-banner.php:23 msgid "Check All Features" msgstr "" @@ -5664,7 +5766,6 @@ msgstr "" #: classes/views/form-templates/list.php:14 #: classes/views/form-templates/modals/create-template-modal.php:69 #: js/src/form-templates/ui/showEmptyState.js:98 -#: js/form-templates.js:3842 msgid "Create Template" msgstr "" @@ -5825,15 +5926,15 @@ msgstr "" msgid "Start collecting leads and data today." msgstr "" -#: classes/views/frm-entries/show.php:41 +#: classes/views/frm-entries/show.php:52 msgid "Hide empty fields" msgstr "" -#: classes/views/frm-entries/show.php:42 +#: classes/views/frm-entries/show.php:53 msgid "Show empty fields" msgstr "" -#: classes/views/frm-entries/show.php:45 +#: classes/views/frm-entries/show.php:56 #: stripe/controllers/FrmTransLiteListsController.php:48 #: stripe/controllers/FrmTransLiteListsController.php:57 #: stripe/views/payments/show.php:45 @@ -5841,96 +5942,96 @@ msgstr "" msgid "Entry" msgstr "" -#: classes/views/frm-entries/sidebar-shared.php:8 +#: classes/views/frm-entries/sidebar-shared.php:19 msgid "Entry Actions" msgstr "" -#: classes/views/frm-entries/sidebar-shared.php:28 +#: classes/views/frm-entries/sidebar-shared.php:39 msgid "Entry Details" msgstr "" -#: classes/views/frm-entries/sidebar-shared.php:36 +#: classes/views/frm-entries/sidebar-shared.php:47 msgid "Post" msgstr "" -#: classes/views/frm-entries/sidebar-shared.php:64 +#: classes/views/frm-entries/sidebar-shared.php:75 msgid "Parent Entry ID" msgstr "" #. translators: %1$s: User display name. -#: classes/views/frm-entries/sidebar-shared.php:85 +#: classes/views/frm-entries/sidebar-shared.php:96 msgid "Created by: %1$s" msgstr "" #. translators: %1$s: User display name. -#: classes/views/frm-entries/sidebar-shared.php:100 +#: classes/views/frm-entries/sidebar-shared.php:111 msgid "Updated by: %1$s" msgstr "" -#: classes/views/frm-entries/sidebar-shared.php:110 +#: classes/views/frm-entries/sidebar-shared.php:121 msgid "IP Address:" msgstr "" -#: classes/views/frm-entries/sidebar-shared.php:118 +#: classes/views/frm-entries/sidebar-shared.php:129 msgid "Browser/OS:" msgstr "" -#: classes/views/frm-entries/sidebar-shared.php:126 +#: classes/views/frm-entries/sidebar-shared.php:137 msgid "Referrer:" msgstr "" -#: classes/views/frm-entries/_sidebar-shared-pub.php:17 +#: classes/views/frm-entries/_sidebar-shared-pub.php:26 msgid "M j, Y" msgstr "" #. translators: %1$s: Entry status, %2$s: open tag, %3$s: The date, %4$s: Possible additional text, %5$s: close tag -#: classes/views/frm-entries/_sidebar-shared-pub.php:29 +#: classes/views/frm-entries/_sidebar-shared-pub.php:39 msgid "%1$s: %2$s%3$s%4$s%5$s" msgstr "" #. translators: %1$s: The date -#: classes/views/frm-entries/_sidebar-shared-pub.php:48 +#: classes/views/frm-entries/_sidebar-shared-pub.php:58 msgid "Updated: %1$s" msgstr "" -#: classes/views/frm-fields/back-end/automatic-width.php:9 +#: classes/views/frm-fields/back-end/automatic-width.php:17 msgid "Automatic width" msgstr "" -#: classes/views/frm-fields/back-end/bulk-options-overlay.php:21 +#: classes/views/frm-fields/back-end/bulk-options-overlay.php:29 msgid "Edit or add field options (one per line)" msgstr "" -#: classes/views/frm-fields/back-end/bulk-options-overlay.php:30 +#: classes/views/frm-fields/back-end/bulk-options-overlay.php:38 msgid "Insert Presets" msgstr "" -#: classes/views/frm-fields/back-end/bulk-options-overlay.php:53 +#: classes/views/frm-fields/back-end/bulk-options-overlay.php:61 msgid "Update Options" msgstr "" -#: classes/views/frm-fields/back-end/default-value-setting.php:13 +#: classes/views/frm-fields/back-end/default-value-setting.php:23 msgid "Pre-fill your field with this value. Users can modify it unless the field is read-only." msgstr "" -#: classes/views/frm-fields/back-end/field-captcha.php:10 -#: classes/views/frm-fields/back-end/field-credit-card.php:10 +#: classes/views/frm-fields/back-end/field-captcha.php:18 +#: classes/views/frm-fields/back-end/field-credit-card.php:18 msgid "This field is not set up yet." msgstr "" -#: classes/views/frm-fields/back-end/field-hidden.php:8 +#: classes/views/frm-fields/back-end/field-hidden.php:18 msgid "Note: This field will not show in the form. Enter the value to be hidden." msgstr "" -#: classes/views/frm-fields/back-end/field-html.php:8 +#: classes/views/frm-fields/back-end/field-html.php:16 msgid "Custom HTML:" msgstr "" -#: classes/views/frm-fields/back-end/field-options.php:18 +#: classes/views/frm-fields/back-end/field-options.php:29 msgid "Bulk Edit" msgstr "" -#: classes/views/frm-fields/back-end/field-user-id.php:8 +#: classes/views/frm-fields/back-end/field-user-id.php:14 msgid "User ID fields will not show in your form." msgstr "" @@ -5940,7 +6041,7 @@ msgstr "" #: classes/views/frm-fields/back-end/format-dropdown-options.php:33 #: classes/views/frm-settings/_currency.php:8 -#: stripe/views/action-settings/payments-options.php:94 +#: stripe/views/action-settings/payments-options.php:76 msgid "Currency" msgstr "" @@ -5950,7 +6051,7 @@ msgstr "" #: classes/views/frm-fields/back-end/format-dropdown.php:20 #: classes/views/frm-fields/back-end/phone/phone-type.php:23 -#: classes/views/frm-fields/back-end/value-format.php:8 +#: classes/views/frm-fields/back-end/value-format.php:17 msgid "Format" msgstr "" @@ -5958,50 +6059,51 @@ msgstr "" msgid "Agreement text" msgstr "" -#: classes/views/frm-fields/back-end/generate-options-with-ai.php:8 +#: classes/views/frm-fields/back-end/generate-options-with-ai.php:17 msgid "Generate with AI" msgstr "" -#: classes/views/frm-fields/back-end/generate-options-with-ai.php:10 +#: classes/views/frm-fields/back-end/generate-options-with-ai.php:19 +#: classes/views/frm-form-actions/_action_icon.php:49 msgid "BETA" msgstr "" -#: classes/views/frm-fields/back-end/html-content.php:8 +#: classes/views/frm-fields/back-end/html-content.php:16 msgid "Content" msgstr "" -#: classes/views/frm-fields/back-end/input-mask-info.php:7 +#: classes/views/frm-fields/back-end/input-mask-info.php:13 msgid "To create a custom input mask, you’ll need to use this specific set of symbols:" msgstr "" -#: classes/views/frm-fields/back-end/input-mask-info.php:10 +#: classes/views/frm-fields/back-end/input-mask-info.php:16 msgid "Numeric" msgstr "" -#: classes/views/frm-fields/back-end/input-mask-info.php:11 +#: classes/views/frm-fields/back-end/input-mask-info.php:17 msgid "Alphabetical" msgstr "" -#: classes/views/frm-fields/back-end/input-mask-info.php:12 +#: classes/views/frm-fields/back-end/input-mask-info.php:18 msgid "Alphanumeric" msgstr "" #. translators: %1s: open anchor tag, %2s: close anchor tag -#: classes/views/frm-fields/back-end/input-mask-info.php:21 +#: classes/views/frm-fields/back-end/input-mask-info.php:27 msgid "More examples on our %1$sdocs page%2$s." msgstr "" -#: classes/views/frm-fields/back-end/layout-classes.php:27 -#: classes/views/frm-fields/back-end/layout-classes.php:28 +#: classes/views/frm-fields/back-end/layout-classes.php:33 +#: classes/views/frm-fields/back-end/layout-classes.php:34 msgid "Other Style Classes" msgstr "" -#: classes/views/frm-fields/back-end/max.php:16 +#: classes/views/frm-fields/back-end/max.php:25 msgid "Rows" msgstr "" -#: classes/views/frm-fields/back-end/max.php:18 -#: classes/views/frm-fields/back-end/pixels-wide.php:9 +#: classes/views/frm-fields/back-end/max.php:27 +#: classes/views/frm-fields/back-end/pixels-wide.php:18 msgid "Max Characters" msgstr "" @@ -6021,43 +6123,45 @@ msgstr "" msgid "First Middle Last" msgstr "" -#: classes/views/frm-fields/back-end/number-range.php:7 +#: classes/views/frm-fields/back-end/number-range.php:15 msgid "Set the number range the field validation should allow. Browsers that support the HTML5 number field require a number range to determine the numbers seen when clicking the arrows next to the field." msgstr "" -#: classes/views/frm-fields/back-end/number-range.php:8 +#: classes/views/frm-fields/back-end/number-range.php:16 msgid "Number Range" msgstr "" -#: classes/views/frm-fields/back-end/number-range.php:13 +#: classes/views/frm-fields/back-end/number-range.php:21 msgid "Min Value" msgstr "" -#: classes/views/frm-fields/back-end/number-range.php:19 +#: classes/views/frm-fields/back-end/number-range.php:27 msgid "Max Value" msgstr "" -#: classes/views/frm-fields/back-end/number-range.php:27 +#: classes/views/frm-fields/back-end/number-range.php:35 msgid "Step" msgstr "" -#: classes/views/frm-fields/back-end/pixels-wide.php:19 +#: classes/views/frm-fields/back-end/pixels-wide.php:28 msgid "Field Size" msgstr "" -#: classes/views/frm-fields/back-end/product-options.php:7 +#: classes/views/frm-fields/back-end/product-options.php:16 +#: paypal/controllers/FrmPayPalLiteActionsController.php:2549 msgid "Product Type" msgstr "" -#: classes/views/frm-fields/back-end/product-single-option.php:11 +#: classes/views/frm-fields/back-end/product-single-option.php:28 +#: paypal/controllers/FrmPayPalLiteActionsController.php:2541 msgid "Product Name" msgstr "" -#: classes/views/frm-fields/back-end/product-single-option.php:12 +#: classes/views/frm-fields/back-end/product-single-option.php:29 msgid "Price" msgstr "" -#: classes/views/frm-fields/back-end/quantity-options.php:8 +#: classes/views/frm-fields/back-end/quantity-options.php:16 msgid "Product Field" msgstr "" @@ -6066,126 +6170,126 @@ msgid "Display format" msgstr "" #. translators: %s: Field type -#: classes/views/frm-fields/back-end/settings.php:14 +#: classes/views/frm-fields/back-end/settings.php:36 msgid "%s Field" msgstr "" #. translators: %1$s: Link HTML, %2$s: End link -#: classes/views/frm-fields/back-end/settings.php:30 +#: classes/views/frm-fields/back-end/settings.php:52 msgid "Captchas will not be used until the Site and Secret Keys are %1$sset up%2$s." msgstr "" #. translators: %1$s: Link HTML, %2$s: End link -#: classes/views/frm-fields/back-end/settings.php:47 -msgid "Credit Cards will not work without %1$sadding a Collect Payment action%2$s." +#: classes/views/frm-fields/back-end/settings.php:69 +msgid "Credit Cards will not work without %1$sadding a Stripe, Square, or PayPal action%2$s." msgstr "" #. translators: %1$s: Link HTML, %2$s: End link -#: classes/views/frm-fields/back-end/settings.php:64 +#: classes/views/frm-fields/back-end/settings.php:86 #: classes/views/frm-fields/front-end/gdpr/gdpr-field.php:33 msgid "GDPR field is disabled. Please enable it in the Formidable %1$sSettings%2$s." msgstr "" -#: classes/views/frm-fields/back-end/settings.php:100 -#: classes/views/frm-fields/back-end/settings.php:507 +#: classes/views/frm-fields/back-end/settings.php:125 +#: classes/views/frm-fields/back-end/settings.php:532 msgid "Required" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:111 -#: classes/views/frm-fields/back-end/settings.php:527 +#: classes/views/frm-fields/back-end/settings.php:136 +#: classes/views/frm-fields/back-end/settings.php:552 msgid "Unique" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:122 +#: classes/views/frm-fields/back-end/settings.php:147 #: classes/views/styles/_field-colors.php:14 msgid "Read Only" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:147 +#: classes/views/frm-fields/back-end/settings.php:172 msgid "CSS Layout Classes" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:148 +#: classes/views/frm-fields/back-end/settings.php:173 msgid "Add a CSS class to the field container. Use our predefined classes to align multiple fields in single row." msgstr "" -#: classes/views/frm-fields/back-end/settings.php:201 +#: classes/views/frm-fields/back-end/settings.php:226 msgid "Collapsible Advanced Settings" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:202 +#: classes/views/frm-fields/back-end/settings.php:227 #: classes/views/shared/mb_adv_info.php:22 msgid "Advanced" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:352 +#: classes/views/frm-fields/back-end/settings.php:377 msgid "If this URL points to an image, show to image on the entries listing page." msgstr "" -#: classes/views/frm-fields/back-end/settings.php:359 +#: classes/views/frm-fields/back-end/settings.php:384 msgid "Set the size of the captcha field. The compact option is best if your form is in a small area." msgstr "" -#: classes/views/frm-fields/back-end/settings.php:360 +#: classes/views/frm-fields/back-end/settings.php:385 msgid "Captcha Size" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:364 +#: classes/views/frm-fields/back-end/settings.php:389 msgid "Normal" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:375 +#: classes/views/frm-fields/back-end/settings.php:400 msgid "Captcha Theme" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:382 +#: classes/views/frm-fields/back-end/settings.php:407 msgid "Dark" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:386 +#: classes/views/frm-fields/back-end/settings.php:411 msgid "Auto" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:398 +#: classes/views/frm-fields/back-end/settings.php:423 msgid "Required Field Indicator" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:428 +#: classes/views/frm-fields/back-end/settings.php:453 msgid "Center" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:443 +#: classes/views/frm-fields/back-end/settings.php:468 msgid "The field key can be used as an alternative to the field ID in many cases." msgstr "" -#: classes/views/frm-fields/back-end/settings.php:452 +#: classes/views/frm-fields/back-end/settings.php:477 msgid "Field Type" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:496 +#: classes/views/frm-fields/back-end/settings.php:521 msgid "Collapsible Validation Messages Settings" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:498 +#: classes/views/frm-fields/back-end/settings.php:523 msgid "Validation Messages" msgstr "" -#: classes/views/frm-fields/back-end/settings.php:516 +#: classes/views/frm-fields/back-end/settings.php:541 msgid "Invalid Format" msgstr "" #. translators: %s: Feature name -#: classes/views/frm-fields/back-end/smart-values.php:10 +#: classes/views/frm-fields/back-end/smart-values.php:18 #: classes/views/shared/upgrade_overlay.php:39 msgid "%s are not available on your plan. Did you know you can upgrade to PRO to unlock more awesome features?" msgstr "" -#: classes/views/frm-fields/back-end/smart-values.php:19 +#: classes/views/frm-fields/back-end/smart-values.php:27 msgid "Already purchased?" msgstr "" -#: classes/views/frm-fields/back-end/upsell/ai-upsell-button.php:11 -#: classes/views/frm-fields/back-end/upsell/ai-upsell-button.php:13 +#: classes/views/frm-fields/back-end/upsell/ai-upsell-button.php:19 +#: classes/views/frm-fields/back-end/upsell/ai-upsell-button.php:21 msgid "Create with AI" msgstr "" @@ -6233,11 +6337,11 @@ msgstr "" msgid "Everyone" msgstr "" -#: classes/views/frm-fields/back-end/value-format.php:7 +#: classes/views/frm-fields/back-end/value-format.php:16 msgid "Insert the format you would like to accept. Use a regular expression starting with ^ or an exact format like (999)999-9999." msgstr "" -#: classes/views/frm-fields/single-option.php:33 +#: classes/views/frm-fields/single-option.php:49 msgid "Saved Value" msgstr "" @@ -6249,30 +6353,34 @@ msgstr "" msgid "Register User" msgstr "" -#: classes/views/frm-form-actions/default_actions.php:49 +#: classes/views/frm-form-actions/default_actions.php:90 msgid "Scored Quiz" msgstr "" -#: classes/views/frm-form-actions/default_actions.php:60 +#: classes/views/frm-form-actions/default_actions.php:102 msgid "Quiz Outcome" msgstr "" -#: classes/views/frm-form-actions/default_actions.php:115 +#: classes/views/frm-form-actions/default_actions.php:159 msgid "Twilio SMS" msgstr "" -#: classes/views/frm-form-actions/default_actions.php:159 +#: classes/views/frm-form-actions/default_actions.php:203 msgid "The HubSpot integration is not available on your plan. Did you know you can upgrade to unlock more awesome features?" msgstr "" -#: classes/views/frm-form-actions/default_actions.php:180 +#: classes/views/frm-form-actions/default_actions.php:224 msgid "Send API data" msgstr "" -#: classes/views/frm-form-actions/default_actions.php:191 +#: classes/views/frm-form-actions/default_actions.php:235 msgid "Google Sheets" msgstr "" +#: classes/views/frm-form-actions/default_actions.php:246 +msgid "eCommerce" +msgstr "" + #: classes/views/frm-form-actions/email_action.php:19 #: classes/views/frm-settings/email/email-styles.php:103 msgid "Send Email" @@ -6282,14 +6390,13 @@ msgstr "" msgid "Conditional emails" msgstr "" -#: classes/views/frm-form-actions/form_action.php:31 +#: classes/views/frm-form-actions/form_action.php:34 #: js/admin/style.js:714 -#: js/src/admin/admin.js:2777 -#: js/formidable_admin.js:5639 +#: js/src/admin/admin.js:2871 msgid "Duplicate" msgstr "" -#: classes/views/frm-form-actions/form_action.php:35 +#: classes/views/frm-form-actions/form_action.php:39 msgid "Delete this form action?" msgstr "" @@ -6325,24 +6432,31 @@ msgstr "" msgid "Show Page Content" msgstr "" -#: classes/views/frm-form-actions/settings.php:7 +#: classes/views/frm-form-actions/settings.php:12 msgid "Add form actions to your form to perform tasks when an entry is created, updated, imported, and more." msgstr "" -#: classes/views/frm-form-actions/settings.php:15 -msgid "Search Form Actions" +#: classes/views/frm-form-actions/settings.php:22 +msgid "All" msgstr "" -#: classes/views/frm-form-actions/settings.php:23 -msgid "(click an action to add it to your form)" +#: classes/views/frm-form-actions/settings.php:36 +msgid "Search Actions" msgstr "" -#: classes/views/frm-form-actions/settings.php:77 -msgid "Show all form actions" +#: classes/views/frm-form-actions/settings.php:149 +#: classes/views/frm-form-actions/settings.php:259 +#: classes/views/frm-form-actions/_action_icon.php:59 +msgctxt "form action" +msgid "Add" msgstr "" -#: classes/views/frm-form-actions/settings.php:80 -msgid "Hide extra form actions" +#: classes/views/frm-form-actions/settings.php:273 +msgid "No actions found. Try a different search term." +msgstr "" + +#: classes/views/frm-form-actions/settings.php:278 +msgid "Current Actions" msgstr "" #: classes/views/frm-form-actions/_action_inside.php:22 @@ -6365,24 +6479,24 @@ msgstr "" msgid "Attachment" msgstr "" -#: classes/views/frm-form-actions/_action_inside.php:108 +#: classes/views/frm-form-actions/_action_inside.php:107 msgid "Form action automations" msgstr "" -#: classes/views/frm-form-actions/_action_inside.php:121 +#: classes/views/frm-form-actions/_action_inside.php:131 msgid "Setup Automation" msgstr "" -#: classes/views/frm-form-actions/_action_inside.php:135 +#: classes/views/frm-form-actions/_action_inside.php:145 msgid "Form action logs" msgstr "" -#: classes/views/frm-form-actions/_action_inside.php:137 +#: classes/views/frm-form-actions/_action_inside.php:147 msgid "Install logging to get more information on API requests." msgstr "" #. translators: %1$s: The ID of the form action. -#: classes/views/frm-form-actions/_action_inside.php:147 +#: classes/views/frm-form-actions/_action_inside.php:157 msgid "Action ID: %1$s" msgstr "" @@ -6454,18 +6568,14 @@ msgid "Move Field" msgstr "" #: classes/views/frm-forms/add_field.php:44 -#: js/src/admin/admin.js:1518 -#: js/src/admin/admin.js:1524 -#: js/src/admin/admin.js:2701 -#: js/formidable_admin.js:4380 -#: js/formidable_admin.js:4386 -#: js/formidable_admin.js:5563 +#: js/src/admin/admin.js:1617 +#: js/src/admin/admin.js:1623 +#: js/src/admin/admin.js:2795 msgid "More Options" msgstr "" #: classes/views/frm-forms/add_field.php:46 -#: js/src/admin/admin.js:1510 -#: js/formidable_admin.js:4372 +#: js/src/admin/admin.js:1609 msgid "Toggle More Options Dropdown" msgstr "" @@ -6489,8 +6599,6 @@ msgstr "" #: classes/views/frm-forms/add_field_links.php:182 #: js/src/core/page-skeleton/elements/emptyStateElement.js:35 -#: js/addons-page.js:2371 -#: js/form-templates.js:1763 msgid "Empty State" msgstr "" @@ -6620,7 +6728,6 @@ msgstr "" #: classes/views/frm-forms/shortcode_opts.php:16 #: classes/widgets/FrmElementorWidget.php:63 #: js/src/form/inspector.js:62 -#: js/formidable_blocks.js:599 msgid "Options" msgstr "" @@ -6844,7 +6951,6 @@ msgstr "" #: classes/views/frm-settings/email/settings.php:54 #: js/src/web-components/frm-typography-component/frm-typography-component.js:27 -#: js/formidable-web-components.js:3470 msgid "Small" msgstr "" @@ -7279,7 +7385,6 @@ msgstr "" #: classes/views/shared/info-overlay.php:25 #: js/src/admin/admin.js:398 -#: js/formidable_admin.js:3260 msgid "Got it!" msgstr "" @@ -7513,7 +7618,6 @@ msgstr "" #: classes/views/styles/components/templates/slider.php:185 #: classes/views/styles/components/templates/slider.php:213 #: js/src/web-components/frm-range-slider-component/frm-range-slider-component.js:366 -#: js/formidable-web-components.js:3201 msgid "Value unit" msgstr "" @@ -7687,6 +7791,7 @@ msgstr "" #: classes/views/styles/_field-labels.php:154 #: classes/views/styles/_form-description.php:26 #: classes/views/styles/_form-title.php:9 +#: paypal/views/settings/button-settings.php:29 msgid "Color" msgstr "" @@ -7710,6 +7815,7 @@ msgstr "" #: classes/views/styles/_field-colors.php:15 #: classes/views/styles/_form-messages.php:13 +#: paypal/views/settings/connect-settings-container.php:62 msgid "Error" msgstr "" @@ -8203,7 +8309,6 @@ msgstr "" #: classes/views/xml/import_form.php:169 #: js/src/form-templates/events/createTemplateListeners.js:79 -#: js/form-templates.js:2782 msgid "Template" msgstr "" @@ -8218,25 +8323,21 @@ msgstr "" #: classes/widgets/FrmElementorWidget.php:44 #: js/src/form/inspector.js:43 -#: js/formidable_blocks.js:580 msgid "Select Form" msgstr "" #: classes/widgets/FrmElementorWidget.php:68 #: js/src/form/inspector.js:66 -#: js/formidable_blocks.js:603 msgid "Show Form Title" msgstr "" #: classes/widgets/FrmElementorWidget.php:69 #: js/src/form/inspector.js:73 -#: js/formidable_blocks.js:610 msgid "Show Form Description" msgstr "" #: classes/widgets/FrmElementorWidget.php:70 #: js/src/form/inspector.js:80 -#: js/formidable_blocks.js:617 msgid "Minimize HTML" msgstr "" @@ -8256,95 +8357,435 @@ msgstr "" msgid "Show Description" msgstr "" +#: paypal/controllers/FrmPayPalLiteActionsController.php:121 #: square/controllers/FrmSquareLiteActionsController.php:114 #: stripe/controllers/FrmStrpLiteActionsController.php:122 msgid "Please specify an amount for the payment" msgstr "" -#: square/controllers/FrmSquareLiteActionsController.php:119 -msgid "There was a problem communicating with Square. Please try again." +#: paypal/controllers/FrmPayPalLiteActionsController.php:126 +msgid "PayPal still needs to be configured." msgstr "" -#: square/controllers/FrmSquareLiteActionsController.php:150 -#: square/controllers/FrmSquareLiteActionsController.php:218 -msgid "Please enter a valid credit card" +#: paypal/controllers/FrmPayPalLiteActionsController.php:169 +msgid "Payment status: " msgstr "" -#: square/controllers/FrmSquareLiteActionsController.php:275 -msgid "There was a problem creating the subscription" +#: paypal/controllers/FrmPayPalLiteActionsController.php:169 +#: stripe/helpers/FrmTransLiteAppHelper.php:91 +#: stripe/helpers/FrmTransLiteAppHelper.php:105 +msgid "Pending" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:176 +msgid "Payment source: " +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:180 +msgid "Payment made by: " +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:224 +#: paypal/views/settings/button-settings.php:46 +msgid "PayPal" msgstr "" +#: paypal/controllers/FrmPayPalLiteActionsController.php:226 +#: paypal/views/settings/action-settings-options.php:25 +msgid "Pay Later" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:242 +msgid "Address: " +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:331 +msgid "Failed to capture order." +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:1004 +msgid "No PayPal subscription ID found." +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:2553 +msgid "Service" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:2554 +msgid "Digital" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:2555 +msgid "Physical" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:2589 +msgid "PayPal Email" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:2590 +msgid "PayPal Name" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteActionsController.php:2593 +msgid "PayPal Address" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteAppController.php:79 +#: paypal/controllers/FrmPayPalLiteAppController.php:209 +#: paypal/controllers/FrmPayPalLiteAppController.php:607 #: square/controllers/FrmSquareLiteAppController.php:78 msgid "Invalid form ID" msgstr "" -#: square/controllers/FrmSquareLiteAppController.php:84 -msgid "No Square actions found for this form" +#: paypal/controllers/FrmPayPalLiteAppController.php:85 +#: paypal/controllers/FrmPayPalLiteAppController.php:225 +#: paypal/controllers/FrmPayPalLiteAppController.php:613 +msgid "No PayPal actions found for this form" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteAppController.php:215 +msgid "No payment source provided" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteAppController.php:219 +msgid "Invalid payment source" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteAppController.php:236 +msgid "Order amount cannot be zero." +msgstr "" + +#: paypal/controllers/FrmPayPalLiteAppController.php:634 +msgid "A product name is required for subscriptions. Please update your PayPal action settings." +msgstr "" + +#: paypal/controllers/FrmPayPalLiteAppController.php:638 +msgid "A billing interval is required for subscriptions. Please update your PayPal action settings." +msgstr "" + +#: paypal/controllers/FrmPayPalLiteAppController.php:642 +msgid "A valid amount is required for subscriptions. Zero amounts are not allowed." +msgstr "" + +#: paypal/controllers/FrmPayPalLiteAppController.php:726 +msgid "Payment failed. Please try again." +msgstr "" + +#: paypal/controllers/FrmPayPalLiteAppController.php:824 +msgid "PayPal is not connected. Please connect your PayPal account to process payments." msgstr "" -#: square/helpers/FrmSquareLiteAppHelper.php:81 -#: stripe/helpers/FrmStrpLiteAppHelper.php:126 +#: paypal/controllers/FrmPayPalLiteAppController.php:827 +msgid "You can connect PayPal in Global Settings, under the Payments section." +msgstr "" + +#. translators: %s: The amount of money that was refunded. +#: paypal/controllers/FrmPayPalLiteEventsController.php:276 +#: stripe/controllers/FrmStrpLiteEventsController.php:77 +msgid "Payment partially refunded %s" +msgstr "" + +#. translators: %s: The status of the payment. +#. translators: %s: Payment status. +#: paypal/controllers/FrmPayPalLiteEventsController.php:281 +#: stripe/controllers/FrmStrpLiteEventsController.php:82 +#: stripe/helpers/FrmTransLiteAppHelper.php:126 +msgid "Payment %s" +msgstr "" + +#: paypal/controllers/FrmPayPalLiteFieldsController.php:41 +msgid "This is a PayPal order field. It is automatically populated when a payment is processed, and is automatically excluded from the form HTML." +msgstr "" + +#: paypal/helpers/FrmPayPalLiteAppHelper.php:108 +#: square/helpers/FrmSquareLiteAppHelper.php:79 +#: stripe/helpers/FrmStrpLiteAppHelper.php:124 msgid "Upgrade to save on fees." msgstr "" -#: square/helpers/FrmSquareLiteConnectHelper.php:32 -#: stripe/views/settings/form.php:11 -msgid "Test Mode" +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:67 +msgid "Invalid nonce." msgstr "" -#: square/helpers/FrmSquareLiteConnectHelper.php:37 -msgid "Use the Square test mode" +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:92 +msgid "Unable to retrieve seller status." msgstr "" -#: square/helpers/FrmSquareLiteConnectHelper.php:58 -msgid "Your site is not using SSL. Before using Square to collect payments, you will need to install an SSL certificate on your site." +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:100 +msgid "Primary email not confirmed." +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:105 +msgid "Payments are not receivable." +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:111 +msgid "OAuth integrations are not enabled. Please finish connecting your PayPal account." +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:130 +msgid "No data was found for expected PayPal product." +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:135 +msgid "PayPal Checkout is not available." +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:147 +msgid "Your seller status is valid." +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:155 +msgid "Enabled scopes:" +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:167 +msgid "Enabled capabilities:" +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:170 +#: paypal/views/settings/button-settings.php:47 +msgid "PayPal Checkout" +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:175 +msgid "Card Processing" +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:199 +msgid "ACDC Application Vetting Status:" +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:209 +msgid "Reapply for Advanced Card Processing" +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:295 +msgid "Connected account:" +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:307 +msgid "Merchant ID:" +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:336 +msgid "Resolve this issue" +msgstr "" + +#: paypal/helpers/FrmPayPalLiteConnectHelper.php:343 +msgid "Reconnect" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:10 +msgid "PayPal Settings" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:14 +#: stripe/views/action-settings/options.php:17 +msgid "Layout" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:18 +msgid "Card and checkout buttons" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:19 +msgid "Checkout buttons only" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:20 +msgid "Card only" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:28 +msgid "Automatic" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:29 +msgid "Turn off messaging" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:30 +msgid "Always Disable" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:35 +msgid "Order Sync" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:39 +msgid "Overwrite entry data" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:40 +msgid "Create new order data fields" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:60 +msgid "Shipping Preference" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:65 +msgid "Use Address Field Data" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:67 +msgid "Use PayPal Account Data" +msgstr "" + +#: paypal/views/settings/action-settings-options.php:68 +msgid "No Shipping" +msgstr "" + +#: paypal/views/settings/button-settings.php:25 +msgid "PayPal Button Settings" +msgstr "" + +#: paypal/views/settings/button-settings.php:32 +msgid "Use Defaults" +msgstr "" + +#: paypal/views/settings/button-settings.php:33 +msgid "Gold" +msgstr "" + +#: paypal/views/settings/button-settings.php:34 +msgid "Blue" +msgstr "" + +#: paypal/views/settings/button-settings.php:35 +msgid "Silver" +msgstr "" + +#: paypal/views/settings/button-settings.php:36 +msgid "White" +msgstr "" + +#: paypal/views/settings/button-settings.php:43 +msgid "Label" msgstr "" +#: paypal/views/settings/button-settings.php:48 +msgid "Buy Now" +msgstr "" + +#: paypal/views/settings/button-settings.php:49 +msgid "Pay with PayPal" +msgstr "" + +#: paypal/views/settings/button-settings.php:55 +#: js/src/web-components/frm-border-radius-component/frm-border-radius-component.js:234 +msgid "Border Radius" +msgstr "" + +#: paypal/views/settings/connect-settings-box.php:12 #: square/helpers/FrmSquareLiteConnectHelper.php:79 #: stripe/helpers/FrmTransLiteAppHelper.php:480 msgid "Test" msgstr "" +#: paypal/views/settings/connect-settings-box.php:12 #: square/helpers/FrmSquareLiteConnectHelper.php:79 #: stripe/helpers/FrmTransLiteAppHelper.php:480 msgid "Live" msgstr "" +#: paypal/views/settings/connect-settings-box.php:18 +#: stripe/views/settings/connect.php:13 +msgid "Connected" +msgstr "" + +#: paypal/views/settings/connect-settings-box.php:20 +msgid "Not configured" +msgstr "" + +#: paypal/views/settings/connect-settings-box.php:28 #: square/helpers/FrmSquareLiteConnectHelper.php:101 msgid "Live version to process real customer transactions" msgstr "" +#: paypal/views/settings/connect-settings-box.php:30 #: square/helpers/FrmSquareLiteConnectHelper.php:103 msgid "Simulate payments and ensure everything works smoothly before going live." msgstr "" +#: paypal/views/settings/connect-settings-box.php:38 #: square/helpers/FrmSquareLiteConnectHelper.php:110 #: stripe/views/settings/connect.php:27 msgid "Disconnect" msgstr "" +#: paypal/views/settings/connect-settings-box.php:42 #: square/helpers/FrmSquareLiteConnectHelper.php:114 msgid "Connect" msgstr "" -#: stripe/controllers/FrmStrpLiteActionsController.php:127 -msgid "There was a problem communicating with Stripe. Please try again." +#: paypal/views/settings/connect-settings-container.php:10 +#: square/helpers/FrmSquareLiteConnectHelper.php:32 +#: stripe/views/settings/form.php:11 +msgid "Test Mode" msgstr "" -#: stripe/controllers/FrmStrpLiteActionsController.php:141 -msgid "There was something wrong with the payment data." +#: paypal/views/settings/connect-settings-container.php:15 +msgid "Use the PayPal test mode" msgstr "" -#. translators: %s: The amount of money that was refunded. -#: stripe/controllers/FrmStrpLiteEventsController.php:77 -msgid "Payment partially refunded %s" +#: paypal/views/settings/connect-settings-container.php:36 +msgid "Your site is not using SSL. Before using PayPal to collect payments, you will need to install an SSL certificate on your site." msgstr "" -#. translators: %s: The status of the payment. -#. translators: %s: Payment status. -#: stripe/controllers/FrmStrpLiteEventsController.php:82 -#: stripe/helpers/FrmTransLiteAppHelper.php:126 -msgid "Payment %s" +#: paypal/views/settings/connect-settings-container.php:54 +msgid "Recent PayPal Debug IDs" +msgstr "" + +#: paypal/views/settings/connect-settings-container.php:56 +msgid "These debug IDs can be provided to PayPal support when troubleshooting payment issues." +msgstr "" + +#: paypal/views/settings/connect-settings-container.php:61 +msgid "Debug ID" +msgstr "" + +#: paypal/views/settings/connect-settings-container.php:63 +msgid "Context" +msgstr "" + +#: paypal/views/settings/form.php:12 +msgid "PayPal Standard (Legacy) Settings" +msgstr "" + +#: square/controllers/FrmSquareLiteActionsController.php:119 +msgid "Square still needs to be configured." +msgstr "" + +#: square/controllers/FrmSquareLiteActionsController.php:150 +#: square/controllers/FrmSquareLiteActionsController.php:218 +msgid "Please enter a valid credit card" +msgstr "" + +#: square/controllers/FrmSquareLiteActionsController.php:275 +msgid "There was a problem creating the subscription" +msgstr "" + +#: square/controllers/FrmSquareLiteAppController.php:84 +msgid "No Square actions found for this form" +msgstr "" + +#: square/helpers/FrmSquareLiteConnectHelper.php:37 +msgid "Use the Square test mode" +msgstr "" + +#: square/helpers/FrmSquareLiteConnectHelper.php:58 +msgid "Your site is not using SSL. Before using Square to collect payments, you will need to install an SSL certificate on your site." +msgstr "" + +#: stripe/controllers/FrmStrpLiteActionsController.php:127 +msgid "Stripe still needs to be configured." +msgstr "" + +#: stripe/controllers/FrmStrpLiteActionsController.php:141 +msgid "There was something wrong with the payment data." msgstr "" #: stripe/controllers/FrmTransLiteActionsController.php:59 @@ -8430,7 +8871,7 @@ msgid "Receipt ID" msgstr "" #: stripe/controllers/FrmTransLiteListsController.php:59 -#: stripe/views/action-settings/payments-options.php:32 +#: stripe/views/action-settings/payments-options.php:69 #: stripe/views/payments/show.php:78 msgid "Amount" msgstr "" @@ -8472,7 +8913,7 @@ msgid "%d (Deleted)" msgstr "" #: stripe/controllers/FrmTransLitePaymentsController.php:161 -#: stripe/controllers/FrmTransLitePaymentsController.php:228 +#: stripe/controllers/FrmTransLitePaymentsController.php:258 #: stripe/helpers/FrmTransLiteAppHelper.php:94 msgid "Refunded" msgstr "" @@ -8489,14 +8930,16 @@ msgstr "" msgid "Oops! No payment was selected for refund." msgstr "" -#: stripe/controllers/FrmTransLitePaymentsController.php:230 -#: stripe/controllers/FrmTransLiteSubscriptionsController.php:129 -#: stripe/helpers/FrmTransLiteAppHelper.php:93 -msgid "Failed" +#: stripe/controllers/FrmTransLitePaymentsController.php:214 +msgid "Oops! That payment does not exist." +msgstr "" + +#: stripe/controllers/FrmTransLitePaymentsController.php:266 +msgid "Refund Failed" msgstr "" #: stripe/controllers/FrmTransLiteSubscriptionsController.php:74 -#: stripe/controllers/FrmTransLiteSubscriptionsController.php:127 +#: stripe/controllers/FrmTransLiteSubscriptionsController.php:157 #: stripe/helpers/FrmTransLiteAppHelper.php:95 #: stripe/helpers/FrmTransLiteAppHelper.php:107 #: stripe/helpers/FrmTransLiteAppHelper.php:108 @@ -8507,32 +8950,37 @@ msgstr "" msgid "Are you sure you want to cancel that subscription?" msgstr "" -#: stripe/controllers/FrmTransLiteSubscriptionsController.php:132 +#: stripe/controllers/FrmTransLiteSubscriptionsController.php:165 +#: stripe/helpers/FrmTransLiteAppHelper.php:93 +msgid "Failed" +msgstr "" + +#: stripe/controllers/FrmTransLiteSubscriptionsController.php:177 msgid "That subscription was not found" msgstr "" -#: stripe/controllers/FrmTransLiteSubscriptionsController.php:135 +#: stripe/controllers/FrmTransLiteSubscriptionsController.php:180 msgid "Oops! No subscription was selected for cancelation." msgstr "" #. translators: %1$s: Link HTML, %2$s: End link -#: stripe/helpers/FrmStrpLiteAppHelper.php:146 -msgid "Credit Cards will not work without %1$sconnecting Stripe%2$s or %3$sconnecting Square%4$s first." +#: stripe/helpers/FrmStrpLiteAppHelper.php:144 +msgid "Credit Cards will not work without connecting %1$sStripe%2$s, %3$sSquare%4$s, or %5$sPayPal%6$s first." msgstr "" #: stripe/helpers/FrmStrpLiteConnectApiAdapter.php:118 msgid "Unable to retrieve customer through Stripe Connect." msgstr "" -#: stripe/helpers/FrmStrpLiteConnectHelper.php:618 +#: stripe/helpers/FrmStrpLiteConnectHelper.php:614 msgid "Connection Status" msgstr "" -#: stripe/helpers/FrmStrpLiteConnectHelper.php:639 +#: stripe/helpers/FrmStrpLiteConnectHelper.php:635 msgid "TEST" msgstr "" -#: stripe/helpers/FrmStrpLiteConnectHelper.php:639 +#: stripe/helpers/FrmStrpLiteConnectHelper.php:635 msgid "LIVE" msgstr "" @@ -8545,11 +8993,6 @@ msgstr "" msgid "Authorized" msgstr "" -#: stripe/helpers/FrmTransLiteAppHelper.php:91 -#: stripe/helpers/FrmTransLiteAppHelper.php:105 -msgid "Pending" -msgstr "" - #: stripe/helpers/FrmTransLiteAppHelper.php:92 msgid "Completed" msgstr "" @@ -8563,7 +9006,7 @@ msgid "Void" msgstr "" #: stripe/helpers/FrmTransLiteAppHelper.php:231 -#: stripe/views/action-settings/payments-options.php:89 +#: stripe/views/action-settings/payments-options.php:200 msgid "day(s)" msgstr "" @@ -8666,12 +9109,12 @@ msgstr "" msgid "Collect a Payment" msgstr "" -#: stripe/models/FrmTransLiteAction.php:216 +#: stripe/models/FrmTransLiteAction.php:219 msgid "Last" msgstr "" #. translators: %s: The comma separated field types expected in the form. -#: stripe/models/FrmTransLiteAction.php:233 +#: stripe/models/FrmTransLiteAction.php:236 msgid "Oops! You need a %s field in your form." msgstr "" @@ -8687,10 +9130,6 @@ msgstr "" msgid "When entry is submitted" msgstr "" -#: stripe/views/action-settings/options.php:17 -msgid "Layout" -msgstr "" - #: stripe/views/action-settings/options.php:21 msgid "Tabs" msgstr "" @@ -8699,35 +9138,51 @@ msgstr "" msgid "Accordion" msgstr "" -#: stripe/views/action-settings/payments-options.php:42 +#: stripe/views/action-settings/payments-options.php:45 +msgid "Amount is required or payments will not work." +msgstr "" + +#: stripe/views/action-settings/payments-options.php:51 msgid "Payment Type" msgstr "" -#: stripe/views/action-settings/payments-options.php:45 +#: stripe/views/action-settings/payments-options.php:54 msgid "One-time Payment" msgstr "" -#: stripe/views/action-settings/payments-options.php:46 +#: stripe/views/action-settings/payments-options.php:55 msgid "Recurring" msgstr "" -#: stripe/views/action-settings/payments-options.php:54 +#: stripe/views/action-settings/payments-options.php:86 +msgid "Gateway(s)" +msgstr "" + +#: stripe/views/action-settings/payments-options.php:131 +msgid "Recurring Payment Settings" +msgstr "" + +#: stripe/views/action-settings/payments-options.php:144 +msgid "Product Name is required for PayPal recurring payments." +msgstr "" + +#: stripe/views/action-settings/payments-options.php:165 msgid "Repeat" msgstr "" -#: stripe/views/action-settings/payments-options.php:79 +#: stripe/views/action-settings/payments-options.php:190 msgid "Recurring Payment Limit" msgstr "" -#: stripe/views/action-settings/payments-options.php:86 +#: stripe/views/action-settings/payments-options.php:197 msgid "Trial Period" msgstr "" -#: stripe/views/action-settings/payments-options.php:101 -msgid "Gateway(s)" +#: stripe/views/action-settings/payments-options.php:228 +msgid "Billing Information" msgstr "" -#: stripe/views/action-settings/payments-options.php:141 +#: stripe/views/action-settings/payments-options.php:229 msgid "Customer Information" msgstr "" @@ -8836,10 +9291,6 @@ msgstr "" msgid "Total Paid:" msgstr "" -#: stripe/views/settings/connect.php:13 -msgid "Connected" -msgstr "" - #: stripe/views/settings/connect.php:18 msgid "Not connected!" msgstr "" @@ -9003,7 +9454,6 @@ msgstr "" #: js/admin/embed.js:345 #: js/src/form/formselect.js:23 -#: js/formidable_blocks.js:399 msgid "form" msgstr "" @@ -9078,58 +9528,43 @@ msgstr "" #: js/formidable_admin.js:1 #: js/frm_testing_mode.js:2 #: js/src/admin/addon-state.js:231 -#: js/formidable_admin.js:1743 -#: js/frm_testing_mode.js:1743 msgid "Great! Everything's ready to go!" msgstr "" #: js/formidable_admin.js:1 #: js/frm_testing_mode.js:2 #: js/src/admin/addon-state.js:233 -#: js/formidable_admin.js:1745 -#: js/frm_testing_mode.js:1745 msgid "You just need to refresh the builder so the new field becomes available." msgstr "" #: js/formidable_admin.js:1 #: js/frm_testing_mode.js:2 #: js/src/admin/addon-state.js:201 -#: js/formidable_admin.js:1713 -#: js/frm_testing_mode.js:1713 msgid "Not Now" msgstr "" #: js/formidable_admin.js:1 #: js/frm_testing_mode.js:2 #: js/src/admin/addon-state.js:175 -#: js/src/admin/admin.js:8620 -#: js/formidable_admin.js:1687 -#: js/formidable_admin.js:11482 -#: js/frm_testing_mode.js:1687 +#: js/src/admin/admin.js:8847 msgid "Save and Reload" msgstr "" #: js/formidable_admin.js:1 #: js/frm_testing_mode.js:2 -#: js/src/admin/upgrade-popup.js:66 -#: js/formidable_admin.js:1871 -#: js/frm_testing_mode.js:1871 +#: js/src/admin/upgrade-popup.js:71 msgid "This plugin is not activated. Would you like to activate it now?" msgstr "" #: js/formidable_admin.js:1 #: js/frm_testing_mode.js:2 -#: js/src/admin/upgrade-popup.js:294 -#: js/formidable_admin.js:2099 -#: js/frm_testing_mode.js:2099 +#: js/src/admin/upgrade-popup.js:299 msgid "require an update" msgstr "" #: js/formidable_admin.js:1 #: js/frm_testing_mode.js:2 -#: js/src/admin/upgrade-popup.js:305 -#: js/formidable_admin.js:2110 -#: js/frm_testing_mode.js:2110 +#: js/src/admin/upgrade-popup.js:310 msgid "Update Now" msgstr "" @@ -9142,474 +9577,383 @@ msgid "Support & Docs" msgstr "" #: js/src/addons-page/ui/showEmptyState.js:30 -#: js/addons-page.js:2109 msgid "No add-ons found" msgstr "" #: js/src/addons-page/ui/showEmptyState.js:31 -#: js/addons-page.js:2110 msgid "Sorry, we didn't find any add-ons that match your criteria." msgstr "" -#: js/src/admin/admin.js:937 -#: js/formidable_admin.js:3799 +#: js/src/admin/admin.js:1036 msgid "Field Group" msgstr "" -#: js/src/admin/admin.js:1469 -#: js/formidable_admin.js:4331 +#: js/src/admin/admin.js:1568 msgid "Set Row Layout" msgstr "" -#: js/src/admin/admin.js:1476 -#: js/formidable_admin.js:4338 +#: js/src/admin/admin.js:1575 msgid "Move Field Group" msgstr "" -#: js/src/admin/admin.js:2313 -#: js/formidable_admin.js:5175 +#: js/src/admin/admin.js:2407 msgid "This field type has reached its limit." msgstr "" #. translators: %1$d: Maximum number of fields allowed in a field group. -#: js/src/admin/admin.js:2435 -#: js/formidable_admin.js:5297 +#: js/src/admin/admin.js:2529 msgid "You can only have a maximum of %1$d fields in a field group. Delete or move out a field from the group and try again." msgstr "" -#: js/src/admin/admin.js:2771 -#: js/formidable_admin.js:5633 +#: js/src/admin/admin.js:2865 msgid "Delete Group" msgstr "" -#: js/src/admin/admin.js:2777 -#: js/formidable_admin.js:5639 +#: js/src/admin/admin.js:2871 msgid "Duplicate Group" msgstr "" #. translators: %1$s: Number of fields that are selected to be deleted. -#: js/src/admin/admin.js:4022 -#: js/formidable_admin.js:6884 +#: js/src/admin/admin.js:4116 msgid "Are you sure you want to delete these %1$s selected field(s)?" msgstr "" -#: js/src/admin/admin.js:4253 -#: js/formidable_admin.js:7115 +#: js/src/admin/admin.js:4347 msgid "Custom layout" msgstr "" -#: js/src/admin/admin.js:4276 -#: js/formidable_admin.js:7138 +#: js/src/admin/admin.js:4370 msgid "Break into rows" msgstr "" -#: js/src/admin/admin.js:4286 -#: js/formidable_admin.js:7148 +#: js/src/admin/admin.js:4380 msgid "Row Layout" msgstr "" -#: js/src/admin/admin.js:4552 -#: js/formidable_admin.js:7414 +#: js/src/admin/admin.js:4646 msgid "Enter number of columns for each field" msgstr "" -#: js/src/admin/admin.js:4556 -#: js/formidable_admin.js:7418 +#: js/src/admin/admin.js:4650 msgid "Layouts are based on a 12-column grid system" msgstr "" -#: js/src/admin/admin.js:5000 -#: js/formidable_admin.js:7862 +#: js/src/admin/admin.js:5094 msgid "Merge into row" msgstr "" #. translators: %s: The detected option value. -#: js/src/admin/admin.js:6600 -#: js/formidable_admin.js:9462 +#: js/src/admin/admin.js:6694 msgid "Duplicate option value \"%s\" detected" msgstr "" #. translators: %s: Form Setting section name (ie Form Permissions, Form Scheduling). -#: js/src/admin/admin.js:7315 -#: js/formidable_admin.js:10177 +#: js/src/admin/admin.js:7409 msgid "%s are not installed" msgstr "" -#: js/src/admin/admin.js:8601 -#: js/formidable_admin.js:11463 +#: js/src/admin/admin.js:8828 msgid "You are changing the field type. Not all field settings will appear as expected until you reload the page. Would you like to reload the page now?" msgstr "" -#: js/src/admin/admin.js:8606 -#: js/formidable_admin.js:11468 +#: js/src/admin/admin.js:8833 msgid "Save and Reload?" msgstr "" -#: js/src/admin/admin.js:9451 -#: js/formidable_admin.js:12313 +#: js/src/admin/admin.js:9678 msgid "Unable to install template" msgstr "" -#: js/src/admin/admin.js:9751 -#: js/formidable_admin.js:12613 +#: js/src/admin/admin.js:9972 msgid "Please enter a valid number." msgstr "" -#: js/src/admin/admin.js:10034 -#: js/formidable_admin.js:12896 +#: js/src/admin/admin.js:10255 msgid "Only 10 columns can be selected at a time." msgstr "" -#: js/src/admin/admin.js:10209 -#: js/formidable_admin.js:13071 +#: js/src/admin/admin.js:10430 msgid "Thank you for signing up!" msgstr "" #: js/src/admin/styles.js:29 -#: js/formidable_styles.js:2339 msgid "The class name has been copied." msgstr "" #. translators: %s is the name of the item #: js/src/common/components/itemselect.js:27 -#: js/formidable_blocks.js:91 msgid "Select a %s" msgstr "" #. translators: %s is the name of the item #: js/src/common/components/itemselect.js:50 -#: js/formidable_blocks.js:114 msgid "Currently, there are no %s" msgstr "" #: js/src/form-templates/elements/applicationTemplatesElement.js:83 -#: js/form-templates.js:2491 msgid "Ready Made Solution" msgstr "" #: js/src/form-templates/elements/applicationTemplatesElement.js:91 -#: js/form-templates.js:2499 msgid "See all applications" msgstr "" #: js/src/form-templates/events/getFreeTemplatesListener.js:96 -#: js/form-templates.js:3102 msgid "Failed to get templates, please try again later." msgstr "" #: js/src/form-templates/ui/searchState.js:38 -#: js/form-templates.js:3590 msgid "Search Result" msgstr "" #: js/src/form-templates/ui/showEmptyState.js:44 -#: js/form-templates.js:3788 msgid "No templates found" msgstr "" #: js/src/form-templates/ui/showEmptyState.js:45 -#: js/form-templates.js:3789 msgid "Sorry, we didn't find any templates that match your criteria." msgstr "" #: js/src/form-templates/ui/showEmptyState.js:49 -#: js/form-templates.js:3793 msgid "Start from Scratch" msgstr "" #: js/src/form-templates/ui/showEmptyState.js:69 -#: js/form-templates.js:3813 msgid "No favorites" msgstr "" #: js/src/form-templates/ui/showEmptyState.js:70 -#: js/form-templates.js:3814 msgid "You haven't added any templates to your favorites yet." msgstr "" #: js/src/form-templates/ui/showEmptyState.js:93 -#: js/form-templates.js:3837 msgid "You currently have no templates." msgstr "" #: js/src/form-templates/ui/showEmptyState.js:94 -#: js/form-templates.js:3838 msgid "You haven't created any form templates. Begin now to simplify your workflow and save time." msgstr "" #: js/src/form-templates/ui/showEmptyState.js:119 -#: js/form-templates.js:3863 msgid "No Templates Available" msgstr "" #. translators: %s is the number of extra templates available #: js/src/form-templates/ui/showEmptyState.js:122 -#: js/form-templates.js:3866 msgid "Upgrade to PRO for %s+ options or explore Free Templates." msgstr "" #: js/src/form/block.js:28 #: js/src/form/calculator.js:21 -#: js/formidable_blocks.js:232 -#: js/formidable_blocks.js:322 msgid "This site does not have any forms." msgstr "" #: js/src/form/block.js:73 -#: js/formidable_blocks.js:277 msgid "Display a Form" msgstr "" #: js/src/form/block.js:77 -#: js/formidable_blocks.js:281 msgid "contact forms" msgstr "" #: js/src/form/calculator.js:32 #: js/src/form/calculator.js:41 #: js/src/form/calculator.js:64 -#: js/formidable_blocks.js:333 -#: js/formidable_blocks.js:342 -#: js/formidable_blocks.js:365 msgid "Calculator Form" msgstr "" #: js/src/form/calculator.js:35 -#: js/formidable_blocks.js:336 msgid "This site does not have any calculator forms." msgstr "" #: js/src/form/calculator.js:38 -#: js/formidable_blocks.js:339 msgid "Upgrade Formidable Forms." msgstr "" #: js/src/form/calculator.js:65 -#: js/formidable_blocks.js:366 msgid "Display a Calculator Form" msgstr "" #: js/src/form/formselect.js:24 -#: js/formidable_blocks.js:400 msgid "forms" msgstr "" #: js/src/form/graph.js:25 -#: js/formidable_blocks.js:481 msgid "Formidable Chart" msgstr "" #: js/src/form/graph.js:45 -#: js/formidable_blocks.js:501 msgid "This site does not have Formidable Charts active." msgstr "" #: js/src/form/graph.js:46 -#: js/formidable_blocks.js:502 msgid "Install Formidable Charts" msgstr "" #: js/src/form/graph.js:51 -#: js/formidable_blocks.js:507 msgid "This site does not have Formidable Charts installed." msgstr "" #: js/src/form/graph.js:52 #: js/src/form/modal.js:50 #: js/src/form/views.js:69 -#: js/formidable_blocks.js:508 -#: js/formidable_blocks.js:691 -#: js/formidable_blocks.js:788 msgid "Upgrade Formidable Forms" msgstr "" #: js/src/form/graph.js:70 -#: js/formidable_blocks.js:526 msgid "Display a chart or graph" msgstr "" #: js/src/form/inspector.js:57 -#: js/formidable_blocks.js:594 msgid "Go to form" msgstr "" #: js/src/form/inspector.js:88 -#: js/formidable_blocks.js:625 msgid "Shortcode" msgstr "" #: js/src/form/modal.js:19 -#: js/formidable_blocks.js:660 msgid "Bootstrap modal popup" msgstr "" #: js/src/form/modal.js:43 -#: js/formidable_blocks.js:684 msgid "This site does not have popup modals active." msgstr "" #: js/src/form/modal.js:44 -#: js/formidable_blocks.js:685 msgid "Install Formidable Modals" msgstr "" #: js/src/form/modal.js:49 -#: js/formidable_blocks.js:690 msgid "This site does not have popup modals." msgstr "" #: js/src/form/modal.js:67 -#: js/formidable_blocks.js:708 msgid "Modal" msgstr "" #: js/src/form/modal.js:68 -#: js/formidable_blocks.js:709 msgid "Display a modal" msgstr "" #: js/src/form/views.js:40 #: js/src/form/views.js:95 -#: js/formidable_blocks.js:759 -#: js/formidable_blocks.js:814 msgid "Formidable Views" msgstr "" #: js/src/form/views.js:65 #: js/src/form/views.js:77 -#: js/formidable_blocks.js:784 -#: js/formidable_blocks.js:796 msgid "Effortlessly transform form data into webpages with Views, the only integrated form & application builder." msgstr "" #: js/src/form/views.js:96 -#: js/formidable_blocks.js:815 msgid "Display a Visual View" msgstr "" #: js/src/web-components/frm-border-radius-component/frm-border-radius-component.js:101 -#: js/formidable-web-components.js:2435 msgid "Border radius value" msgstr "" #: js/src/web-components/frm-border-radius-component/frm-border-radius-component.js:123 -#: js/formidable-web-components.js:2457 msgid "Border radius unit" msgstr "" #: js/src/web-components/frm-border-radius-component/frm-border-radius-component.js:165 -#: js/formidable-web-components.js:2499 msgid "Top border radius" msgstr "" #: js/src/web-components/frm-border-radius-component/frm-border-radius-component.js:180 -#: js/formidable-web-components.js:2514 msgid "Bottom border radius" msgstr "" #: js/src/web-components/frm-border-radius-component/frm-border-radius-component.js:195 -#: js/formidable-web-components.js:2529 msgid "Left border radius" msgstr "" #: js/src/web-components/frm-border-radius-component/frm-border-radius-component.js:211 -#: js/formidable-web-components.js:2545 msgid "Right border radius" msgstr "" -#: js/src/web-components/frm-border-radius-component/frm-border-radius-component.js:234 -#: js/formidable-web-components.js:2568 -msgid "Border Radius" -msgstr "" - #: js/src/web-components/frm-typography-component/frm-typography-component.js:35 -#: js/formidable-web-components.js:3478 msgid "Large" msgstr "" #: js/src/web-components/frm-typography-component/frm-typography-component.js:39 -#: js/formidable-web-components.js:3482 msgid "Larger" msgstr "" #: js/src/web-components/frm-typography-component/frm-typography-component.js:79 -#: js/formidable-web-components.js:3522 msgid "Font size" msgstr "" #: js/src/web-components/frm-typography-component/frm-typography-component.js:149 -#: js/formidable-web-components.js:3592 msgid "Font size value" msgstr "" #: js/src/web-components/frm-typography-component/frm-typography-component.js:176 -#: js/formidable-web-components.js:3619 msgid "Font size unit" msgstr "" #: js/src/welcome-tour/elements/beginTourModalElement.js:32 -#: js/welcome-tour.js:2003 msgid "Get Started with Formidable Forms" msgstr "" #: js/src/welcome-tour/elements/beginTourModalElement.js:35 -#: js/welcome-tour.js:2006 msgid "Here's a quick checklist to help you set up and explore the key features of the plugin, so you can start building powerful forms in no time." msgstr "" #: js/src/welcome-tour/elements/beginTourModalElement.js:42 -#: js/welcome-tour.js:2013 msgid "Begin Tour" msgstr "" -#: square/js/action.js:94 +#: square/js/action.js:134 msgid "Daily" msgstr "" -#: square/js/action.js:95 +#: square/js/action.js:135 msgid "Weekly" msgstr "" -#: square/js/action.js:96 +#: square/js/action.js:136 msgid "Every Two Weeks" msgstr "" -#: square/js/action.js:97 +#: square/js/action.js:137 msgid "Every Thirty Days" msgstr "" -#: square/js/action.js:98 +#: square/js/action.js:138 msgid "Every Sixty Days" msgstr "" -#: square/js/action.js:99 +#: square/js/action.js:139 msgid "Every Ninety Days" msgstr "" -#: square/js/action.js:100 +#: square/js/action.js:140 msgid "Monthly" msgstr "" -#: square/js/action.js:101 +#: square/js/action.js:141 msgid "Every Two Months" msgstr "" -#: square/js/action.js:102 +#: square/js/action.js:142 msgid "Quarterly" msgstr "" -#: square/js/action.js:103 +#: square/js/action.js:143 msgid "Every Four Months" msgstr "" -#: square/js/action.js:104 +#: square/js/action.js:144 msgid "Every Six Months" msgstr "" -#: square/js/action.js:105 +#: square/js/action.js:145 msgid "Annual" msgstr "" -#: square/js/action.js:106 +#: square/js/action.js:146 msgid "Every Two Years" msgstr "" From 5063085c8f3e3d8a894c20dc89bfcac599d060dd Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 27 May 2026 10:13:28 -0300 Subject: [PATCH 7/8] Add detail to changelog --- changelog.txt | 1 + readme.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/changelog.txt b/changelog.txt index 68519545f5..f909673b9e 100644 --- a/changelog.txt +++ b/changelog.txt @@ -2,6 +2,7 @@ = 6.31 = * New: Formidable now supports PayPal Commerce. This is built into the Lite plugin. To get started, go to Global Settings > Payments > PayPal to connect your business account. * New: Form action settings have been redesigned. +* New: Payment actions now use buttons to toggle the selected gateway, and gateway is the top action setting. Note that when custom gateways or Authorize.Net are active, gateways will still revert to the old settings. * New: Border styling rules have been added so autofill fields in Chrome and Safari will appear more consistent with other fields. * New: A new frm_after_import_forms action has been added for handling an imported XML after all forms have been imported. * Fix: A form would incorrectly try to submit a second time when redirecting and submitting with AJAX. diff --git a/readme.txt b/readme.txt index 2661fa569a..4a0cab75b6 100644 --- a/readme.txt +++ b/readme.txt @@ -375,6 +375,7 @@ See all [Formidable Zapier Integrations](https://zapier.com/apps/formidable/inte = 6.31 = * New: Formidable now supports PayPal Commerce. This is built into the Lite plugin. To get started, go to Global Settings > Payments > PayPal to connect your business account. * New: Form action settings have been redesigned. +* New: Payment actions now use buttons to toggle the selected gateway, and gateway is the top action setting. Note that when custom gateways or Authorize.Net are active, gateways will still revert to the old settings. * New: Border styling rules have been added so autofill fields in Chrome and Safari will appear more consistent with other fields. * New: A new frm_after_import_forms action has been added for handling an imported XML after all forms have been imported. * Fix: A form would incorrectly try to submit a second time when redirecting and submitting with AJAX. From e542be88b2a81203f13a8d6ca849deb6841c413d Mon Sep 17 00:00:00 2001 From: Mike Letellier Date: Wed, 27 May 2026 10:14:50 -0300 Subject: [PATCH 8/8] Add detail to changelog --- changelog.txt | 1 + readme.txt | 1 + 2 files changed, 2 insertions(+) diff --git a/changelog.txt b/changelog.txt index f909673b9e..ebe04d8bbd 100644 --- a/changelog.txt +++ b/changelog.txt @@ -3,6 +3,7 @@ * New: Formidable now supports PayPal Commerce. This is built into the Lite plugin. To get started, go to Global Settings > Payments > PayPal to connect your business account. * New: Form action settings have been redesigned. * New: Payment actions now use buttons to toggle the selected gateway, and gateway is the top action setting. Note that when custom gateways or Authorize.Net are active, gateways will still revert to the old settings. +* New: The Collect a Payment action icon is now hidden by default, replaced by individual icons for Stripe, Square, and PayPal Commerce. If other gateways are active, Collect a Payment is still included. * New: Border styling rules have been added so autofill fields in Chrome and Safari will appear more consistent with other fields. * New: A new frm_after_import_forms action has been added for handling an imported XML after all forms have been imported. * Fix: A form would incorrectly try to submit a second time when redirecting and submitting with AJAX. diff --git a/readme.txt b/readme.txt index 4a0cab75b6..8daf2d68fb 100644 --- a/readme.txt +++ b/readme.txt @@ -376,6 +376,7 @@ See all [Formidable Zapier Integrations](https://zapier.com/apps/formidable/inte * New: Formidable now supports PayPal Commerce. This is built into the Lite plugin. To get started, go to Global Settings > Payments > PayPal to connect your business account. * New: Form action settings have been redesigned. * New: Payment actions now use buttons to toggle the selected gateway, and gateway is the top action setting. Note that when custom gateways or Authorize.Net are active, gateways will still revert to the old settings. +* New: The Collect a Payment action icon is now hidden by default, replaced by individual icons for Stripe, Square, and PayPal Commerce. If other gateways are active, Collect a Payment is still included. * New: Border styling rules have been added so autofill fields in Chrome and Safari will appear more consistent with other fields. * New: A new frm_after_import_forms action has been added for handling an imported XML after all forms have been imported. * Fix: A form would incorrectly try to submit a second time when redirecting and submitting with AJAX.