Formidable Forms – Form Builder for WordPress - Version 4.04.04

Version Description

  • Increased WP version requirement to 4.7.
  • Added more options on Import/Export page depending on what other plugins are installed.
  • More reliably add new options in fields when also reordering.
  • Fix: When a newly added option is set as the default value, save it correctly.
  • Added an easy way to install and SMTP plugin for better email deliverability.
Download this release

Release Info

Developer sswells
Plugin Icon 128x128 Formidable Forms – Form Builder for WordPress
Version 4.04.04
Comparing to
See all releases

Code changes from version 4.04.03 to 4.04.04

classes/controllers/FrmAppController.php CHANGED
@@ -279,23 +279,6 @@ class FrmAppController {
279
  remove_action( 'frm_after_settings', 'FrmSettingsController::settings_cta' );
280
  }
281
 
282
- /**
283
- * Don't nag people to install WPForms
284
- *
285
- * @since 3.05
286
- */
287
- public static function remove_wpforms_nag( $upsell ) {
288
- if ( is_array( $upsell ) ) {
289
- foreach ( $upsell as $k => $plugin ) {
290
- if ( strpos( $plugin['slug'], 'wpforms' ) !== false ) {
291
- unset( $upsell[ $k ] );
292
- }
293
- }
294
- }
295
-
296
- return $upsell;
297
- }
298
-
299
  /**
300
  * If there are CURL problems on this server, wp_remote_post won't work for installing
301
  * Use a javascript fallback instead.
279
  remove_action( 'frm_after_settings', 'FrmSettingsController::settings_cta' );
280
  }
281
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
282
  /**
283
  * If there are CURL problems on this server, wp_remote_post won't work for installing
284
  * Use a javascript fallback instead.
classes/controllers/FrmHooksController.php CHANGED
@@ -92,7 +92,6 @@ class FrmHooksController {
92
  add_filter( 'plugin_action_links_' . FrmAppHelper::plugin_folder() . '/formidable.php', 'FrmAppController::settings_link' );
93
  add_filter( 'admin_footer_text', 'FrmAppController::set_footer_text' );
94
  add_action( 'wp_ajax_frm_dismiss_review', 'FrmAppController::dismiss_review' );
95
- add_action( 'wp_mail_smtp_core_recommendations_plugins', 'FrmAppController::remove_wpforms_nag' );
96
 
97
  // Addons Controller.
98
  add_action( 'admin_menu', 'FrmAddonsController::menu', 100 );
@@ -140,6 +139,10 @@ class FrmHooksController {
140
  add_action( 'enqueue_block_editor_assets', 'FrmSimpleBlocksController::block_editor_assets' );
141
 
142
  add_action( 'admin_init', 'FrmUsageController::schedule_send' );
 
 
 
 
143
  }
144
 
145
  public static function load_ajax_hooks() {
92
  add_filter( 'plugin_action_links_' . FrmAppHelper::plugin_folder() . '/formidable.php', 'FrmAppController::settings_link' );
93
  add_filter( 'admin_footer_text', 'FrmAppController::set_footer_text' );
94
  add_action( 'wp_ajax_frm_dismiss_review', 'FrmAppController::dismiss_review' );
 
95
 
96
  // Addons Controller.
97
  add_action( 'admin_menu', 'FrmAddonsController::menu', 100 );
139
  add_action( 'enqueue_block_editor_assets', 'FrmSimpleBlocksController::block_editor_assets' );
140
 
141
  add_action( 'admin_init', 'FrmUsageController::schedule_send' );
142
+
143
+ add_action( 'wp_ajax_frm_dismiss_migrator', 'FrmFormMigratorsHelper::dismiss_migrator' );
144
+
145
+ FrmSMTPController::load_hooks();
146
  }
147
 
148
  public static function load_ajax_hooks() {
classes/controllers/FrmSMTPController.php ADDED
@@ -0,0 +1,536 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * SMTP Sub-page.
5
+ *
6
+ * @since 4.04.04
7
+ */
8
+ class FrmSMTPController {
9
+
10
+ /**
11
+ * Admin menu page slug.
12
+ *
13
+ * @since 4.04.04
14
+ *
15
+ * @var string
16
+ */
17
+ private $slug = 'formidable-smtp';
18
+
19
+ /**
20
+ * @since 4.04.04
21
+ *
22
+ * @var array
23
+ */
24
+ private $config = array(
25
+ 'lite_plugin' => 'wp-mail-smtp/wp_mail_smtp.php',
26
+ 'lite_download_url' => 'https://downloads.wordpress.org/plugin/wp-mail-smtp.zip',
27
+ 'pro_plugin' => 'wp-mail-smtp-pro/wp_mail_smtp.php',
28
+ 'smtp_settings' => 'admin.php?page=wp-mail-smtp',
29
+ );
30
+
31
+ /**
32
+ * Runtime data used for generating page HTML.
33
+ *
34
+ * @since 4.04.04
35
+ *
36
+ * @var array
37
+ */
38
+ private $output_data = array();
39
+
40
+ /**
41
+ * Hooks.
42
+ *
43
+ * @since 4.04.04
44
+ */
45
+ public static function load_hooks() {
46
+
47
+ add_filter( 'wp_mail_smtp_is_white_labeled', '__return_true' );
48
+
49
+ $self = new self();
50
+ if ( wp_doing_ajax() ) {
51
+ add_action( 'wp_ajax_frm_smtp_page_check_plugin_status', array( $self, 'ajax_check_plugin_status' ) );
52
+ }
53
+
54
+ add_filter( 'wp_mail_smtp_core_get_upgrade_link', array( $self, 'link' ) );
55
+ add_action( 'admin_menu', array( $self, 'menu' ), 999 );
56
+ add_action( 'wp_mail_smtp_core_recommendations_plugins', 'FrmAppController::remove_wpforms_nag' );
57
+
58
+ // Only load if we are actually on the SMTP page.
59
+ if ( ! FrmAppHelper::is_admin_page( $self->slug ) ) {
60
+ return;
61
+ }
62
+
63
+ add_action( 'admin_init', array( $self, 'redirect_to_smtp_settings' ) );
64
+
65
+ // Hook for addons.
66
+ do_action( 'frm_admin_pages_smtp_hooks' );
67
+ }
68
+
69
+ /**
70
+ * Customize the upgrade link.
71
+ */
72
+ public function link( $link ) {
73
+ $new_link = 'formidableforms.com/go-wp-mail-smtp/?urllink=wpmailsmtp%2Ecom%2Flite%2Dupgrade&';
74
+ $link = str_replace( 'wpmailsmtp.com/lite-upgrade/?', $new_link, $link );
75
+ return $link;
76
+ }
77
+
78
+ /**
79
+ * Don't nag people to install WPForms
80
+ *
81
+ * @since 4.04.04
82
+ */
83
+ public static function remove_wpforms_nag( $upsell ) {
84
+ if ( is_array( $upsell ) ) {
85
+ foreach ( $upsell as $k => $plugin ) {
86
+ if ( strpos( $plugin['slug'], 'wpforms' ) !== false ) {
87
+ unset( $upsell[ $k ] );
88
+ }
89
+ }
90
+ }
91
+
92
+ return $upsell;
93
+ }
94
+
95
+ /**
96
+ * SMTP submenu page.
97
+ */
98
+ public function menu() {
99
+ add_submenu_page( 'formidable', __( 'SMTP', 'formidable' ) . ' | Formidable', __( 'SMTP', 'formidable' ), 'activate_plugins', $this->slug, array( $this, 'output' ) );
100
+ }
101
+
102
+ /**
103
+ * Generate and output page HTML.
104
+ *
105
+ * @since 4.04.04
106
+ */
107
+ public function output() {
108
+ FrmAppHelper::include_svg();
109
+ $this->css();
110
+
111
+ echo '<div id="frm-admin-smtp" class="wrap frm-wrap frm-admin-plugin-landing">';
112
+
113
+ $this->output_section_heading();
114
+ $this->output_section_screenshot();
115
+ $this->output_section_step_install();
116
+ $this->output_section_step_setup();
117
+
118
+ echo '</div>';
119
+ }
120
+
121
+ /**
122
+ * Generate and output heading section HTML.
123
+ *
124
+ * @since 4.04.04
125
+ */
126
+ protected function output_section_heading() {
127
+ $size = array(
128
+ 'height' => 90,
129
+ 'width' => 90,
130
+ );
131
+
132
+ // Heading section.
133
+ ?>
134
+ <section class="top">
135
+ <div class="frm-smtp-logos">
136
+ <?php
137
+ FrmAppHelper::show_logo( $size );
138
+ FrmAppHelper::icon_by_class(
139
+ 'frmfont frm_heart_solid_icon',
140
+ array(
141
+ 'aria-label' => 'Loves',
142
+ 'style' => 'width:30px;height:30px;margin:0 35px;',
143
+ 'color' => '#d11c25',
144
+ )
145
+ );
146
+ $this->stmp_logo();
147
+ ?>
148
+ </div>
149
+ <h1><?php esc_html_e( 'Making Email Deliverability Easy for WordPress', 'formidable' ); ?></h1>
150
+ <p><?php esc_html_e( 'WP Mail SMTP allows you to easily set up WordPress to use a trusted provider to reliably send emails, including form notifications.', 'formidable' ); ?></p>
151
+ </section>
152
+ <?php
153
+ }
154
+
155
+ /**
156
+ * Generate and output screenshot section HTML.
157
+ *
158
+ * @since 4.04.04
159
+ */
160
+ protected function output_section_screenshot() {
161
+
162
+ printf(
163
+ '<section class="screenshot">
164
+ <div class="cont">
165
+ <img src="%1$s" alt="%2$s"/>
166
+ </div>
167
+ <ul>
168
+ <li>%3$s %4$s</li>
169
+ <li>%3$s %5$s</li>
170
+ <li>%3$s %6$s</li>
171
+ <li>%3$s %7$s</li>
172
+ </ul>
173
+ </section>',
174
+ esc_url( FrmAppHelper::plugin_url() . '/images/smtp-screenshot-tnail.png' ),
175
+ esc_attr__( 'WP Mail SMTP screenshot', 'formidable' ),
176
+ '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 492 492" width="14" height="14"><path d="M484 227L306 49a27 27 0 00-38 0l-16 16a27 27 0 000 38l104 105H27c-15 0-27 11-27 26v23c0 15 12 27 27 27h330L252 389a27 27 0 000 38l16 16a27 27 0 0038 0l178-178a27 27 0 000-38z" fill="#5bbfa5"/></svg> &nbsp;',
177
+ esc_html__( 'Over 1,000,000 websites use WP Mail SMTP.', 'formidable' ),
178
+ esc_html__( 'Send emails authenticated via trusted parties.', 'formidable' ),
179
+ esc_html__( 'Transactional Mailers: Pepipost, SendinBlue, Mailgun, SendGrid, Amazon SES.', 'formidable' ),
180
+ esc_html__( 'Web Mailers: Gmail, G Suite, Office 365, Outlook.com.', 'formidable' )
181
+ );
182
+ }
183
+
184
+ /**
185
+ * Generate and output step 'Install' section HTML.
186
+ *
187
+ * @since 4.04.04
188
+ */
189
+ protected function output_section_step_install() {
190
+
191
+ $step = $this->get_data_step_install();
192
+
193
+ if ( empty( $step ) ) {
194
+ return;
195
+ }
196
+
197
+ $icon = FrmAppHelper::icon_by_class(
198
+ 'frmfont ' . $step['icon'],
199
+ array(
200
+ 'aria-label' => __( 'Step 1', 'formidable' ),
201
+ 'echo' => false,
202
+ 'style' => 'width:50px;height:50px;',
203
+ )
204
+ );
205
+
206
+ /* translators: %s: Name of the plugin */
207
+ $label = sprintf( __( 'Install and Activate %s', 'formidable' ), 'WP Mail SMTP' );
208
+
209
+ printf(
210
+ '<section class="step step-install">
211
+ <aside class="num">
212
+ %1$s
213
+ <i class="loader hidden"></i>
214
+ </aside>
215
+ <div>
216
+ <h2>%2$s</h2>
217
+ <p>%3$s</p>
218
+ <span><a rel="%4$s" class="button button-primary frm-button-primary %5$s" aria-label="%6$s">%7$s</a></span>
219
+ </div>
220
+ </section>',
221
+ FrmAppHelper::kses( $icon, array( 'a', 'i', 'span', 'use', 'svg' ) ), // WPCS: XSS ok.
222
+ esc_html( $label ),
223
+ esc_html__( 'Install WP Mail SMTP from the WordPress.org plugin repository.', 'formidable' ),
224
+ esc_attr( $step['plugin'] ),
225
+ esc_attr( $step['button_class'] ),
226
+ esc_attr( $step['button_action'] ),
227
+ esc_html( $step['button_text'] )
228
+ ); // WPCS: XSS ok.
229
+ }
230
+
231
+ /**
232
+ * Generate and output step 'Setup' section HTML.
233
+ *
234
+ * @since 4.04.04
235
+ */
236
+ protected function output_section_step_setup() {
237
+
238
+ $step = $this->get_data_step_setup();
239
+
240
+ if ( empty( $step ) ) {
241
+ return;
242
+ }
243
+
244
+ $icon = FrmAppHelper::icon_by_class(
245
+ 'frmfont ' . $step['icon'],
246
+ array(
247
+ 'aria-label' => __( 'Step 2', 'formidable' ),
248
+ 'echo' => false,
249
+ 'style' => 'width:50px;height:50px;',
250
+ )
251
+ );
252
+
253
+ printf(
254
+ '<section class="step step-setup %1$s">
255
+ <aside class="num">
256
+ %2$s
257
+ <i class="loader hidden"></i>
258
+ </aside>
259
+ <div>
260
+ <h2>%3$s</h2>
261
+ <p>%4$s</p>
262
+ <span><a href="%5$s" class="button button-primary frm-button-primary %6$s">%7$s</a></span>
263
+ </div>
264
+ </section>',
265
+ esc_attr( $step['section_class'] ),
266
+ FrmAppHelper::kses( $icon, array( 'a', 'i', 'span', 'use', 'svg' ) ), // WPCS: XSS ok.
267
+ esc_html__( 'Set Up WP Mail SMTP', 'formidable' ),
268
+ esc_html__( 'Select and configure your mailer.', 'formidable' ),
269
+ esc_url( admin_url( $this->config['smtp_settings'] ) ),
270
+ esc_attr( $step['button_class'] ),
271
+ esc_html( $step['button_text'] )
272
+ ); // WPCS: XSS ok.
273
+ }
274
+
275
+ /**
276
+ * Step 'Install' data.
277
+ *
278
+ * @since 4.04.04
279
+ *
280
+ * @return array Step data.
281
+ */
282
+ protected function get_data_step_install() {
283
+
284
+ $lite_plugin = new FrmInstallPlugin( array( 'plugin_file' => $this->config['lite_plugin'] ) );
285
+ $pro_plugin = new FrmInstallPlugin( array( 'plugin_file' => $this->config['pro_plugin'] ) );
286
+
287
+ $this->output_data['plugin_installed'] = $lite_plugin->is_installed();
288
+ $this->output_data['pro_plugin_installed'] = $pro_plugin->is_installed();
289
+ $this->output_data['plugin_activated'] = false;
290
+ $this->output_data['plugin_setup'] = false;
291
+
292
+ $step = array(
293
+ 'icon' => 'frm_step1_icon',
294
+ 'button_action' => '',
295
+ );
296
+
297
+ $is_installed = $this->output_data['plugin_installed'] || $this->output_data['pro_plugin_installed'];
298
+ if ( ! $is_installed ) {
299
+ // Return the download url.
300
+ $step['button_text'] = __( 'Install WP Mail SMTP', 'formidable' );
301
+ $step['button_class'] = 'frm-install-addon';
302
+ $step['button_action'] = __( 'Install', 'formidable' );
303
+ $step['plugin'] = $this->config['lite_download_url'];
304
+ return $step;
305
+ }
306
+
307
+ $this->output_data['plugin_activated'] = $this->is_smtp_activated();
308
+ $this->output_data['plugin_setup'] = $this->is_smtp_configured();
309
+
310
+ $step['plugin'] = $this->output_data['pro_plugin_installed'] ? $this->config['pro_plugin'] : $this->config['lite_plugin'];
311
+
312
+ if ( $this->output_data['plugin_activated'] ) {
313
+ $step['icon'] = 'frm_step_complete_icon';
314
+ $step['button_text'] = __( 'WP Mail SMTP Installed & Activated', 'formidable' );
315
+ $step['button_class'] = 'grey disabled';
316
+ } else {
317
+ $step['button_text'] = __( 'Activate WP Mail SMTP', 'formidable' );
318
+ $step['button_class'] = 'frm-activate-addon';
319
+ $step['button_action'] = __( 'Activate', 'formidable' );
320
+ }
321
+
322
+ return $step;
323
+ }
324
+
325
+ /**
326
+ * Step 'Setup' data.
327
+ *
328
+ * @since 4.04.04
329
+ *
330
+ * @return array Step data.
331
+ */
332
+ protected function get_data_step_setup() {
333
+
334
+ $step = array();
335
+
336
+ $step['icon'] = 'frm_step2_icon';
337
+ $step['section_class'] = $this->output_data['plugin_activated'] ? '' : 'grey';
338
+ $step['button_text'] = esc_html__( 'Start Setup', 'formidable' );
339
+ $step['button_class'] = 'grey disabled';
340
+
341
+ if ( $this->output_data['plugin_setup'] ) {
342
+ $step['icon'] = 'frm_step_complete_icon';
343
+ $step['section_class'] = '';
344
+ $step['button_text'] = esc_html__( 'Go to SMTP settings', 'formidable' );
345
+ } elseif ( $this->output_data['plugin_activated'] ) {
346
+ $step['button_class'] = '';
347
+ }
348
+
349
+ return $step;
350
+ }
351
+
352
+ /**
353
+ * Whether WP Mail SMTP plugin configured or not.
354
+ *
355
+ * @since 4.04.04
356
+ *
357
+ * @return bool True if some mailer is selected and configured properly.
358
+ */
359
+ protected function is_smtp_configured() {
360
+
361
+ if ( ! $this->is_smtp_activated() ) {
362
+ return false;
363
+ }
364
+
365
+ $phpmailer = $this->get_phpmailer();
366
+
367
+ $mailer = WPMailSMTP\Options::init()->get( 'mail', 'mailer' );
368
+ $is_mailer_complete = wp_mail_smtp()->get_providers()->get_mailer( $mailer, $phpmailer )->is_mailer_complete();
369
+
370
+ return 'mail' !== $mailer && $is_mailer_complete;
371
+ }
372
+
373
+ /**
374
+ * Whether WP Mail SMTP plugin active or not.
375
+ *
376
+ * @since 4.04.04
377
+ *
378
+ * @return bool True if SMTP plugin is active.
379
+ */
380
+ protected function is_smtp_activated() {
381
+ return function_exists( 'wp_mail_smtp' ) && ( is_plugin_active( $this->config['lite_plugin'] ) || is_plugin_active( $this->config['pro_plugin'] ) );
382
+ }
383
+
384
+
385
+ /**
386
+ * Get $phpmailer instance.
387
+ *
388
+ * @since 4.04.04
389
+ *
390
+ * @return PHPMailer Instance of PHPMailer.
391
+ */
392
+ protected function get_phpmailer() {
393
+ global $phpmailer;
394
+
395
+ if ( ! is_object( $phpmailer ) || ! is_a( $phpmailer, 'PHPMailer' ) ) {
396
+ require_once ABSPATH . WPINC . '/class-phpmailer.php';
397
+ $phpmailer = new PHPMailer( true ); // phpcs:ignore
398
+ }
399
+
400
+ return $phpmailer;
401
+ }
402
+
403
+ /**
404
+ * Redirect to SMTP settings page if it is activated..
405
+ *
406
+ * @since 4.04.04
407
+ */
408
+ public function redirect_to_smtp_settings() {
409
+ if ( $this->is_smtp_configured() ) {
410
+ wp_safe_redirect( admin_url( $this->config['smtp_settings'] ) );
411
+ exit;
412
+ }
413
+ }
414
+
415
+ private function stmp_logo() {
416
+ ?>
417
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 60 60" height="90" width="90"><defs><style>.cls-11,.cls-12{fill-rule:evenodd}.cls-4{fill:none}.cls-11{fill:#86a196}.cls-12{fill:#fff}</style></defs><path class="cls-4" d="M-6.3 0h60v60h-60z"/><path d="M16.7 8.1a15.4 15.4 0 00-8 10.2 23.5 23.5 0 1030 0 15.4 15.4 0 00-9.3-10.8 3.4 3.4 0 00-2.1-2.7A4.6 4.6 0 0018.4 3a24.4 24.4 0 00-1.7 5z" fill="#395360" fill-rule="evenodd"/><path fill="#fbaa6f" d="M18 26h12v14H18z"/><path d="M25.9 33.2l-.1-.1a1.4 1.4 0 111.6-2.3 1.9 1.9 0 00-1.2.8 1.9 1.9 0 00-.3 1.6zm-4.5 0a1.8 1.8 0 00-.4-1.6 2 2 0 00-1.2-.8 1.4 1.4 0 011.6 2.3zm7.2-3.2h.5l-1 4.8-2.2 6.5h-4.3l-3.2-5.4 1.1-3.2 2.1 2.7c.6.5 2.7.5 3.8-.6a26.2 26.2 0 003.2-4.8z" fill="#dc7f3c" fill-rule="evenodd"/><path d="M9.7 29H15v-9h-4a13 13 0 017.4-10q1.2-5 2.8-6.8l.1-.1.1-.1a2.3 2.3 0 011.1-.5 2.3 2.3 0 012.2 3.8 1.6 1.6 0 01-.4.3A15 15 0 0023 8a5 5 0 013-1.5 1.4 1.4 0 01.7.2 1.3 1.3 0 01.5 1.8 1.3 1.3 0 01-.6.6 13 13 0 0110.1 11l.1.8H33v8h4.8l1.8 13.4q-6.3 4-15.8 4T8 42.4zM25 38.4q3.8-6.4 3.8-7.6c0-2.2-3.2-4-4.8-4s-4.9 1.7-4.9 4q0 1.2 3.8 7.6a1.2 1.2 0 001 .6 1 1 0 001-.6z" fill="#bdcfc8" fill-rule="evenodd"/><path class="cls-4" d="M19 31h9.6L27 47.2h-6.4l-1.6-16z"/><path d="M39.8 48.8a20 20 0 01-32 0l.8-6a2.7 2.7 0 001 .1 2.8 2.8 0 002.8-2.4v1.2a2.8 2.8 0 005.6 0v1.6a2.9 2.9 0 005.7 0 2.8 2.8 0 005.7 0v-1.6a2.8 2.8 0 105.7 0v-1.2A2.8 2.8 0 0038 43a2.9 2.9 0 001-.2l.8 6z" fill="#809eb0" fill-rule="evenodd"/><path d="M8.3 44.6l.3-1.8a2.7 2.7 0 001 .2 2.8 2.8 0 002.8-2.5v1.2a2.8 2.8 0 005.7 0v1.7a2.9 2.9 0 005.6 0 2.8 2.8 0 005.7 0v-1.7a2.8 2.8 0 105.7 0v-1.2A2.8 2.8 0 0038 43a2.9 2.9 0 001-.2l.3 2a2.9 2.9 0 01-4.1-2.2v1.2a2.8 2.8 0 11-5.7 0v1.6a2.8 2.8 0 01-5.7 0 2.9 2.9 0 01-5.7 0v-1.7a2.8 2.8 0 01-5.7 0v-1.2A2.8 2.8 0 019.6 45a2.9 2.9 0 01-1.3-.3z" fill="#738e9e" fill-rule="evenodd"/><path class="cls-11" d="M37.8 22.4c-1-2.9-3-4.7-4.7-4.5-2.2.2-2.8 3.7-2.3 8s1.7 7.5 3.9 7.3 4-3.9 3.6-8c0 1.2-.5 2.3-1.3 2.4-1.2 0-1.5-1.2-1.6-2.9s-.2-3 1-3a1.5 1.5 0 011.4.7z"/><path class="cls-12" d="M37 21.8c-.6-1.3-1.5-2-2.4-1.9-1.5.1-1.9 2.6-1.6 5.5s1.2 5.1 2.7 5c1.1-.2 2-1.5 2.2-3.4a1.2 1.2 0 01-1 .6c-1 0-1.4-1.2-1.5-2.9s-.1-3 1-3a1.6 1.6 0 01.6 0z"/><path class="cls-11" d="M9.6 22.4c1-2.9 3-4.7 4.7-4.5 2.2.2 2.8 3.7 2.3 8s-1.7 7.5-3.9 7.3-4-3.9-3.7-8c.1 1.2.5 2.3 1.4 2.4 1.1 0 1.5-1.2 1.6-2.9s.1-3-1-3a1.5 1.5 0 00-1.4.7z"/><path class="cls-12" d="M10.4 21.8c.6-1.3 1.5-2 2.4-1.9 1.5.1 1.8 2.6 1.5 5.5s-1.1 5.1-2.6 5c-1.1-.2-2-1.5-2.2-3.4a1.2 1.2 0 00.9.6c1.1 0 1.4-1.2 1.6-2.9s.1-3-1-3a1.7 1.7 0 00-.7 0z"/><path d="M19 28.6a5.3 5.3 0 010-.7c0-2.4 1.2-5.2 4.9-5.2s4.8 2.8 4.8 5.2a4.4 4.4 0 010 1c-.9-1.3-2.4-2.1-4.9-2.1-2.4 0-3.9.7-4.8 1.8z" fill="#f4f8ff" fill-rule="evenodd"/><path class="cls-11" d="M26.5 9.2L23.3 9l4-1.2a1.4 1.4 0 01-.8 1.4zm-3.5-1l-1.3 1a16.8 16.8 0 002-3.8 6.6 6.6 0 00.3-2.7A2.4 2.4 0 0125.2 5a2.4 2.4 0 01-.7 1.5A15 15 0 0023 8.1z"/></svg>
418
+ <?php
419
+ }
420
+
421
+ private function css() {
422
+ ?>
423
+ <style>
424
+ #frm-admin-smtp *, #frm-admin-smtp *::before, #frm-admin-smtpp *::after {
425
+ -webkit-box-sizing: border-box;
426
+ -moz-box-sizing: border-box;
427
+ box-sizing: border-box;
428
+ }
429
+ #frm-admin-smtp{
430
+ width: 700px;
431
+ margin: 0 auto;
432
+ }
433
+ #frm-admin-smtp p {
434
+ font-size: 15px;
435
+ }
436
+ #frm-admin-smtp section{
437
+ margin: 50px 0;
438
+ text-align: left;
439
+ clear: both;
440
+ }
441
+ #frm-admin-smtp .top{
442
+ text-align: center;
443
+ }
444
+ .frm-smtp-logos {
445
+ margin-bottom: 38px;
446
+ }
447
+ .frm-smtp-logos svg {
448
+ vertical-align: middle;
449
+ }
450
+ #frm-admin-smtp .top h1 {
451
+ font-size: 26px;
452
+ font-weight: 600;
453
+ margin-bottom: 0;
454
+ padding: 0;
455
+ }
456
+ #frm-admin-smtp .top p {
457
+ font-size: 17px;
458
+ color: #777;
459
+ margin-top: .5em;
460
+ }
461
+ #frm-admin-smtp .screenshot ul {
462
+ display: inline-block;
463
+ margin: 0 0 0 30px;
464
+ list-style-type: none;
465
+ max-width: calc(100% - 350px);
466
+ }
467
+ #frm-admin-smtp .screenshot li {
468
+ margin: 16px 0;
469
+ padding: 0;
470
+ font-size: 15px;
471
+ color: #777;
472
+ }
473
+ #frm-admin-smtp .screenshot .cont img {
474
+ max-width: 100%;
475
+ display: block;
476
+ }
477
+ #frm-admin-smtp .screenshot .cont {
478
+ display: inline-block;
479
+ position: relative;
480
+ width: 315px;
481
+ padding: 5px;
482
+ background-color: #fff;
483
+ border-radius: 3px;
484
+ }
485
+ #frm-admin-smtp .step,
486
+ #frm-admin-smtp .screenshot .cont {
487
+ -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.05);
488
+ -moz-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.05);
489
+ box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.05);
490
+ }
491
+ #frm-admin-smtp .step {
492
+ background-color: #F9F9F9;
493
+ border: 1px solid #E5E5E5;
494
+ margin: 0 0 25px;
495
+ }
496
+ #frm-admin-smtp .screenshot > *,
497
+ #frm-admin-smtp .step > * {
498
+ vertical-align: middle;
499
+ }
500
+ #frm-admin-smtp .step p {
501
+ font-size: 16px;
502
+ color: #777777;
503
+ }
504
+ #frm-admin-smtp .step .num {
505
+ display: inline-block;
506
+ position: relative;
507
+ width: 100px;
508
+ height: 50px;
509
+ text-align: center;
510
+ }
511
+ #frm-admin-smtp .step div {
512
+ display: inline-block;
513
+ width: calc(100% - 104px);
514
+ background-color: #fff;
515
+ padding: 30px;
516
+ border-left: 1px solid #eee;
517
+ }
518
+ #frm-admin-smtp .grey {
519
+ opacity: 0.5;
520
+ background: #F6F6F6 !important;
521
+ border-color: #ddd !important;
522
+ color: #9FA5AA !important;
523
+ }
524
+ #frm-admin-smtp .step h2 {
525
+ font-size: 24px;
526
+ line-height: 22px;
527
+ margin-top: 0;
528
+ margin-bottom: 15px;
529
+ }
530
+ #frm-admin-smtp .button.disabled {
531
+ cursor: default;
532
+ }
533
+ </style>
534
+ <?php
535
+ }
536
+ }
classes/controllers/FrmXMLController.php CHANGED
@@ -3,7 +3,8 @@
3
  class FrmXMLController {
4
 
5
  public static function menu() {
6
- add_submenu_page( 'formidable', 'Formidable | ' . __( 'Import/Export', 'formidable' ), __( 'Import/Export', 'formidable' ), 'frm_edit_forms', 'formidable-import', 'FrmXMLController::route' );
 
7
  }
8
 
9
  public static function add_default_templates() {
3
  class FrmXMLController {
4
 
5
  public static function menu() {
6
+ $notification_count = FrmFormMigratorsHelper::notification_count();
7
+ add_submenu_page( 'formidable', 'Formidable | ' . __( 'Import/Export', 'formidable' ), __( 'Import/Export', 'formidable' ) . $notification_count, 'frm_edit_forms', 'formidable-import', 'FrmXMLController::route' );
8
  }
9
 
10
  public static function add_default_templates() {
classes/helpers/FrmAppHelper.php CHANGED
@@ -11,7 +11,7 @@ class FrmAppHelper {
11
  /**
12
  * @since 2.0
13
  */
14
- public static $plug_version = '4.04.03';
15
 
16
  /**
17
  * @since 1.07.02
@@ -289,28 +289,13 @@ class FrmAppHelper {
289
  * @return boolean
290
  */
291
  public static function doing_ajax() {
292
- return self::wp_doing_ajax() && ! self::is_preview_page();
293
  }
294
 
295
  public static function js_suffix() {
296
  return defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
297
  }
298
 
299
- /**
300
- * Use the WP 4.7 wp_doing_ajax function
301
- *
302
- * @since 2.05.07
303
- */
304
- public static function wp_doing_ajax() {
305
- if ( function_exists( 'wp_doing_ajax' ) ) {
306
- $doing_ajax = wp_doing_ajax();
307
- } else {
308
- $doing_ajax = defined( 'DOING_AJAX' ) && DOING_AJAX;
309
- }
310
-
311
- return $doing_ajax;
312
- }
313
-
314
  /**
315
  * @since 2.0.8
316
  */
@@ -330,7 +315,7 @@ class FrmAppHelper {
330
  * @return boolean
331
  */
332
  public static function is_admin() {
333
- return is_admin() && ! self::wp_doing_ajax();
334
  }
335
 
336
  /**
@@ -2452,6 +2437,17 @@ class FrmAppHelper {
2452
  return $locales;
2453
  }
2454
 
 
 
 
 
 
 
 
 
 
 
 
2455
  /**
2456
  * @deprecated 4.0
2457
  */
11
  /**
12
  * @since 2.0
13
  */
14
+ public static $plug_version = '4.04.04';
15
 
16
  /**
17
  * @since 1.07.02
289
  * @return boolean
290
  */
291
  public static function doing_ajax() {
292
+ return wp_doing_ajax() && ! self::is_preview_page();
293
  }
294
 
295
  public static function js_suffix() {
296
  return defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min';
297
  }
298
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
299
  /**
300
  * @since 2.0.8
301
  */
315
  * @return boolean
316
  */
317
  public static function is_admin() {
318
+ return is_admin() && ! wp_doing_ajax();
319
  }
320
 
321
  /**
2437
  return $locales;
2438
  }
2439
 
2440
+ /**
2441
+ * Use the WP 4.7 wp_doing_ajax function
2442
+ *
2443
+ * @since 2.05.07
2444
+ * @deprecated 4.04.04
2445
+ */
2446
+ public static function wp_doing_ajax() {
2447
+ _deprecated_function( __METHOD__, '4.04.04', 'wp_doing_ajax' );
2448
+ return wp_doing_ajax();
2449
+ }
2450
+
2451
  /**
2452
  * @deprecated 4.0
2453
  */
classes/helpers/FrmFormMigratorsHelper.php ADDED
@@ -0,0 +1,156 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ die( 'You are not allowed to call this page directly.' );
4
+ }
5
+
6
+ class FrmFormMigratorsHelper {
7
+
8
+ public static function notification_count() {
9
+ $forms = self::import_links();
10
+ if ( empty( $forms ) ) {
11
+ return '';
12
+ }
13
+
14
+ $count = count( $forms );
15
+ $dismissed = get_option( 'frm_dismissed' );
16
+ if ( ! empty( $dismissed ) ) {
17
+ foreach ( $forms as $form ) {
18
+ if ( self::is_dismissed( $form, $dismissed ) ) {
19
+ $count --;
20
+ }
21
+ }
22
+ }
23
+
24
+ if ( $count < 1 ) {
25
+ return '';
26
+ }
27
+
28
+ return ' <span class="update-plugins"><span class="plugin-count">' . absint( $count ) . '</span></span>';
29
+ }
30
+
31
+ private static function is_dismissed( $form, $dismissed = null ) {
32
+ if ( $dismissed === null ) {
33
+ $dismissed = get_option( 'frm_dismissed' );
34
+ }
35
+
36
+ if ( ! empty( $dismissed ) && in_array( $form['class'], $dismissed ) ) {
37
+ return true;
38
+ }
39
+
40
+ return false;
41
+ }
42
+
43
+ public static function maybe_show_download_link() {
44
+ $forms = self::import_links();
45
+ foreach ( $forms as $form ) {
46
+ if ( ! self::is_dismissed( $form ) ) {
47
+ self::install_banner( $form );
48
+ } else {
49
+ echo '<span>';
50
+ self::install_button( $form, 'auto' );
51
+ echo '</span>';
52
+ }
53
+ }
54
+ }
55
+
56
+ private static function import_links() {
57
+ if ( ! current_user_can( 'activate_plugins' ) ) {
58
+ return array();
59
+ }
60
+
61
+ $forms = array();
62
+ foreach ( self::importable_forms() as $form ) {
63
+ if ( class_exists( $form['class'] ) || ! is_plugin_active( $form['plugin'] ) ) {
64
+ // Either the importer is installed or the source plugin isn't.
65
+ continue;
66
+ }
67
+
68
+ $installer = new FrmInstallPlugin( array( 'plugin_file' => $form['importer'] ) );
69
+ $form['installed'] = $installer->is_installed();
70
+ $form['link'] = $installer->get_activate_link();
71
+
72
+ $forms[] = $form;
73
+ }
74
+ return $forms;
75
+ }
76
+
77
+ private static function importable_forms() {
78
+ return array(
79
+ /*'gf' => array(
80
+ 'class' => 'FrmGravityImporter',
81
+ 'plugin' => 'gravityforms/gravityforms.php',
82
+ 'importer' => 'formidable-gravity-forms-importer/formidable-gravity-forms-importer.php',
83
+ 'name' => 'Gravity Forms',
84
+ 'package' => 'https://downloads.wordpress.org/plugin/formidable-gravity-forms-importer.zip',
85
+ ),*/
86
+ 'pf' => array(
87
+ 'class' => 'FrmPirateImporter',
88
+ 'plugin' => 'pirate-forms/pirate-forms.php',
89
+ 'importer' => 'formidable-import-pirate-forms/pf-to-frm.php',
90
+ 'name' => 'Pirate Forms',
91
+ 'package' => 'https://downloads.wordpress.org/plugin/formidable-import-pirate-forms.zip',
92
+ ),
93
+ );
94
+ }
95
+
96
+ private static function install_banner( $install ) {
97
+ if ( empty( $install['link'] ) ) {
98
+ return '';
99
+ }
100
+
101
+ ?>
102
+ <div class="frm-feature-banner">
103
+ <a href="#" class="dismiss alignright" id="<?php echo esc_attr( $install['class'] ); ?>" title="<?php esc_attr_e( 'Dismiss this message', 'formidable' ); ?>">
104
+ <?php FrmAppHelper::icon_by_class( 'frmfont frm_close_icon', array( 'aria-label' => 'Dismiss' ) ); ?>
105
+ </a>
106
+ <div class="frm-big-icon">
107
+ <?php FrmAppHelper::icon_by_class( 'frmfont frm_cloud_upload_solid_icon', array( 'aria-label' => 'Import' ) ); ?>
108
+ </div>
109
+ <p>Did you know you can import your forms created in <?php echo esc_html( $install['name'] ); ?>?</p>
110
+ <?php self::install_button( $install ); ?>
111
+ </div>
112
+ <?php
113
+ }
114
+
115
+ private static function install_button( $install, $label = '' ) {
116
+ $primary = 'button-secondary frm-button-secondary ';
117
+
118
+ if ( empty( $label ) ) {
119
+ $label = __( 'Get Started', 'formidable' );
120
+ $primary = 'button-primary frm-button-primary ';
121
+ }
122
+
123
+ if ( $install['installed'] ) {
124
+ ?>
125
+ <a rel="<?php echo esc_attr( $install['importer'] ); ?>" class="button frm-activate-addon <?php echo esc_attr( $primary . ( empty( $install['link'] ) ? 'frm_hidden' : '' ) ); ?>">
126
+ <?php
127
+ if ( $label === 'auto' ) {
128
+ /* translators: %s: Name of the plugin */
129
+ $label = sprintf( __( 'Activate %s', 'formidable' ), $install['name'] );
130
+ }
131
+ } else {
132
+ ?>
133
+ <a rel="<?php echo esc_attr( $install['package'] ); ?>" class="frm-install-addon button <?php echo esc_attr( $primary ); ?>" aria-label="<?php esc_attr_e( 'Install', 'formidable' ); ?>">
134
+ <?php
135
+ if ( $label === 'auto' ) {
136
+ /* translators: %s: Name of the plugin */
137
+ $label = sprintf( __( 'Install %s Importer', 'formidable' ), $install['name'] );
138
+ }
139
+ }
140
+ ?>
141
+ <?php echo esc_html( $label ); ?>
142
+ </a>
143
+ <?php
144
+ }
145
+
146
+ public static function dismiss_migrator() {
147
+ check_ajax_referer( 'frm_ajax', 'nonce' );
148
+ $dismissed = get_option( 'frm_dismissed' );
149
+ if ( empty( $dismissed ) ) {
150
+ $dismissed = array();
151
+ }
152
+ $dismissed[] = FrmAppHelper::get_param( 'plugin', '', 'post', 'sanitize_text_field' );
153
+ update_option( 'frm_dismissed', array_filter( $dismissed ), 'no' );
154
+ wp_die();
155
+ }
156
+ }
classes/helpers/FrmListHelper.php CHANGED
@@ -206,7 +206,7 @@ class FrmListHelper {
206
  }
207
 
208
  // Redirect if page number is invalid and headers are not already sent.
209
- if ( ! headers_sent() && ! FrmAppHelper::wp_doing_ajax() && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) {
210
  wp_redirect( add_query_arg( 'paged', $args['total_pages'] ) );
211
  exit;
212
  }
206
  }
207
 
208
  // Redirect if page number is invalid and headers are not already sent.
209
+ if ( ! headers_sent() && ! wp_doing_ajax() && $args['total_pages'] > 0 && $this->get_pagenum() > $args['total_pages'] ) {
210
  wp_redirect( add_query_arg( 'paged', $args['total_pages'] ) );
211
  exit;
212
  }
classes/models/FrmInstallPlugin.php ADDED
@@ -0,0 +1,45 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * @since 4.04.04
5
+ */
6
+ class FrmInstallPlugin {
7
+
8
+ protected $plugin_file; // format: folder/filename.php
9
+ protected $plugin_slug;
10
+
11
+ public function __construct( $atts ) {
12
+ $this->plugin_file = $atts['plugin_file'];
13
+ list( $slug, $file ) = explode( '/', $this->plugin_file );
14
+ $this->plugin_slug = $slug;
15
+ }
16
+
17
+ public function get_activate_link() {
18
+ if ( $this->is_installed() && $this->is_active() ) {
19
+ return '';
20
+ }
21
+
22
+ if ( $this->is_installed() ) {
23
+ $url = $this->activate_url();
24
+ } else {
25
+ $url = $this->install_url();
26
+ }
27
+ return $url;
28
+ }
29
+
30
+ public function is_installed() {
31
+ return is_dir( WP_PLUGIN_DIR . '/' . $this->plugin_slug );
32
+ }
33
+
34
+ public function is_active() {
35
+ return is_plugin_active( $this->plugin_file );
36
+ }
37
+
38
+ protected function install_url() {
39
+ return wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=' . $this->plugin_slug ), 'install-plugin_' . $this->plugin_slug );
40
+ }
41
+
42
+ protected function activate_url() {
43
+ return wp_nonce_url( self_admin_url( 'plugins.php?action=activate&plugin=' . $this->plugin_file ), 'activate-plugin_' . $this->plugin_file );
44
+ }
45
+ }
classes/views/frm-fields/single-option.php CHANGED
@@ -2,13 +2,13 @@
2
  <?php FrmAppHelper::icon_by_class( 'frmfont frm_drag_icon frm-drag' ); ?>
3
  <input type="<?php echo esc_attr( $default_type ); ?>" name="<?php echo esc_attr( $field_name ); ?>" <?php echo ( isset( $checked ) && $checked ? 'checked="checked"' : '' ); ?> value="<?php echo esc_attr( $field_val ); ?>"/>
4
 
5
- <input type="text" name="field_options[options_<?php echo esc_attr( $field['id'] ); ?>][<?php echo esc_attr( $opt_key ); ?>][label]" value="<?php echo esc_attr( $opt ); ?>" class="field_<?php echo esc_attr( $field['id'] ); ?>_option <?php echo esc_attr( $field['separate_value'] ? 'frm_with_key' : '' ); ?>" id="<?php echo esc_attr( $html_id . '-' . $opt_key ); ?>" data-frmchange="trim" />
6
 
7
  <a href="javascript:void(0)" class="frm_icon_font frm_remove_tag" data-fid="<?php echo esc_attr( $field['id'] ); ?>" data-removeid="frm_delete_field_<?php echo esc_attr( $field['id'] . '-' . $opt_key ); ?>_container" data-removemore="#frm_<?php echo esc_attr( $default_type . '_' . $field['id'] . '-' . $opt_key ); ?>" data-showlast="#frm_add_opt_<?php echo esc_attr( $field['id'] ); ?>"></a>
8
 
9
  <span class="frm_option_key frm-with-right-icon field_<?php echo esc_attr( $field['id'] ); ?>_option_key<?php echo esc_attr( $field['separate_value'] ? '' : ' frm_hidden' ); ?>">
10
  <input type="<?php echo esc_attr( $default_type ); ?>" class="frm_invisible" />
11
- <input type="text" name="field_options[options_<?php echo esc_attr( $field['id'] ); ?>][<?php echo esc_attr( $opt_key ); ?>][value]" id="field_key_<?php echo esc_attr( $field['id'] . '-' . $opt_key ); ?>" value="<?php echo esc_attr( $field_val ); ?>" placeholder="<?php esc_attr_e( 'Saved Value', 'formidable' ); ?>" data-frmchange="trim" />
12
  <?php FrmAppHelper::icon_by_class( 'frmfont frm_save_icon' ); ?>
13
  </span>
14
  </li>
2
  <?php FrmAppHelper::icon_by_class( 'frmfont frm_drag_icon frm-drag' ); ?>
3
  <input type="<?php echo esc_attr( $default_type ); ?>" name="<?php echo esc_attr( $field_name ); ?>" <?php echo ( isset( $checked ) && $checked ? 'checked="checked"' : '' ); ?> value="<?php echo esc_attr( $field_val ); ?>"/>
4
 
5
+ <input type="text" name="field_options[options_<?php echo esc_attr( $field['id'] ); ?>][<?php echo esc_attr( $opt_key ); ?>][label]" value="<?php echo esc_attr( $opt ); ?>" class="field_<?php echo esc_attr( $field['id'] ); ?>_option <?php echo esc_attr( $field['separate_value'] ? 'frm_with_key' : '' ); ?>" id="<?php echo esc_attr( $html_id . '-' . $opt_key ); ?>" data-frmchange="trim,updateOption" />
6
 
7
  <a href="javascript:void(0)" class="frm_icon_font frm_remove_tag" data-fid="<?php echo esc_attr( $field['id'] ); ?>" data-removeid="frm_delete_field_<?php echo esc_attr( $field['id'] . '-' . $opt_key ); ?>_container" data-removemore="#frm_<?php echo esc_attr( $default_type . '_' . $field['id'] . '-' . $opt_key ); ?>" data-showlast="#frm_add_opt_<?php echo esc_attr( $field['id'] ); ?>"></a>
8
 
9
  <span class="frm_option_key frm-with-right-icon field_<?php echo esc_attr( $field['id'] ); ?>_option_key<?php echo esc_attr( $field['separate_value'] ? '' : ' frm_hidden' ); ?>">
10
  <input type="<?php echo esc_attr( $default_type ); ?>" class="frm_invisible" />
11
+ <input type="text" name="field_options[options_<?php echo esc_attr( $field['id'] ); ?>][<?php echo esc_attr( $opt_key ); ?>][value]" id="field_key_<?php echo esc_attr( $field['id'] . '-' . $opt_key ); ?>" value="<?php echo esc_attr( $field_val ); ?>" placeholder="<?php esc_attr_e( 'Saved Value', 'formidable' ); ?>" data-frmchange="trim,updateDefault" />
12
  <?php FrmAppHelper::icon_by_class( 'frmfont frm_save_icon' ); ?>
13
  </span>
14
  </li>
classes/views/xml/import_form.php CHANGED
@@ -33,6 +33,7 @@
33
  <input type="submit" value="<?php esc_attr_e( 'Upload file and import', 'formidable' ); ?>" class="button-primary frm-button-primary" />
34
  </p>
35
  </form>
 
36
  <?php FrmTipsHelper::pro_tip( 'get_import_tip' ); ?>
37
 
38
  <?php do_action( 'frm_import_settings' ); ?>
33
  <input type="submit" value="<?php esc_attr_e( 'Upload file and import', 'formidable' ); ?>" class="button-primary frm-button-primary" />
34
  </p>
35
  </form>
36
+ <?php FrmFormMigratorsHelper::maybe_show_download_link(); ?>
37
  <?php FrmTipsHelper::pro_tip( 'get_import_tip' ); ?>
38
 
39
  <?php do_action( 'frm_import_settings' ); ?>
css/frm_admin.css CHANGED
@@ -19,7 +19,7 @@
19
  --pink: rgb(226, 42, 110);
20
  --purple: rgb(141, 53, 245);
21
  --border-radius: 35px;
22
- --small-radius: 4px;
23
  --small-sidebar: 275px;
24
  --medium-sidebar: 350px;
25
  --big-sidebar: 390px;
@@ -2009,6 +2009,7 @@ table.frm-list-templates thead th {
2009
  height: 50px;
2010
  }
2011
 
 
2012
  a.frm_pro_tip {
2013
  font-size: 14px;
2014
  border: 1px solid var(--orange);
@@ -3742,6 +3743,42 @@ label.default-style-box input[type="checkbox"] {
3742
  padding: 0;
3743
  }
3744
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3745
  /*for add-on reverse compatibility */
3746
 
3747
  .frm_98_width {
19
  --pink: rgb(226, 42, 110);
20
  --purple: rgb(141, 53, 245);
21
  --border-radius: 35px;
22
+ --small-radius: 6px;
23
  --small-sidebar: 275px;
24
  --medium-sidebar: 350px;
25
  --big-sidebar: 390px;
2009
  height: 50px;
2010
  }
2011
 
2012
+ .frm-right-panel .inside a.frm_pro_tip,
2013
  a.frm_pro_tip {
2014
  font-size: 14px;
2015
  border: 1px solid var(--orange);
3743
  padding: 0;
3744
  }
3745
 
3746
+ .frm-feature-banner {
3747
+ background: var(--dark-grey);
3748
+ color: #fff;
3749
+ border-radius: var(--small-radius);
3750
+ padding: 20px;
3751
+ margin: 10px 0;
3752
+ }
3753
+
3754
+ .frm-feature-banner p {
3755
+ font-size: 14px;
3756
+ }
3757
+
3758
+ .frm-feature-banner .dismiss {
3759
+ margin-top: -10px;
3760
+ margin-right: -10px;
3761
+ }
3762
+
3763
+ .frm-feature-banner .dismiss svg {
3764
+ color: #fff;
3765
+ }
3766
+
3767
+ .frm-feature-banner .frm-big-icon {
3768
+ padding-right: 20px;
3769
+ float: left;
3770
+ min-height: 60px;
3771
+ }
3772
+
3773
+ .frm-big-icon svg {
3774
+ height: 60px;
3775
+ width: 60px;
3776
+ }
3777
+
3778
+ .frm-feature-banner p {
3779
+ margin-top: 0;
3780
+ }
3781
+
3782
  /*for add-on reverse compatibility */
3783
 
3784
  .frm_98_width {
css/frm_grids.css CHANGED
@@ -185,7 +185,7 @@
185
  .frm12,
186
  .frm_full,
187
  .frm_full .wp-editor-wrap,
188
- .frm_full input:not([type='checkbox']):not([type='radio']):not([type='button']),
189
  .frm_full select,
190
  .frm_full textarea{
191
  width:100% !important;
185
  .frm12,
186
  .frm_full,
187
  .frm_full .wp-editor-wrap,
188
+ .frm_full > input:not([type='checkbox']):not([type='radio']):not([type='button']),
189
  .frm_full select,
190
  .frm_full textarea{
191
  width:100% !important;
formidable.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Formidable Forms
4
  Description: Quickly and easily create drag-and-drop forms
5
- Version: 4.04.03
6
  Plugin URI: https://formidableforms.com/
7
  Author URI: https://formidableforms.com/
8
  Author: Strategy11
2
  /*
3
  Plugin Name: Formidable Forms
4
  Description: Quickly and easily create drag-and-drop forms
5
+ Version: 4.04.04
6
  Plugin URI: https://formidableforms.com/
7
  Author URI: https://formidableforms.com/
8
  Author: Strategy11
images/icons.svg CHANGED
@@ -572,9 +572,9 @@
572
  <title>cloud_download</title>
573
  <path d="M18.1 8.2a7 7 0 0 0-13-2 5.6 5.6 0 0 0 .5 11.3h12.2c2.6 0 4.7-2.1 4.7-4.7 0-2.5-2-4.5-4.4-4.6zm-.3 7.4H5.6a3.7 3.7 0 0 1-.4-7.4l1-.1.5-1a5.2 5.2 0 0 1 9.6 1.4l.3 1.4 1.4.1a2.8 2.8 0 0 1-.2 5.6zm-5.2-7.5H10V11H7.5l3.7 3.8 3.8-3.8h-2.4z"/>
574
  </symbol>
575
- <symbol id="frm_cloud_upload_solid_icon" viewBox="0 0 22 20">
576
  <title>cloud_upload_solid</title>
577
- <path d="M18.1 8.2a7 7 0 0 0-13-2 5.6 5.6 0 0 0 .5 11.3h12.2c2.6 0 4.7-2.1 4.7-4.7 0-2.5-2-4.5-4.4-4.6zm-5 2.7v3.8H9.4v-3.8H6.6l4.6-4.6 4.7 4.6h-2.8z"/>
578
  </symbol>
579
  <symbol id="frm_cloud_upload_icon" viewBox="0 0 22 20">
580
  <title>cloud_upload</title>
@@ -872,6 +872,18 @@
872
  <title>cc_stripe</title>
873
  <path d="M17.3 10c0 .6 0 1-.2 1.2-.1.3-.3.4-.6.4a1 1 0 0 1-.4 0V9c.3-.3.5-.3.6-.3.4 0 .6.4.6 1.3zm4.8-.3h-1.2c0-.7.2-1 .6-1s.6.3.6 1zM5 11.2c0-1-.5-1.3-1.4-1.7-.5-.1-.7-.3-.7-.5s.1-.3.4-.3c.5 0 1 .2 1.3.4L5 7.9c-.2-.2-.8-.4-1.6-.4A2 2 0 0 0 2 8c-.4.3-.5.7-.5 1.2 0 .9.5 1.3 1.4 1.6.5.2.7.4.7.6 0 .2-.1.3-.5.3s-1-.2-1.5-.5l-.2 1.3c.4.2 1 .4 1.8.4.6 0 1-.1 1.4-.4.4-.3.6-.7.6-1.3zm3.3-2.4l.2-1.2h-1V6.1L6 6.4 6 7.6l-.5.1-.1 1.1h.6v2.4c0 .6.2 1 .5 1.3.3.2.7.3 1.2.3l.9-.1v-1.3l-.5.1c-.3 0-.5-.2-.5-.5V8.8h.9zm3.4.3V7.6h-.3a1 1 0 0 0-1 .6v-.6H9v5.1h1.6V9.4c.2-.2.5-.3 1-.3h.2zm.4 3.6h1.6v-5h-1.6v5zm6.7-2.7c0-.8-.1-1.5-.4-2-.3-.3-.7-.5-1.2-.5s-1 .2-1.3.6l-.1-.5h-1.4v7l1.6-.3v-1.6l.7.1c.4 0 1 0 1.5-.6.4-.5.6-1.2.6-2.2zm-5-3.8c0-.4-.4-.8-.9-.8s-.8.4-.8.8.3 1 .8 1 .9-.5.9-1zm9.7 4c0-.9-.2-1.5-.5-2-.4-.4-.9-.7-1.6-.7-1.4 0-2.2 1-2.2 2.7 0 .9.2 1.6.7 2 .4.4 1 .6 1.7.6s1.3-.1 1.7-.4l-.1-1.1c-.4.2-.9.3-1.4.3-.3 0-.5 0-.7-.2-.2-.1-.3-.4-.3-.7h2.7V10zM25 3v13.8c0 .8-.6 1.4-1.4 1.4H1.4C.6 18.3 0 17.7 0 17V3.1c0-.8.6-1.4 1.4-1.4h22.2c.8 0 1.4.6 1.4 1.4z"/>
874
  </symbol>
 
 
 
 
 
 
 
 
 
 
 
 
875
  <symbol id="frm_price_icon" viewBox="0 0 20 20">
876
  <title>price</title>
877
  <path d="M.5 11.5l8 8a1.9 1.9 0 002.7 0l8.3-8.3a1.9 1.9 0 00.5-1.4v-8A1.9 1.9 0 0018.1 0h-8a1.9 1.9 0 00-1.3.5L.5 8.8a1.9 1.9 0 000 2.7zM2 10.2l8.3-8.3h8v8L9.7 18zm12.5-6.4a1.9 1.9 0 11-1.9 1.8 1.9 1.9 0 011.9-1.8z"/>
572
  <title>cloud_download</title>
573
  <path d="M18.1 8.2a7 7 0 0 0-13-2 5.6 5.6 0 0 0 .5 11.3h12.2c2.6 0 4.7-2.1 4.7-4.7 0-2.5-2-4.5-4.4-4.6zm-.3 7.4H5.6a3.7 3.7 0 0 1-.4-7.4l1-.1.5-1a5.2 5.2 0 0 1 9.6 1.4l.3 1.4 1.4.1a2.8 2.8 0 0 1-.2 5.6zm-5.2-7.5H10V11H7.5l3.7 3.8 3.8-3.8h-2.4z"/>
574
  </symbol>
575
+ <symbol id="frm_cloud_upload_solid_icon" viewBox="0 0 640 512">
576
  <title>cloud_upload_solid</title>
577
+ <path d="M537.6 226.6a96 96 0 00-142.9-114.4 159.9 159.9 0 00-298.5 87.9A144.1 144.1 0 00144 480h368a128 128 0 0025.6-253.4zM393.4 288H328v112a16 16 0 01-16 16h-48a16 16 0 01-16-16V288h-65.4a16 16 0 01-11.3-27.3l105.4-105.4a16 16 0 0122.6 0l105.4 105.4a16 16 0 01-11.3 27.3z"/>
578
  </symbol>
579
  <symbol id="frm_cloud_upload_icon" viewBox="0 0 22 20">
580
  <title>cloud_upload</title>
872
  <title>cc_stripe</title>
873
  <path d="M17.3 10c0 .6 0 1-.2 1.2-.1.3-.3.4-.6.4a1 1 0 0 1-.4 0V9c.3-.3.5-.3.6-.3.4 0 .6.4.6 1.3zm4.8-.3h-1.2c0-.7.2-1 .6-1s.6.3.6 1zM5 11.2c0-1-.5-1.3-1.4-1.7-.5-.1-.7-.3-.7-.5s.1-.3.4-.3c.5 0 1 .2 1.3.4L5 7.9c-.2-.2-.8-.4-1.6-.4A2 2 0 0 0 2 8c-.4.3-.5.7-.5 1.2 0 .9.5 1.3 1.4 1.6.5.2.7.4.7.6 0 .2-.1.3-.5.3s-1-.2-1.5-.5l-.2 1.3c.4.2 1 .4 1.8.4.6 0 1-.1 1.4-.4.4-.3.6-.7.6-1.3zm3.3-2.4l.2-1.2h-1V6.1L6 6.4 6 7.6l-.5.1-.1 1.1h.6v2.4c0 .6.2 1 .5 1.3.3.2.7.3 1.2.3l.9-.1v-1.3l-.5.1c-.3 0-.5-.2-.5-.5V8.8h.9zm3.4.3V7.6h-.3a1 1 0 0 0-1 .6v-.6H9v5.1h1.6V9.4c.2-.2.5-.3 1-.3h.2zm.4 3.6h1.6v-5h-1.6v5zm6.7-2.7c0-.8-.1-1.5-.4-2-.3-.3-.7-.5-1.2-.5s-1 .2-1.3.6l-.1-.5h-1.4v7l1.6-.3v-1.6l.7.1c.4 0 1 0 1.5-.6.4-.5.6-1.2.6-2.2zm-5-3.8c0-.4-.4-.8-.9-.8s-.8.4-.8.8.3 1 .8 1 .9-.5.9-1zm9.7 4c0-.9-.2-1.5-.5-2-.4-.4-.9-.7-1.6-.7-1.4 0-2.2 1-2.2 2.7 0 .9.2 1.6.7 2 .4.4 1 .6 1.7.6s1.3-.1 1.7-.4l-.1-1.1c-.4.2-.9.3-1.4.3-.3 0-.5 0-.7-.2-.2-.1-.3-.4-.3-.7h2.7V10zM25 3v13.8c0 .8-.6 1.4-1.4 1.4H1.4C.6 18.3 0 17.7 0 17V3.1c0-.8.6-1.4 1.4-1.4h22.2c.8 0 1.4.6 1.4 1.4z"/>
874
  </symbol>
875
+ <symbol id="frm_step1_icon" viewBox="0 0 100 100">
876
+ <circle cx="50" cy="50" r="50" fill="#ccc"/><path data-name="1" d="M47.48 67.35v-22.7h-8.8V39.3a16.779 16.779 0 003.57-.27 9.344 9.344 0 003.1-1.15 7.565 7.565 0 002.33-2.18 7.737 7.737 0 001.25-3.35h5.65v35h-7.1z" fill="#fff" fill-rule="evenodd"/>
877
+ </symbol>
878
+ <symbol id="frm_step2_icon" viewBox="0 0 100 100">
879
+ <circle cx="50" cy="50" r="50" fill="#ccc"/><path data-name="2" d="M38.53 41.23a12.807 12.807 0 012.4-4.5 10.792 10.792 0 014.02-3 13.616 13.616 0 015.58-1.08 13.905 13.905 0 014.57.75 11.871 11.871 0 013.83 2.15A10.329 10.329 0 0161.55 39a10.589 10.589 0 01.98 4.6 11 11 0 01-.85 4.55 12.168 12.168 0 01-2.25 3.38 18.894 18.894 0 01-3.18 2.67c-1.18.8-2.37 1.59-3.57 2.38s-2.37 1.62-3.5 2.52a16.035 16.035 0 00-3 3.15h16.55v6.1h-25.7a14.681 14.681 0 01.87-5.3 14.2 14.2 0 012.38-4.02 20.5 20.5 0 013.52-3.28c1.35-1 2.78-2.01 4.28-3.05.77-.53 1.58-1.07 2.45-1.62a15.537 15.537 0 002.37-1.83A9.286 9.286 0 0054.7 47a5.5 5.5 0 00.73-2.85 5.006 5.006 0 00-5.25-5.4 4.569 4.569 0 00-2.63.73 5.345 5.345 0 00-1.72 1.9 9.023 9.023 0 00-.93 2.6 15.122 15.122 0 00-.27 2.82h-6.8a16.741 16.741 0 01.7-5.57z" fill="#fff" fill-rule="evenodd"/>
880
+ </symbol>
881
+ <symbol id="frm_step3_icon" viewBox="0 0 100 100">
882
+ <circle cx="50" cy="50" r="50" fill="#ccc"/><path data-name="3" d="M49.83 47.5a7.656 7.656 0 002.42-.57 4.673 4.673 0 001.85-1.38 3.677 3.677 0 00.73-2.4 4.16 4.16 0 00-1.5-3.45 5.367 5.367 0 00-3.45-1.2 4.836 4.836 0 00-4.08 1.78 6.907 6.907 0 00-1.32 4.47h-6.75a15 15 0 01.97-4.92A11.337 11.337 0 0141.15 36a10.877 10.877 0 013.78-2.47 13.034 13.034 0 014.9-.88 14.551 14.551 0 014.2.63 11.78 11.78 0 013.77 1.87 10.2 10.2 0 012.73 3.05 8.1 8.1 0 011.05 4.15 8.255 8.255 0 01-1.23 4.5 6.1 6.1 0 01-3.67 2.65v.1a7.679 7.679 0 014.55 2.8 8.224 8.224 0 011.65 5.15 10.739 10.739 0 01-1.08 4.9 10.481 10.481 0 01-2.87 3.6 12.6 12.6 0 01-4.15 2.2 16.925 16.925 0 01-10.28-.1 10.8 10.8 0 01-6.75-6.45 14.178 14.178 0 01-.87-5.4h6.75a9.83 9.83 0 00.45 2.68 6.671 6.671 0 001.15 2.2 5.437 5.437 0 001.87 1.47 6.019 6.019 0 002.68.55 5.869 5.869 0 004.05-1.47 5.145 5.145 0 001.65-4.03 5.067 5.067 0 00-.78-3.05 4.338 4.338 0 00-1.97-1.52 8.208 8.208 0 00-2.63-.55c-.95-.05-1.85-.08-2.72-.08v-5a14.3 14.3 0 002.45 0z" fill="#fff" fill-rule="evenodd"/>
883
+ </symbol>
884
+ <symbol id="frm_step_complete_icon" viewBox="0 0 56.18 56.18">
885
+ <circle cx="28.09" cy="28.09" r="25" fill="#6fb05a" stroke="#6ab255" stroke-width="6"/><path d="M36.93 19.88L24.09 32.72 19.37 28a.6.6 0 00-.83 0l-1.38 1.39a.573.573 0 000 .82l6.52 6.52a.573.573 0 00.82 0l14.64-14.64a.585.585 0 000-.83l-1.38-1.38a.585.585 0 00-.83 0z" fill="#fff" fill-rule="evenodd"/>
886
+ </symbol>
887
  <symbol id="frm_price_icon" viewBox="0 0 20 20">
888
  <title>price</title>
889
  <path d="M.5 11.5l8 8a1.9 1.9 0 002.7 0l8.3-8.3a1.9 1.9 0 00.5-1.4v-8A1.9 1.9 0 0018.1 0h-8a1.9 1.9 0 00-1.3.5L.5 8.8a1.9 1.9 0 000 2.7zM2 10.2l8.3-8.3h8v8L9.7 18zm12.5-6.4a1.9 1.9 0 11-1.9 1.8 1.9 1.9 0 011.9-1.8z"/>
images/smtp-screenshot-tnail.png ADDED
Binary file
js/formidable.js CHANGED
@@ -761,7 +761,13 @@ function frmFrontFormJS(){
761
  nonce:frm_js.nonce
762
  },
763
  success:function(msg){
764
- label.html(msg);
 
 
 
 
 
 
765
  }
766
  });
767
  return false;
761
  nonce:frm_js.nonce
762
  },
763
  success:function(msg){
764
+ var admin = document.getElementById( 'wpbody' );
765
+ if ( admin === null ) {
766
+ label.html( msg );
767
+ } else {
768
+ label.html( '' );
769
+ $link.after( msg );
770
+ }
771
  }
772
  });
773
  return false;
js/formidable.min.js CHANGED
@@ -28,25 +28,25 @@ describedBy)}input.attr("aria-invalid",true);jQuery(document).trigger("frmAddFie
28
  loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");loadingForm.trigger("frmEndFormLoading");if(enable==="enable"){enableSubmitButton(loadingForm);enableSaveDraft(loadingForm)}}function showFileLoading(object){var loading=document.getElementById("frm_loading");if(loading!==null){var file_val=jQuery(object).find("input[type=file]").val();if(typeof file_val!=="undefined"&&file_val!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function replaceCheckedRecaptcha(object,
29
  checkPage){var $recapField=jQuery(object).find(".frm-g-recaptcha, .g-recaptcha");if($recapField.length){if(checkPage){var morePages=jQuery(object).find(".frm_next_page").length<1||jQuery(object).find(".frm_next_page").val()<1;if(!morePages)return}$recapField.closest(".frm_form_field").replaceWith('<input type="hidden" name="recaptcha_checked" value="'+frm_js.nonce+'">')}}function clearDefault(){toggleDefault(jQuery(this),"clear")}function replaceDefault(){toggleDefault(jQuery(this),"replace")}function toggleDefault($thisField,
30
  e){var v=$thisField.data("frmval").replace(/(\n|\r\n)/g,"\r");if(v===""||typeof v==="undefined")return false;var thisVal=$thisField.val().replace(/(\n|\r\n)/g,"\r");if("replace"==e){if(thisVal==="")$thisField.addClass("frm_default").val(v)}else if(thisVal==v)$thisField.removeClass("frm_default").val("")}function resendEmail(){var $link=jQuery(this),entry_id=this.getAttribute("data-eid"),form_id=this.getAttribute("data-fid"),label=$link.find(".frm_link_label");if(label.length<1)label=$link;label.append('<span class="frm-wait"></span>');
31
- jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_send_email",entry_id:entry_id,form_id:form_id,nonce:frm_js.nonce},success:function(msg){label.html(msg)}});return false}function confirmClick(){var message=jQuery(this).data("frmconfirm");return confirm(message)}function toggleDiv(){var div=jQuery(this).data("frmtoggle");if(jQuery(div).is(":visible"))jQuery(div).slideUp("fast");else jQuery(div).slideDown("fast");return false}function addIndexOfFallbackForIE8(){if(!Array.prototype.indexOf)Array.prototype.indexOf=
32
- function(elt){var len=this.length>>>0;var from=Number(arguments[1])||0;from=from<0?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++)if(from in this&&this[from]===elt)return from;return-1}}function addTrimFallbackForIE8(){if(typeof String.prototype.trim!=="function")String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}}function addFilterFallbackForIE8(){if(!Array.prototype.filter)Array.prototype.filter=function(fun){if(this===void 0||this===null)throw new TypeError;
33
- var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;var res=[];var thisp=arguments[1];for(var i=0;i<len;i++)if(i in t){var val=t[i];if(fun.call(thisp,val,i,t))res.push(val)}return res}}function addKeysFallbackForIE8(){if(!Object.keys)Object.keys=function(obj){var keys=[];for(var i in obj)if(obj.hasOwnProperty(i))keys.push(i);return keys}}return{init:function(){jQuery(document).off("submit.formidable",".frm-show-form");jQuery(document).on("submit.formidable",".frm-show-form",
34
- frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()==="")jQuery(this).blur()});jQuery(document).on("focus",".frm_toggle_default",clearDefault);jQuery(document).on("blur",".frm_toggle_default",replaceDefault);jQuery(".frm_toggle_default").blur();jQuery(document.getElementById("frm_resend_email")).click(resendEmail);jQuery(document).on("change",'.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',
35
- frmFrontForm.fieldValueChanged);jQuery(document).on("change keyup",".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea",maybeShowLabel);jQuery(document).on("click","a[data-frmconfirm]",confirmClick);jQuery("a[data-frmtoggle]").click(toggleDiv);addIndexOfFallbackForIE8();addTrimFallbackForIE8();addFilterFallbackForIE8();addKeysFallbackForIE8()},getFieldId:function(field,fullID){return getFieldId(field,fullID)},renderRecaptcha:function(captcha){var size=
36
- captcha.getAttribute("data-size"),rendered=captcha.getAttribute("data-rid")!==null,params={"sitekey":captcha.getAttribute("data-sitekey"),"size":size,"theme":captcha.getAttribute("data-theme")};if(rendered)return;if(size==="invisible"){var formID=jQuery(captcha).closest("form").find('input[name="form_id"]').val();jQuery(captcha).closest(".frm_form_field .frm_primary_label").hide();params.callback=function(token){frmFrontForm.afterRecaptcha(token,formID)}}var recaptchaID=grecaptcha.render(captcha.id,
37
- params);captcha.setAttribute("data-rid",recaptchaID)},afterSingleRecaptcha:function(token){var object=jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},afterRecaptcha:function(token,formID){var object=jQuery("#frm_form_"+formID+"_container form")[0];frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e,this)},submitFormManual:function(e,object){var invisibleRecaptcha=hasInvisibleRecaptcha(object);var classList=object.className.trim().split(/\s+/gi);
38
- if(classList&&invisibleRecaptcha.length<1){var isPro=classList.indexOf("frm_pro_form")>-1;if(!isPro)return}if(jQuery("body").hasClass("wp-admin")&&jQuery(object).closest(".frmapi-form").length<1)return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function")if(!frmProForm.submitAllowed(object))return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));executeInvisibleRecaptcha(invisibleRecaptcha)}else{var errors=frmFrontForm.validateFormSubmit(object);
39
- if(Object.keys(errors).length===0){showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object,classList)}}},submitFormNow:function(object){var classList=object.className.trim().split(/\s+/gi);if(classList.indexOf("frm_ajax_submit")>-1){var hasFileFields=jQuery(object).find('input[type="file"]').filter(function(){return!!this.value}).length;if(hasFileFields<1){action=jQuery(object).find('input[name="frm_action"]').val();frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},
40
- validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},getAjaxFormErrors:function(object){jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){action=jQuery(object).find('input[name="frm_action"]').val();var customErrors=frmThemeOverride_jsErrors(action,
41
- object);if(Object.keys(customErrors).length)for(var key in customErrors)jsErrors[key]=customErrors[key]}return jsErrors},addAjaxFormErrors:function(object){removeAllErrors();for(var key in jsErrors){var $fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length)addFieldError($fieldCont,key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object)},checkFormErrors:function(object,action){getFormErrors(object,action)},checkRequiredField:function(field,errors){return checkRequiredField(field,
42
- errors)},showSubmitLoading:function($object){showSubmitLoading($object)},removeSubmitLoading:function($object,enable,processesRunning){removeSubmitLoading($object,enable,processesRunning)},scrollToID:function(id){var object=jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){var scrollObj="";if(typeof object==="undefined"){scrollObj=jQuery(document.getElementById("frm_form_"+id+"_container"));if(scrollObj.length<1)return}else if(typeof id===
43
- "string")scrollObj=jQuery(object).find("#frm_field_"+id+"_container");else scrollObj=id;var newPos=scrollObj.offset().top;if(!newPos)return;newPos=newPos-frm_js.offset;var m=jQuery("html").css("margin-top");var b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){var screenTop=document.documentElement.scrollTop||document.body.scrollTop;var screenBottom=screenTop+window.innerHeight;if(newPos>screenBottom||newPos<screenTop){if(typeof animate===
44
- "undefined")jQuery(window).scrollTop(newPos);else jQuery("html,body").animate({scrollTop:newPos},500);return false}}},fieldValueChanged:function(e){var field_id=frmFrontForm.getFieldId(this,false);if(!field_id||typeof field_id==="undefined")return;if(e.frmTriggered&&e.frmTriggered==field_id)return;jQuery(document).trigger("frmFieldChanged",[this,field_id,e]);if(e.selfTriggered!==true)maybeValidateChange(field_id,this)},savingDraft:function(object){console.warn("DEPRECATED: function frmFrontForm.savingDraft in v3.0 use frmProForm.savingDraft");
45
- if(typeof frmProForm!=="undefined")return frmProForm.savingDraft(object)},goingToPreviousPage:function(object){console.warn("DEPRECATED: function frmFrontForm.goingToPreviousPage in v3.0 use frmProForm.goingToPreviousPage");if(typeof frmProForm!=="undefined")return frmProForm.goingToPreviousPage(object)},hideOrShowFields:function(ids,event){console.warn("DEPRECATED: function frmFrontForm.hideOrShowFields in v3.0 use frmProForm.hideOrShowFields");if(typeof frmProForm!=="undefined")frmProForm.hideOrShowFields()},
46
- hidePreviouslyHiddenFields:function(){console.warn("DEPRECATED: function frmFrontForm.hidePreviouslyHiddenFields in v3.0 use frmProForm.hidePreviouslyHiddenFields");if(typeof frmProForm!=="undefined")frmProForm.hidePreviouslyHiddenFields()},checkDependentDynamicFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentDynamicFields in v3.0 use frmProForm.checkDependentDynamicFields");if(typeof frmProForm!=="undefined")frmProForm.checkDependentDynamicFields(ids)},checkDependentLookupFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentLookupFields in v3.0 use frmProForm.checkDependentLookupFields");
47
- if(typeof frmProForm!=="undefined")frmProForm.checkDependentLookupFields(ids)},loadGoogle:function(){console.warn("DEPRECATED: function frmFrontForm.loadGoogle in v3.0 use frmProForm.loadGoogle");frmProForm.loadGoogle()},removeUsedTimes:function(obj,timeField){console.warn("DEPRECATED: function frmFrontForm.removeUsedTimes in v3.0 use frmProForm.removeUsedTimes");if(typeof frmProForm!=="undefined")frmProForm.removeUsedTimes()},escapeHtml:function(text){return text.replace(/&/g,"&amp;").replace(/</g,
48
- "&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")},invisible:function(classes){jQuery(classes).css("visibility","hidden")},visible:function(classes){jQuery(classes).css("visibility","visible")}}}var frmFrontForm=frmFrontFormJS();jQuery(document).ready(function($){frmFrontForm.init()});function frmRecaptcha(){var captchas=jQuery(".frm-g-recaptcha");for(var c=0,cl=captchas.length;c<cl;c++)frmFrontForm.renderRecaptcha(captchas[c])}
49
- function frmAfterRecaptcha(token){frmFrontForm.afterSingleRecaptcha(token)}
50
  function frmUpdateField(entry_id,field_id,value,message,num){jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).html('<span class="frm-loading-img"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_update_field_ajax",entry_id:entry_id,field_id:field_id,value:value,nonce:frm_js.nonce},success:function(){if(message.replace(/^\s+|\s+$/g,"")==="")jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).fadeOut("slow");
51
  else jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).replaceWith(message)}})}
52
  function frmDeleteEntry(entry_id,prefix){console.warn("DEPRECATED: function frmDeleteEntry in v2.0.13 use frmFrontForm.deleteEntry");jQuery(document.getElementById("frm_delete_"+entry_id)).replaceWith('<span class="frm-loading-img" id="frm_delete_'+entry_id+'"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_destroy",entry:entry_id,nonce:frm_js.nonce},success:function(html){if(html.replace(/^\s+|\s+$/g,"")==="success")jQuery(document.getElementById(prefix+entry_id)).fadeOut("slow");
28
  loadingForm.removeClass("frm_loading_form");loadingForm.removeClass("frm_loading_prev");loadingForm.trigger("frmEndFormLoading");if(enable==="enable"){enableSubmitButton(loadingForm);enableSaveDraft(loadingForm)}}function showFileLoading(object){var loading=document.getElementById("frm_loading");if(loading!==null){var file_val=jQuery(object).find("input[type=file]").val();if(typeof file_val!=="undefined"&&file_val!=="")setTimeout(function(){jQuery(loading).fadeIn("slow")},2E3)}}function replaceCheckedRecaptcha(object,
29
  checkPage){var $recapField=jQuery(object).find(".frm-g-recaptcha, .g-recaptcha");if($recapField.length){if(checkPage){var morePages=jQuery(object).find(".frm_next_page").length<1||jQuery(object).find(".frm_next_page").val()<1;if(!morePages)return}$recapField.closest(".frm_form_field").replaceWith('<input type="hidden" name="recaptcha_checked" value="'+frm_js.nonce+'">')}}function clearDefault(){toggleDefault(jQuery(this),"clear")}function replaceDefault(){toggleDefault(jQuery(this),"replace")}function toggleDefault($thisField,
30
  e){var v=$thisField.data("frmval").replace(/(\n|\r\n)/g,"\r");if(v===""||typeof v==="undefined")return false;var thisVal=$thisField.val().replace(/(\n|\r\n)/g,"\r");if("replace"==e){if(thisVal==="")$thisField.addClass("frm_default").val(v)}else if(thisVal==v)$thisField.removeClass("frm_default").val("")}function resendEmail(){var $link=jQuery(this),entry_id=this.getAttribute("data-eid"),form_id=this.getAttribute("data-fid"),label=$link.find(".frm_link_label");if(label.length<1)label=$link;label.append('<span class="frm-wait"></span>');
31
+ jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_send_email",entry_id:entry_id,form_id:form_id,nonce:frm_js.nonce},success:function(msg){var admin=document.getElementById("wpbody");if(admin===null)label.html(msg);else{label.html("");$link.after(msg)}}});return false}function confirmClick(){var message=jQuery(this).data("frmconfirm");return confirm(message)}function toggleDiv(){var div=jQuery(this).data("frmtoggle");if(jQuery(div).is(":visible"))jQuery(div).slideUp("fast");else jQuery(div).slideDown("fast");
32
+ return false}function addIndexOfFallbackForIE8(){if(!Array.prototype.indexOf)Array.prototype.indexOf=function(elt){var len=this.length>>>0;var from=Number(arguments[1])||0;from=from<0?Math.ceil(from):Math.floor(from);if(from<0)from+=len;for(;from<len;from++)if(from in this&&this[from]===elt)return from;return-1}}function addTrimFallbackForIE8(){if(typeof String.prototype.trim!=="function")String.prototype.trim=function(){return this.replace(/^\s+|\s+$/g,"")}}function addFilterFallbackForIE8(){if(!Array.prototype.filter)Array.prototype.filter=
33
+ function(fun){if(this===void 0||this===null)throw new TypeError;var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;var res=[];var thisp=arguments[1];for(var i=0;i<len;i++)if(i in t){var val=t[i];if(fun.call(thisp,val,i,t))res.push(val)}return res}}function addKeysFallbackForIE8(){if(!Object.keys)Object.keys=function(obj){var keys=[];for(var i in obj)if(obj.hasOwnProperty(i))keys.push(i);return keys}}return{init:function(){jQuery(document).off("submit.formidable",
34
+ ".frm-show-form");jQuery(document).on("submit.formidable",".frm-show-form",frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()==="")jQuery(this).blur()});jQuery(document).on("focus",".frm_toggle_default",clearDefault);jQuery(document).on("blur",".frm_toggle_default",replaceDefault);jQuery(".frm_toggle_default").blur();jQuery(document.getElementById("frm_resend_email")).click(resendEmail);jQuery(document).on("change",
35
+ '.frm-show-form input[name^="item_meta"], .frm-show-form select[name^="item_meta"], .frm-show-form textarea[name^="item_meta"]',frmFrontForm.fieldValueChanged);jQuery(document).on("change keyup",".frm-show-form .frm_inside_container input, .frm-show-form .frm_inside_container select, .frm-show-form .frm_inside_container textarea",maybeShowLabel);jQuery(document).on("click","a[data-frmconfirm]",confirmClick);jQuery("a[data-frmtoggle]").click(toggleDiv);addIndexOfFallbackForIE8();addTrimFallbackForIE8();
36
+ addFilterFallbackForIE8();addKeysFallbackForIE8()},getFieldId:function(field,fullID){return getFieldId(field,fullID)},renderRecaptcha:function(captcha){var size=captcha.getAttribute("data-size"),rendered=captcha.getAttribute("data-rid")!==null,params={"sitekey":captcha.getAttribute("data-sitekey"),"size":size,"theme":captcha.getAttribute("data-theme")};if(rendered)return;if(size==="invisible"){var formID=jQuery(captcha).closest("form").find('input[name="form_id"]').val();jQuery(captcha).closest(".frm_form_field .frm_primary_label").hide();
37
+ params.callback=function(token){frmFrontForm.afterRecaptcha(token,formID)}}var recaptchaID=grecaptcha.render(captcha.id,params);captcha.setAttribute("data-rid",recaptchaID)},afterSingleRecaptcha:function(token){var object=jQuery(".frm-show-form .g-recaptcha").closest("form")[0];frmFrontForm.submitFormNow(object)},afterRecaptcha:function(token,formID){var object=jQuery("#frm_form_"+formID+"_container form")[0];frmFrontForm.submitFormNow(object)},submitForm:function(e){frmFrontForm.submitFormManual(e,
38
+ this)},submitFormManual:function(e,object){var invisibleRecaptcha=hasInvisibleRecaptcha(object);var classList=object.className.trim().split(/\s+/gi);if(classList&&invisibleRecaptcha.length<1){var isPro=classList.indexOf("frm_pro_form")>-1;if(!isPro)return}if(jQuery("body").hasClass("wp-admin")&&jQuery(object).closest(".frmapi-form").length<1)return;e.preventDefault();if(typeof frmProForm!=="undefined"&&typeof frmProForm.submitAllowed==="function")if(!frmProForm.submitAllowed(object))return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));
39
+ executeInvisibleRecaptcha(invisibleRecaptcha)}else{var errors=frmFrontForm.validateFormSubmit(object);if(Object.keys(errors).length===0){showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object,classList)}}},submitFormNow:function(object){var classList=object.className.trim().split(/\s+/gi);if(classList.indexOf("frm_ajax_submit")>-1){var hasFileFields=jQuery(object).find('input[type="file"]').filter(function(){return!!this.value}).length;if(hasFileFields<1){action=jQuery(object).find('input[name="frm_action"]').val();
40
+ frmFrontForm.checkFormErrors(object,action)}else object.submit()}else object.submit()},validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);if(Object.keys(jsErrors).length)frmFrontForm.addAjaxFormErrors(object)}return jsErrors},getAjaxFormErrors:function(object){jsErrors=validateForm(object);if(typeof frmThemeOverride_jsErrors==="function"){action=
41
+ jQuery(object).find('input[name="frm_action"]').val();var customErrors=frmThemeOverride_jsErrors(action,object);if(Object.keys(customErrors).length)for(var key in customErrors)jsErrors[key]=customErrors[key]}return jsErrors},addAjaxFormErrors:function(object){removeAllErrors();for(var key in jsErrors){var $fieldCont=jQuery(object).find("#frm_field_"+key+"_container");if($fieldCont.length)addFieldError($fieldCont,key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object)},checkFormErrors:function(object,
42
+ action){getFormErrors(object,action)},checkRequiredField:function(field,errors){return checkRequiredField(field,errors)},showSubmitLoading:function($object){showSubmitLoading($object)},removeSubmitLoading:function($object,enable,processesRunning){removeSubmitLoading($object,enable,processesRunning)},scrollToID:function(id){var object=jQuery(document.getElementById(id));frmFrontForm.scrollMsg(object,false)},scrollMsg:function(id,object,animate){var scrollObj="";if(typeof object==="undefined"){scrollObj=
43
+ jQuery(document.getElementById("frm_form_"+id+"_container"));if(scrollObj.length<1)return}else if(typeof id==="string")scrollObj=jQuery(object).find("#frm_field_"+id+"_container");else scrollObj=id;var newPos=scrollObj.offset().top;if(!newPos)return;newPos=newPos-frm_js.offset;var m=jQuery("html").css("margin-top");var b=jQuery("body").css("margin-top");if(m||b)newPos=newPos-parseInt(m)-parseInt(b);if(newPos&&window.innerHeight){var screenTop=document.documentElement.scrollTop||document.body.scrollTop;
44
+ var screenBottom=screenTop+window.innerHeight;if(newPos>screenBottom||newPos<screenTop){if(typeof animate==="undefined")jQuery(window).scrollTop(newPos);else jQuery("html,body").animate({scrollTop:newPos},500);return false}}},fieldValueChanged:function(e){var field_id=frmFrontForm.getFieldId(this,false);if(!field_id||typeof field_id==="undefined")return;if(e.frmTriggered&&e.frmTriggered==field_id)return;jQuery(document).trigger("frmFieldChanged",[this,field_id,e]);if(e.selfTriggered!==true)maybeValidateChange(field_id,
45
+ this)},savingDraft:function(object){console.warn("DEPRECATED: function frmFrontForm.savingDraft in v3.0 use frmProForm.savingDraft");if(typeof frmProForm!=="undefined")return frmProForm.savingDraft(object)},goingToPreviousPage:function(object){console.warn("DEPRECATED: function frmFrontForm.goingToPreviousPage in v3.0 use frmProForm.goingToPreviousPage");if(typeof frmProForm!=="undefined")return frmProForm.goingToPreviousPage(object)},hideOrShowFields:function(ids,event){console.warn("DEPRECATED: function frmFrontForm.hideOrShowFields in v3.0 use frmProForm.hideOrShowFields");
46
+ if(typeof frmProForm!=="undefined")frmProForm.hideOrShowFields()},hidePreviouslyHiddenFields:function(){console.warn("DEPRECATED: function frmFrontForm.hidePreviouslyHiddenFields in v3.0 use frmProForm.hidePreviouslyHiddenFields");if(typeof frmProForm!=="undefined")frmProForm.hidePreviouslyHiddenFields()},checkDependentDynamicFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentDynamicFields in v3.0 use frmProForm.checkDependentDynamicFields");if(typeof frmProForm!==
47
+ "undefined")frmProForm.checkDependentDynamicFields(ids)},checkDependentLookupFields:function(ids){console.warn("DEPRECATED: function frmFrontForm.checkDependentLookupFields in v3.0 use frmProForm.checkDependentLookupFields");if(typeof frmProForm!=="undefined")frmProForm.checkDependentLookupFields(ids)},loadGoogle:function(){console.warn("DEPRECATED: function frmFrontForm.loadGoogle in v3.0 use frmProForm.loadGoogle");frmProForm.loadGoogle()},removeUsedTimes:function(obj,timeField){console.warn("DEPRECATED: function frmFrontForm.removeUsedTimes in v3.0 use frmProForm.removeUsedTimes");
48
+ if(typeof frmProForm!=="undefined")frmProForm.removeUsedTimes()},escapeHtml:function(text){return text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;")},invisible:function(classes){jQuery(classes).css("visibility","hidden")},visible:function(classes){jQuery(classes).css("visibility","visible")}}}var frmFrontForm=frmFrontFormJS();jQuery(document).ready(function($){frmFrontForm.init()});
49
+ function frmRecaptcha(){var captchas=jQuery(".frm-g-recaptcha");for(var c=0,cl=captchas.length;c<cl;c++)frmFrontForm.renderRecaptcha(captchas[c])}function frmAfterRecaptcha(token){frmFrontForm.afterSingleRecaptcha(token)}
50
  function frmUpdateField(entry_id,field_id,value,message,num){jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).html('<span class="frm-loading-img"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_update_field_ajax",entry_id:entry_id,field_id:field_id,value:value,nonce:frm_js.nonce},success:function(){if(message.replace(/^\s+|\s+$/g,"")==="")jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).fadeOut("slow");
51
  else jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).replaceWith(message)}})}
52
  function frmDeleteEntry(entry_id,prefix){console.warn("DEPRECATED: function frmDeleteEntry in v2.0.13 use frmFrontForm.deleteEntry");jQuery(document.getElementById("frm_delete_"+entry_id)).replaceWith('<span class="frm-loading-img" id="frm_delete_'+entry_id+'"></span>');jQuery.ajax({type:"POST",url:frm_js.ajax_url,data:{action:"frm_entries_destroy",entry:entry_id,nonce:frm_js.nonce},success:function(html){if(html.replace(/^\s+|\s+$/g,"")==="success")jQuery(document.getElementById(prefix+entry_id)).fadeOut("slow");
js/formidable_admin.js CHANGED
@@ -1875,29 +1875,20 @@ function frmAdminBuildJS() {
1875
  //Add new option or "Other" option to radio/checkbox/dropdown
1876
  function addFieldOption() {
1877
  /*jshint validthis:true */
1878
- var field_id = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),
1879
- newOption = jQuery( '#frm_field_' + field_id + '_opts .frm_option_template' ).prop('outerHTML'),
1880
  opt_type = jQuery( this ).data( 'opttype' ),
1881
  optKey = 0,
1882
- lastKey = 0,
1883
  oldKey = '000',
1884
- lastOpt = jQuery( '#frm_field_' + field_id + '_opts li:last' );
1885
-
1886
- if ( lastOpt.length ) {
1887
- optKey = lastOpt.data( 'optkey');
1888
- lastKey = parseInt( optKey );
1889
- if ( isNaN( lastKey ) ) {
1890
- lastKey = jQuery( '#frm_field_' + field_id + '_opts li' ).length;
1891
- if ( document.getElementById( 'frm_delete_field_' + field_id + '-' + ( lastKey + 1 ) + '_container' ) !== null ) {
1892
- lastKey = lastKey + 2;
1893
- }
1894
- }
1895
  optKey = lastKey + 1;
1896
  }
1897
 
1898
  //Update hidden field
1899
  if ( opt_type === 'other' ) {
1900
- document.getElementById( 'other_input_' + field_id ).value = 1;
1901
 
1902
  //Hide "Add Other" option now if this is radio field
1903
  var ftype = jQuery( this ).data( 'ftype' );
@@ -1906,13 +1897,15 @@ function frmAdminBuildJS() {
1906
  }
1907
 
1908
  var data = {
1909
- action: 'frm_add_field_option', field_id: field_id,
 
1910
  opt_key: optKey,
1911
- opt_type: opt_type, nonce: frmGlobal.nonce
 
1912
  };
1913
  jQuery.post( ajaxurl, data, function( msg ) {
1914
- jQuery( document.getElementById( 'frm_field_' + field_id + '_opts' ) ).append( msg );
1915
- resetDisplayedOpts( field_id );
1916
  } );
1917
  } else {
1918
  newOption = newOption.replace( new RegExp( 'optkey="' + oldKey + '"', 'g' ), 'optkey="' + optKey + '"' );
@@ -1920,9 +1913,33 @@ function frmAdminBuildJS() {
1920
  newOption = newOption.replace( new RegExp( '-' + oldKey + '"', 'g' ), '-' + optKey + '"' );
1921
  newOption = newOption.replace( new RegExp( '\\[' + oldKey + '\\]', 'g' ), '[' + optKey + ']' );
1922
  newOption = newOption.replace( 'frm_hidden frm_option_template', '' );
1923
- jQuery( document.getElementById( 'frm_field_' + field_id + '_opts' ) ).append( newOption );
1924
- resetDisplayedOpts( field_id );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1925
  }
 
 
1926
  }
1927
 
1928
  function toggleMultSel() {
@@ -1978,16 +1995,20 @@ function frmAdminBuildJS() {
1978
 
1979
  function deleteFieldOption() {
1980
  /*jshint validthis:true */
1981
- var parentLi = this.parentNode;
1982
- var parentUl = parentLi.parentNode;
1983
- var field_id = this.getAttribute( 'data-fid' );
 
1984
 
1985
  jQuery( parentLi ).fadeOut( 'slow', function() {
1986
  jQuery( parentLi ).remove();
1987
 
1988
  var hasOther = jQuery( parentUl ).find( '.frm_other_option' );
1989
  if ( hasOther.length < 1 ) {
1990
- document.getElementById( 'other_input_' + field_id ).value = 0;
 
 
 
1991
  jQuery( '#other_button_' + field_id ).fadeIn( 'slow' );
1992
  }
1993
  } );
@@ -2970,8 +2991,63 @@ function frmAdminBuildJS() {
2970
 
2971
  function changeInputtedValue() {
2972
  /*jshint validthis:true */
2973
- var action = this.getAttribute( 'data-frmchange' );
2974
- this.value = this.value[ action ]();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2975
  }
2976
 
2977
  function submitBuild() {
@@ -4713,8 +4789,8 @@ function frmAdminBuildJS() {
4713
  if ( response.form ) {
4714
  loader.hide();
4715
  jQuery( '.frm-inline-error' ).remove();
4716
- //proceed.val(monsterinsights_admin.proceed);
4717
- //proceed.after('<span class="frm-inline-error">' + monsterinsights_admin.connect_error + '</span>');
4718
  return;
4719
  }
4720
 
@@ -4739,6 +4815,12 @@ function frmAdminBuildJS() {
4739
  // Proceed with CSS changes
4740
  el.parent().removeClass('frm-addon-not-installed frm-addon-installed').addClass('frm-addon-active');
4741
  button.removeClass('frm_loading_button');
 
 
 
 
 
 
4742
  }
4743
 
4744
  function addonError( response, el, button ) {
@@ -5817,6 +5899,16 @@ function frmAdminBuildJS() {
5817
  jQuery( 'select[name="format"]' ).change( checkExportTypes ).change();
5818
  jQuery( 'input[name="frm_export_forms[]"]' ).click( preventMultipleExport );
5819
  initiateMultiselect();
 
 
 
 
 
 
 
 
 
 
5820
  },
5821
 
5822
  updateOpts: function( field_id, opts, modal ) {
1875
  //Add new option or "Other" option to radio/checkbox/dropdown
1876
  function addFieldOption() {
1877
  /*jshint validthis:true */
1878
+ var fieldId = jQuery( this ).closest( '.frm-single-settings' ).data( 'fid' ),
1879
+ newOption = jQuery( '#frm_field_' + fieldId + '_opts .frm_option_template' ).prop('outerHTML'),
1880
  opt_type = jQuery( this ).data( 'opttype' ),
1881
  optKey = 0,
 
1882
  oldKey = '000',
1883
+ lastKey = getHighestOptKey( fieldId );
1884
+
1885
+ if ( lastKey !== oldKey ) {
 
 
 
 
 
 
 
 
1886
  optKey = lastKey + 1;
1887
  }
1888
 
1889
  //Update hidden field
1890
  if ( opt_type === 'other' ) {
1891
+ document.getElementById( 'other_input_' + fieldId ).value = 1;
1892
 
1893
  //Hide "Add Other" option now if this is radio field
1894
  var ftype = jQuery( this ).data( 'ftype' );
1897
  }
1898
 
1899
  var data = {
1900
+ action: 'frm_add_field_option',
1901
+ field_id: fieldId,
1902
  opt_key: optKey,
1903
+ opt_type: opt_type,
1904
+ nonce: frmGlobal.nonce
1905
  };
1906
  jQuery.post( ajaxurl, data, function( msg ) {
1907
+ jQuery( document.getElementById( 'frm_field_' + fieldId + '_opts' ) ).append( msg );
1908
+ resetDisplayedOpts( fieldId );
1909
  } );
1910
  } else {
1911
  newOption = newOption.replace( new RegExp( 'optkey="' + oldKey + '"', 'g' ), 'optkey="' + optKey + '"' );
1913
  newOption = newOption.replace( new RegExp( '-' + oldKey + '"', 'g' ), '-' + optKey + '"' );
1914
  newOption = newOption.replace( new RegExp( '\\[' + oldKey + '\\]', 'g' ), '[' + optKey + ']' );
1915
  newOption = newOption.replace( 'frm_hidden frm_option_template', '' );
1916
+ jQuery( document.getElementById( 'frm_field_' + fieldId + '_opts' ) ).append( newOption );
1917
+ resetDisplayedOpts( fieldId );
1918
+ }
1919
+ }
1920
+
1921
+ function getHighestOptKey( fieldId ) {
1922
+ var i = 0,
1923
+ optKey = 0,
1924
+ opts = jQuery( '#frm_field_' + fieldId + '_opts li' ),
1925
+ lastKey = 0;
1926
+
1927
+ for ( i; i < opts.length; i ++ ) {
1928
+ optKey = opts[i].getAttribute( 'data-optkey' );
1929
+ if ( opts.length === 1 ) {
1930
+ return optKey;
1931
+ }
1932
+ if ( optKey != '000' ) {
1933
+ optKey = optKey.replace( 'other_', '' );
1934
+ optKey = parseInt( optKey );
1935
+ }
1936
+
1937
+ if ( ! isNaN( lastKey ) && ( optKey > lastKey || lastKey === '000' ) ) {
1938
+ lastKey = optKey;
1939
+ }
1940
  }
1941
+
1942
+ return lastKey;
1943
  }
1944
 
1945
  function toggleMultSel() {
1995
 
1996
  function deleteFieldOption() {
1997
  /*jshint validthis:true */
1998
+ var otherInput,
1999
+ parentLi = this.parentNode,
2000
+ parentUl = parentLi.parentNode,
2001
+ field_id = this.getAttribute( 'data-fid' );
2002
 
2003
  jQuery( parentLi ).fadeOut( 'slow', function() {
2004
  jQuery( parentLi ).remove();
2005
 
2006
  var hasOther = jQuery( parentUl ).find( '.frm_other_option' );
2007
  if ( hasOther.length < 1 ) {
2008
+ otherInput = document.getElementById( 'other_input_' + field_id );
2009
+ if ( otherInput !== null ) {
2010
+ otherInput.value = 0;
2011
+ }
2012
  jQuery( '#other_button_' + field_id ).fadeIn( 'slow' );
2013
  }
2014
  } );
2991
 
2992
  function changeInputtedValue() {
2993
  /*jshint validthis:true */
2994
+ var i,
2995
+ action = this.getAttribute( 'data-frmchange' ).split( ',' );
2996
+
2997
+ for ( i = 0; i < action.length; i ++ ) {
2998
+ if ( action[i] == 'updateOption' ) {
2999
+ changeHiddenSeparateValue( this );
3000
+ } else if ( action[i] == 'updateDefault' ) {
3001
+ changeDefaultRadioValue( this );
3002
+ } else {
3003
+ this.value = this.value[ action[i] ]();
3004
+ }
3005
+ }
3006
+ }
3007
+
3008
+ /**
3009
+ * When the saved value is changed, update the default value radio.
3010
+ */
3011
+ function changeDefaultRadioValue( input ) {
3012
+ var parentLi = getOptionParent( input ),
3013
+ key = parentLi.getAttribute( 'data-optkey' ),
3014
+ fieldId = getOptionFieldId( parentLi, key ),
3015
+ defaultRadio = parentLi.querySelector( 'input[name="default_value_' + fieldId + '"]' );
3016
+
3017
+ defaultRadio.value = input.value;
3018
+ }
3019
+
3020
+ /**
3021
+ * If separate values are not enabled, change the saved value when
3022
+ * the displayed value is changed.
3023
+ */
3024
+ function changeHiddenSeparateValue( input ) {
3025
+ var savedVal,
3026
+ parentLi = getOptionParent( input ),
3027
+ key = parentLi.getAttribute( 'data-optkey' ),
3028
+ fieldId = getOptionFieldId( parentLi, key ),
3029
+ sep = document.getElementById( 'separate_value_' + fieldId );
3030
+
3031
+ if ( sep.checked === false ) {
3032
+ // If separate values are not turned on.
3033
+ savedVal = document.getElementById( 'field_key_' + fieldId + '-' + key );
3034
+ savedVal.value = input.value;
3035
+ changeDefaultRadioValue( savedVal );
3036
+ }
3037
+ }
3038
+
3039
+ function getOptionParent( input ) {
3040
+ var parentLi = input.parentNode;
3041
+ if ( parentLi.tagName !== 'LI' ) {
3042
+ parentLi = parentLi.parentNode;
3043
+ }
3044
+ return parentLi;
3045
+ }
3046
+
3047
+ function getOptionFieldId( li, key ) {
3048
+ var liId = li.id;
3049
+
3050
+ return liId.replace( 'frm_delete_field_', '' ).replace( '-' + key + '_container', '' );
3051
  }
3052
 
3053
  function submitBuild() {
4789
  if ( response.form ) {
4790
  loader.hide();
4791
  jQuery( '.frm-inline-error' ).remove();
4792
+ //proceed.val(admin.proceed);
4793
+ //proceed.after('<span class="frm-inline-error">' + admin.connect_error + '</span>');
4794
  return;
4795
  }
4796
 
4815
  // Proceed with CSS changes
4816
  el.parent().removeClass('frm-addon-not-installed frm-addon-installed').addClass('frm-addon-active');
4817
  button.removeClass('frm_loading_button');
4818
+
4819
+ // Maybe refresh import and SMTP pages
4820
+ var refreshPage = document.querySelectorAll( '.frm-admin-page-import, #frm-admin-smtp' );
4821
+ if ( refreshPage.length > 0 ) {
4822
+ window.location.reload();
4823
+ }
4824
  }
4825
 
4826
  function addonError( response, el, button ) {
5899
  jQuery( 'select[name="format"]' ).change( checkExportTypes ).change();
5900
  jQuery( 'input[name="frm_export_forms[]"]' ).click( preventMultipleExport );
5901
  initiateMultiselect();
5902
+
5903
+ jQuery( '.frm-feature-banner .dismiss' ).click( function( event ) {
5904
+ event.preventDefault();
5905
+ jQuery.post( ajaxurl, {
5906
+ action: 'frm_dismiss_migrator',
5907
+ plugin: this.id,
5908
+ nonce: frmGlobal.nonce
5909
+ } );
5910
+ this.parentElement.remove();
5911
+ } );
5912
  },
5913
 
5914
  updateOpts: function( field_id, opts, modal ) {
languages/formidable.pot CHANGED
@@ -2,14 +2,14 @@
2
  # This file is distributed under the same license as the Formidable Forms plugin.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Formidable Forms 4.04.03\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/formidable\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "POT-Creation-Date: 2020-04-23T22:49:02+02:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.1.0\n"
15
  "X-Domain: formidable\n"
@@ -599,7 +599,7 @@ msgid "Installed"
599
  msgstr ""
600
 
601
  #: classes/controllers/FrmAddonsController.php:484
602
- #: classes/helpers/FrmAppHelper.php:2272
603
  msgid "Active"
604
  msgstr ""
605
 
@@ -631,11 +631,11 @@ msgid "Settings"
631
  msgstr ""
632
 
633
  #: classes/controllers/FrmAppController.php:158
634
- #: classes/controllers/FrmXMLController.php:133
635
  #: classes/controllers/FrmFormsController.php:729
636
  #: classes/controllers/FrmEntriesController.php:8
637
  #: classes/controllers/FrmEntriesController.php:90
638
- #: classes/views/xml/import_form.php:115
639
  msgid "Entries"
640
  msgstr ""
641
 
@@ -653,43 +653,43 @@ msgstr ""
653
  msgid "Build a Form"
654
  msgstr ""
655
 
656
- #: classes/controllers/FrmXMLController.php:6
657
  #: classes/views/xml/import_form.php:5
658
  msgid "Import/Export"
659
  msgstr ""
660
 
661
- #: classes/controllers/FrmXMLController.php:48
662
  msgid "There was an error reading the form template"
663
  msgstr ""
664
 
665
- #: classes/controllers/FrmXMLController.php:68
666
  msgid "There was an error importing form"
667
  msgstr ""
668
 
669
- #: classes/controllers/FrmXMLController.php:132
670
  #: classes/controllers/FrmFormsController.php:6
671
  #: classes/controllers/FrmFormsController.php:739
672
  #: classes/views/frm-forms/list.php:5
673
  msgid "Forms"
674
  msgstr ""
675
 
676
- #: classes/controllers/FrmXMLController.php:168
677
  msgid "Oops, you didn't select a file."
678
  msgstr ""
679
 
680
- #: classes/controllers/FrmXMLController.php:179
681
  msgid "The file does not exist, please try again."
682
  msgstr ""
683
 
684
- #: classes/controllers/FrmXMLController.php:208
685
  msgid "XML import is not enabled on your server with the libxml_disable_entity_loader function."
686
  msgstr ""
687
 
688
- #: classes/controllers/FrmXMLController.php:416
689
  msgid "Please select a form"
690
  msgstr ""
691
 
692
- #: classes/controllers/FrmXMLController.php:473
693
  msgid "There are no entries for that form."
694
  msgstr ""
695
 
@@ -807,6 +807,98 @@ msgstr ""
807
  msgid "Analyze form data with graphs & stats"
808
  msgstr ""
809
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
810
  #: classes/controllers/FrmStylesController.php:17
811
  #: classes/controllers/FrmStylesController.php:35
812
  #: classes/controllers/FrmStylesController.php:47
@@ -815,7 +907,7 @@ msgstr ""
815
 
816
  #: classes/controllers/FrmStylesController.php:36
817
  #: classes/controllers/FrmStylesController.php:37
818
- #: classes/views/xml/import_form.php:116
819
  #: classes/views/styles/_field-description.php:14
820
  #: classes/views/styles/_field-colors.php:18
821
  #: classes/views/styles/_field-colors.php:77
@@ -853,7 +945,7 @@ msgstr ""
853
  #: classes/controllers/FrmStylesController.php:390
854
  #: classes/controllers/FrmFormsController.php:728
855
  #: classes/views/frm-forms/settings-advanced.php:8
856
- #: classes/views/xml/import_form.php:112
857
  #: classes/views/styles/_sample_form.php:14
858
  #: classes/views/styles/manage.php:34
859
  msgid "Form Title"
@@ -969,7 +1061,7 @@ msgstr ""
969
 
970
  #: classes/controllers/FrmFormsController.php:630
971
  #: classes/controllers/FrmEntriesController.php:74
972
- #: classes/views/xml/import_form.php:146
973
  #: classes/widgets/FrmShowForm.php:56
974
  msgid "Form"
975
  msgstr ""
@@ -997,7 +1089,7 @@ msgid "Template Name"
997
  msgstr ""
998
 
999
  #: classes/controllers/FrmFormsController.php:725
1000
- #: classes/views/xml/import_form.php:114
1001
  msgid "Type"
1002
  msgstr ""
1003
 
@@ -1165,7 +1257,7 @@ msgstr ""
1165
 
1166
  #: classes/controllers/FrmFormsController.php:1468
1167
  #: classes/views/frm-forms/list-templates.php:198
1168
- #: classes/views/xml/import_form.php:127
1169
  #: classes/views/styles/manage.php:54
1170
  #: classes/helpers/FrmFormsListHelper.php:317
1171
  #: classes/helpers/FrmFormsHelper.php:57
@@ -1323,7 +1415,7 @@ msgstr ""
1323
  #: classes/views/frm-forms/new-form-overlay.php:31
1324
  #: classes/views/shared/confirm-overlay.php:14
1325
  #: classes/views/shared/admin-header.php:42
1326
- #: classes/helpers/FrmAppHelper.php:2232
1327
  msgid "Cancel"
1328
  msgstr ""
1329
 
@@ -1335,7 +1427,7 @@ msgstr ""
1335
  #: classes/views/shared/mb_adv_info.php:35
1336
  #: classes/views/shared/mb_adv_info.php:178
1337
  #: classes/views/frm-entries/list.php:42
1338
- #: classes/helpers/FrmAppHelper.php:918
1339
  msgid "Search"
1340
  msgstr ""
1341
 
@@ -1521,7 +1613,7 @@ msgid "Show Page Content"
1521
  msgstr ""
1522
 
1523
  #: classes/views/frm-forms/settings-advanced.php:93
1524
- #: classes/helpers/FrmAppHelper.php:1043
1525
  msgid "Select a Page"
1526
  msgstr ""
1527
 
@@ -1792,11 +1884,6 @@ msgstr ""
1792
  msgid "Deactivate"
1793
  msgstr ""
1794
 
1795
- #: classes/views/addons/settings.php:28
1796
- #: classes/views/addons/list.php:71
1797
- msgid "Activate"
1798
- msgstr ""
1799
-
1800
  #: classes/views/addons/upgrade_to_pro.php:18
1801
  #: classes/views/addons/upgrade_to_pro.php:75
1802
  msgid "Get Started Now"
@@ -1824,13 +1911,6 @@ msgstr ""
1824
  msgid "Status: %s"
1825
  msgstr ""
1826
 
1827
- #: classes/views/addons/list.php:74
1828
- #: classes/views/addons/list.php:75
1829
- #: classes/views/shared/upgrade_overlay.php:27
1830
- #: classes/helpers/FrmAppHelper.php:2271
1831
- msgid "Install"
1832
- msgstr ""
1833
-
1834
  #: classes/views/addons/list.php:78
1835
  #: classes/views/addons/list.php:82
1836
  #: classes/views/addons/list.php:83
@@ -1849,12 +1929,13 @@ msgstr ""
1849
  #: classes/views/shared/upgrade_overlay.php:4
1850
  #: classes/views/shared/info-overlay.php:4
1851
  #: classes/views/frm-settings/settings_cta.php:5
 
1852
  msgid "Dismiss this message"
1853
  msgstr ""
1854
 
1855
  #: classes/views/shared/confirm-overlay.php:10
1856
  #: classes/views/shared/info-overlay.php:10
1857
- #: classes/helpers/FrmAppHelper.php:2239
1858
  msgid "Are you sure?"
1859
  msgstr ""
1860
 
@@ -1969,7 +2050,7 @@ msgstr ""
1969
 
1970
  #: classes/views/shared/mb_adv_info.php:90
1971
  #: classes/helpers/FrmCSVExportHelper.php:154
1972
- #: classes/helpers/FrmAppHelper.php:2211
1973
  msgid "ID"
1974
  msgstr ""
1975
 
@@ -1979,7 +2060,7 @@ msgstr ""
1979
 
1980
  #: classes/views/shared/mb_adv_info.php:108
1981
  #: classes/views/shared/mb_adv_info.php:122
1982
- #: classes/helpers/FrmAppHelper.php:2273
1983
  msgid "Select a Field"
1984
  msgstr ""
1985
 
@@ -2012,61 +2093,61 @@ msgstr ""
2012
  msgid "Upload file and import"
2013
  msgstr ""
2014
 
2015
- #: classes/views/xml/import_form.php:40
2016
  msgid "Export"
2017
  msgstr ""
2018
 
2019
- #: classes/views/xml/import_form.php:42
2020
  msgid "Export your forms, entries, views, and styles so you can easily import them on another site."
2021
  msgstr ""
2022
 
2023
- #: classes/views/xml/import_form.php:49
2024
  msgid "Export Format"
2025
  msgstr ""
2026
 
2027
- #: classes/views/xml/import_form.php:60
2028
  msgid "If your CSV special characters are not working correctly, try a different formatting option."
2029
  msgstr ""
2030
 
2031
- #: classes/views/xml/import_form.php:61
2032
  msgid "CSV Encoding Format"
2033
  msgstr ""
2034
 
2035
- #: classes/views/xml/import_form.php:74
2036
  msgid "Column Separation"
2037
  msgstr ""
2038
 
2039
- #: classes/views/xml/import_form.php:80
2040
  msgid "Include the following in the export file"
2041
  msgstr ""
2042
 
2043
- #: classes/views/xml/import_form.php:92
2044
  msgid "Select Form(s)"
2045
  msgstr ""
2046
 
2047
- #: classes/views/xml/import_form.php:95
2048
  msgid "Select a Form"
2049
  msgstr ""
2050
 
2051
- #: classes/views/xml/import_form.php:102
2052
  #: classes/helpers/FrmFormsHelper.php:144
2053
  msgid "Search Forms"
2054
  msgstr ""
2055
 
2056
- #: classes/views/xml/import_form.php:113
2057
  msgid "ID / Form Key"
2058
  msgstr ""
2059
 
2060
- #: classes/views/xml/import_form.php:136
2061
  msgid "Template"
2062
  msgstr ""
2063
 
2064
  #. translators: %1$s: Form name
2065
- #: classes/views/xml/import_form.php:141
2066
  msgid "Child Form (%1$s)"
2067
  msgstr ""
2068
 
2069
- #: classes/views/xml/import_form.php:173
2070
  msgid "Export Selection"
2071
  msgstr ""
2072
 
@@ -2590,7 +2671,7 @@ msgid "Label Position"
2590
  msgstr ""
2591
 
2592
  #: classes/views/frm-fields/back-end/settings.php:265
2593
- #: classes/helpers/FrmAppHelper.php:2233
2594
  msgid "Default"
2595
  msgstr ""
2596
 
@@ -3277,7 +3358,7 @@ msgid "See all forms."
3277
  msgstr ""
3278
 
3279
  #: classes/helpers/FrmFormsListHelper.php:114
3280
- #: classes/helpers/FrmAppHelper.php:903
3281
  msgid "Add New"
3282
  msgstr ""
3283
 
@@ -3329,7 +3410,7 @@ msgid "Draft"
3329
  msgstr ""
3330
 
3331
  #: classes/helpers/FrmFieldsHelper.php:286
3332
- #: classes/helpers/FrmAppHelper.php:2244
3333
  msgid "The entered values do not match"
3334
  msgstr ""
3335
 
@@ -3340,7 +3421,7 @@ msgstr ""
3340
 
3341
  #: classes/helpers/FrmFieldsHelper.php:456
3342
  #: classes/helpers/FrmFieldsHelper.php:457
3343
- #: classes/helpers/FrmAppHelper.php:2248
3344
  msgid "New Option"
3345
  msgstr ""
3346
 
@@ -4540,7 +4621,7 @@ msgid "Excerpt View"
4540
  msgstr ""
4541
 
4542
  #: classes/helpers/FrmListHelper.php:257
4543
- #: classes/helpers/FrmAppHelper.php:2274
4544
  msgid "No items found."
4545
  msgstr ""
4546
 
@@ -4599,6 +4680,20 @@ msgstr ""
4599
  msgid "Select All"
4600
  msgstr ""
4601
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4602
  #: classes/helpers/FrmEntriesHelper.php:530
4603
  #: classes/helpers/FrmEntriesHelper.php:531
4604
  msgid "Unknown"
@@ -4778,7 +4873,7 @@ msgid "Is this intentional?"
4778
  msgstr ""
4779
 
4780
  #: classes/helpers/FrmFormsHelper.php:1445
4781
- #: classes/helpers/FrmAppHelper.php:2268
4782
  msgid "See the list of reserved words in WordPress."
4783
  msgstr ""
4784
 
@@ -4828,556 +4923,556 @@ msgstr ""
4828
  msgid "Parent ID"
4829
  msgstr ""
4830
 
4831
- #: classes/helpers/FrmAppHelper.php:1174
4832
  msgid "View Forms"
4833
  msgstr ""
4834
 
4835
- #: classes/helpers/FrmAppHelper.php:1175
4836
  msgid "Add and Edit Forms"
4837
  msgstr ""
4838
 
4839
- #: classes/helpers/FrmAppHelper.php:1176
4840
  msgid "Delete Forms"
4841
  msgstr ""
4842
 
4843
- #: classes/helpers/FrmAppHelper.php:1177
4844
  msgid "Access this Settings Page"
4845
  msgstr ""
4846
 
4847
- #: classes/helpers/FrmAppHelper.php:1178
4848
  msgid "View Entries from Admin Area"
4849
  msgstr ""
4850
 
4851
- #: classes/helpers/FrmAppHelper.php:1179
4852
  msgid "Delete Entries from Admin Area"
4853
  msgstr ""
4854
 
4855
- #: classes/helpers/FrmAppHelper.php:1186
4856
  msgid "Add Entries from Admin Area"
4857
  msgstr ""
4858
 
4859
- #: classes/helpers/FrmAppHelper.php:1187
4860
  msgid "Edit Entries from Admin Area"
4861
  msgstr ""
4862
 
4863
- #: classes/helpers/FrmAppHelper.php:1188
4864
  msgid "View Reports"
4865
  msgstr ""
4866
 
4867
- #: classes/helpers/FrmAppHelper.php:1189
4868
  msgid "Add/Edit Views"
4869
  msgstr ""
4870
 
4871
- #: classes/helpers/FrmAppHelper.php:1811
4872
  msgid "at"
4873
  msgstr ""
4874
 
4875
- #: classes/helpers/FrmAppHelper.php:1862
4876
- #: classes/helpers/FrmAppHelper.php:1881
4877
  msgid "seconds"
4878
  msgstr ""
4879
 
4880
- #: classes/helpers/FrmAppHelper.php:1875
4881
  msgid "year"
4882
  msgstr ""
4883
 
4884
- #: classes/helpers/FrmAppHelper.php:1875
4885
  msgid "years"
4886
  msgstr ""
4887
 
4888
- #: classes/helpers/FrmAppHelper.php:1876
4889
  msgid "month"
4890
  msgstr ""
4891
 
4892
- #: classes/helpers/FrmAppHelper.php:1876
4893
  msgid "months"
4894
  msgstr ""
4895
 
4896
- #: classes/helpers/FrmAppHelper.php:1877
4897
  msgid "week"
4898
  msgstr ""
4899
 
4900
- #: classes/helpers/FrmAppHelper.php:1877
4901
  msgid "weeks"
4902
  msgstr ""
4903
 
4904
- #: classes/helpers/FrmAppHelper.php:1878
4905
  msgid "day"
4906
  msgstr ""
4907
 
4908
- #: classes/helpers/FrmAppHelper.php:1878
4909
  msgid "days"
4910
  msgstr ""
4911
 
4912
- #: classes/helpers/FrmAppHelper.php:1879
4913
  msgid "hour"
4914
  msgstr ""
4915
 
4916
- #: classes/helpers/FrmAppHelper.php:1879
4917
  msgid "hours"
4918
  msgstr ""
4919
 
4920
- #: classes/helpers/FrmAppHelper.php:1880
4921
  msgid "minute"
4922
  msgstr ""
4923
 
4924
- #: classes/helpers/FrmAppHelper.php:1880
4925
  msgid "minutes"
4926
  msgstr ""
4927
 
4928
- #: classes/helpers/FrmAppHelper.php:1881
4929
  msgid "second"
4930
  msgstr ""
4931
 
4932
- #: classes/helpers/FrmAppHelper.php:1973
4933
  msgid "Give this action a label for easy reference."
4934
  msgstr ""
4935
 
4936
- #: classes/helpers/FrmAppHelper.php:1974
4937
  msgid "Add one or more recipient addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com. [admin_email] is the address set in WP General Settings."
4938
  msgstr ""
4939
 
4940
- #: classes/helpers/FrmAppHelper.php:1975
4941
  msgid "Add CC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
4942
  msgstr ""
4943
 
4944
- #: classes/helpers/FrmAppHelper.php:1976
4945
  msgid "Add BCC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
4946
  msgstr ""
4947
 
4948
- #: classes/helpers/FrmAppHelper.php:1977
4949
  msgid "If you would like a different reply to address than the \"from\" address, add a single address here. FORMAT: Name <name@email.com> or name@email.com."
4950
  msgstr ""
4951
 
4952
- #: classes/helpers/FrmAppHelper.php:1978
4953
  msgid "Enter the name and/or email address of the sender. FORMAT: John Bates <john@example.com> or john@example.com."
4954
  msgstr ""
4955
 
4956
  #. translators: %1$s: Form name, %2$s: Date
4957
- #: classes/helpers/FrmAppHelper.php:1980
4958
  msgid "If you leave the subject blank, the default will be used: %1$s Form submitted on %2$s"
4959
  msgstr ""
4960
 
4961
- #: classes/helpers/FrmAppHelper.php:2174
4962
- #: classes/helpers/FrmAppHelper.php:2253
4963
  msgid "Please wait while your site updates."
4964
  msgstr ""
4965
 
4966
- #: classes/helpers/FrmAppHelper.php:2175
4967
  msgid "Are you sure you want to deauthorize Formidable Forms on this site?"
4968
  msgstr ""
4969
 
4970
- #: classes/helpers/FrmAppHelper.php:2178
4971
- #: classes/helpers/FrmAppHelper.php:2207
4972
  msgid "Loading&hellip;"
4973
  msgstr ""
4974
 
4975
- #: classes/helpers/FrmAppHelper.php:2208
4976
  msgid "Remove"
4977
  msgstr ""
4978
 
4979
- #: classes/helpers/FrmAppHelper.php:2212
4980
  msgid "No results match"
4981
  msgstr ""
4982
 
4983
- #: classes/helpers/FrmAppHelper.php:2213
4984
  msgid "That file looks like Spam."
4985
  msgstr ""
4986
 
4987
- #: classes/helpers/FrmAppHelper.php:2214
4988
  msgid "There is an error in the calculation in the field with key"
4989
  msgstr ""
4990
 
4991
- #: classes/helpers/FrmAppHelper.php:2215
4992
  msgid "Please complete the preceding required fields before uploading a file."
4993
  msgstr ""
4994
 
4995
- #: classes/helpers/FrmAppHelper.php:2226
4996
  msgid "(Click to add description)"
4997
  msgstr ""
4998
 
4999
- #: classes/helpers/FrmAppHelper.php:2227
5000
  msgid "(Blank)"
5001
  msgstr ""
5002
 
5003
- #: classes/helpers/FrmAppHelper.php:2228
5004
  msgid "(no label)"
5005
  msgstr ""
5006
 
5007
- #: classes/helpers/FrmAppHelper.php:2229
5008
  msgid "Saving"
5009
  msgstr ""
5010
 
5011
- #: classes/helpers/FrmAppHelper.php:2230
5012
  msgid "Saved"
5013
  msgstr ""
5014
 
5015
- #: classes/helpers/FrmAppHelper.php:2231
5016
  msgid "OK"
5017
  msgstr ""
5018
 
5019
- #: classes/helpers/FrmAppHelper.php:2234
5020
  msgid "Clear default value when typing"
5021
  msgstr ""
5022
 
5023
- #: classes/helpers/FrmAppHelper.php:2235
5024
  msgid "Do not clear default value when typing"
5025
  msgstr ""
5026
 
5027
- #: classes/helpers/FrmAppHelper.php:2236
5028
  msgid "Default value will pass form validation"
5029
  msgstr ""
5030
 
5031
- #: classes/helpers/FrmAppHelper.php:2237
5032
  msgid "Default value will NOT pass form validation"
5033
  msgstr ""
5034
 
5035
- #: classes/helpers/FrmAppHelper.php:2238
5036
  msgid "Heads up"
5037
  msgstr ""
5038
 
5039
- #: classes/helpers/FrmAppHelper.php:2240
5040
  msgid "Are you sure you want to delete this field and all data associated with it?"
5041
  msgstr ""
5042
 
5043
- #: classes/helpers/FrmAppHelper.php:2241
5044
  msgid "All fields inside this Section will be deleted along with their data. Are you sure you want to delete this group of fields?"
5045
  msgstr ""
5046
 
5047
- #: classes/helpers/FrmAppHelper.php:2242
5048
  msgid "Warning: If you have entries with multiple rows, all but the first row will be lost."
5049
  msgstr ""
5050
 
5051
- #: classes/helpers/FrmAppHelper.php:2245
5052
  msgid "Enter Email"
5053
  msgstr ""
5054
 
5055
- #: classes/helpers/FrmAppHelper.php:2246
5056
  msgid "Confirm Email"
5057
  msgstr ""
5058
 
5059
- #: classes/helpers/FrmAppHelper.php:2247
5060
  msgid "Conditional content here"
5061
  msgstr ""
5062
 
5063
- #: classes/helpers/FrmAppHelper.php:2249
5064
  msgid "In certain browsers (e.g. Firefox) text will not display correctly if the field height is too small relative to the field padding and text size. Please increase your field height or decrease your field padding."
5065
  msgstr ""
5066
 
5067
- #: classes/helpers/FrmAppHelper.php:2250
5068
  msgid "Enter Password"
5069
  msgstr ""
5070
 
5071
- #: classes/helpers/FrmAppHelper.php:2251
5072
  msgid "Confirm Password"
5073
  msgstr ""
5074
 
5075
- #: classes/helpers/FrmAppHelper.php:2252
5076
  msgid "Import Complete"
5077
  msgstr ""
5078
 
5079
- #: classes/helpers/FrmAppHelper.php:2254
5080
  msgid "Warning: There is no way to retrieve unsaved entries."
5081
  msgstr ""
5082
 
5083
- #: classes/helpers/FrmAppHelper.php:2255
5084
  msgid "Private"
5085
  msgstr ""
5086
 
5087
- #: classes/helpers/FrmAppHelper.php:2258
5088
  msgid "No new licenses were found"
5089
  msgstr ""
5090
 
5091
- #: classes/helpers/FrmAppHelper.php:2259
5092
  msgid "This calculation has at least one unmatched ( ) { } [ ]."
5093
  msgstr ""
5094
 
5095
- #: classes/helpers/FrmAppHelper.php:2260
5096
  msgid "This calculation may have shortcodes that work in Views but not forms."
5097
  msgstr ""
5098
 
5099
- #: classes/helpers/FrmAppHelper.php:2261
5100
  msgid "This calculation may have shortcodes that work in text calculations but not numeric calculations."
5101
  msgstr ""
5102
 
5103
- #: classes/helpers/FrmAppHelper.php:2262
5104
  msgid "This form action is limited to one per form. Please edit the existing form action."
5105
  msgstr ""
5106
 
5107
  #. Translators: %s is the name of a Detail Page Slug that is a reserved word.
5108
- #: classes/helpers/FrmAppHelper.php:2265
5109
  msgid "The Detail Page Slug \"%s\" is reserved by WordPress. This may cause problems. Is this intentional?"
5110
  msgstr ""
5111
 
5112
  #. 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.
5113
- #: classes/helpers/FrmAppHelper.php:2267
5114
  msgid "The parameter \"%s\" is reserved by WordPress. This may cause problems when included in the URL. Is this intentional? "
5115
  msgstr ""
5116
 
5117
- #: classes/helpers/FrmAppHelper.php:2269
5118
  msgid "Please enter a Repeat Limit that is greater than 1."
5119
  msgstr ""
5120
 
5121
- #: classes/helpers/FrmAppHelper.php:2270
5122
  msgid "Please select a limit between 0 and 200."
5123
  msgstr ""
5124
 
5125
- #: classes/helpers/FrmAppHelper.php:2301
5126
  msgid "You are running an outdated version of Formidable. This plugin may not work correctly if you do not update Formidable."
5127
  msgstr ""
5128
 
5129
- #: classes/helpers/FrmAppHelper.php:2328
5130
  msgid "You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro."
5131
  msgstr ""
5132
 
5133
- #: classes/helpers/FrmAppHelper.php:2356
5134
  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+."
5135
  msgstr ""
5136
 
5137
- #: classes/helpers/FrmAppHelper.php:2362
5138
  msgid "You are using an outdated browser that is not compatible with Formidable Forms. Please update to a more current browser (we recommend Chrome)."
5139
  msgstr ""
5140
 
5141
- #: classes/helpers/FrmAppHelper.php:2376
5142
  msgid "English"
5143
  msgstr ""
5144
 
5145
- #: classes/helpers/FrmAppHelper.php:2377
5146
  msgid "Afrikaans"
5147
  msgstr ""
5148
 
5149
- #: classes/helpers/FrmAppHelper.php:2378
5150
  msgid "Albanian"
5151
  msgstr ""
5152
 
5153
- #: classes/helpers/FrmAppHelper.php:2379
5154
  msgid "Arabic"
5155
  msgstr ""
5156
 
5157
- #: classes/helpers/FrmAppHelper.php:2380
5158
  msgid "Armenian"
5159
  msgstr ""
5160
 
5161
- #: classes/helpers/FrmAppHelper.php:2381
5162
  msgid "Azerbaijani"
5163
  msgstr ""
5164
 
5165
- #: classes/helpers/FrmAppHelper.php:2382
5166
  msgid "Basque"
5167
  msgstr ""
5168
 
5169
- #: classes/helpers/FrmAppHelper.php:2383
5170
  msgid "Bosnian"
5171
  msgstr ""
5172
 
5173
- #: classes/helpers/FrmAppHelper.php:2384
5174
  msgid "Bulgarian"
5175
  msgstr ""
5176
 
5177
- #: classes/helpers/FrmAppHelper.php:2385
5178
  msgid "Catalan"
5179
  msgstr ""
5180
 
5181
- #: classes/helpers/FrmAppHelper.php:2386
5182
  msgid "Chinese Hong Kong"
5183
  msgstr ""
5184
 
5185
- #: classes/helpers/FrmAppHelper.php:2387
5186
  msgid "Chinese Simplified"
5187
  msgstr ""
5188
 
5189
- #: classes/helpers/FrmAppHelper.php:2388
5190
  msgid "Chinese Traditional"
5191
  msgstr ""
5192
 
5193
- #: classes/helpers/FrmAppHelper.php:2389
5194
  msgid "Croatian"
5195
  msgstr ""
5196
 
5197
- #: classes/helpers/FrmAppHelper.php:2390
5198
  msgid "Czech"
5199
  msgstr ""
5200
 
5201
- #: classes/helpers/FrmAppHelper.php:2391
5202
  msgid "Danish"
5203
  msgstr ""
5204
 
5205
- #: classes/helpers/FrmAppHelper.php:2392
5206
  msgid "Dutch"
5207
  msgstr ""
5208
 
5209
- #: classes/helpers/FrmAppHelper.php:2393
5210
  msgid "English/UK"
5211
  msgstr ""
5212
 
5213
- #: classes/helpers/FrmAppHelper.php:2394
5214
  msgid "Esperanto"
5215
  msgstr ""
5216
 
5217
- #: classes/helpers/FrmAppHelper.php:2395
5218
  msgid "Estonian"
5219
  msgstr ""
5220
 
5221
- #: classes/helpers/FrmAppHelper.php:2396
5222
  msgid "Faroese"
5223
  msgstr ""
5224
 
5225
- #: classes/helpers/FrmAppHelper.php:2397
5226
  msgid "Farsi/Persian"
5227
  msgstr ""
5228
 
5229
- #: classes/helpers/FrmAppHelper.php:2398
5230
  msgid "Filipino"
5231
  msgstr ""
5232
 
5233
- #: classes/helpers/FrmAppHelper.php:2399
5234
  msgid "Finnish"
5235
  msgstr ""
5236
 
5237
- #: classes/helpers/FrmAppHelper.php:2400
5238
  msgid "French"
5239
  msgstr ""
5240
 
5241
- #: classes/helpers/FrmAppHelper.php:2401
5242
  msgid "French/Canadian"
5243
  msgstr ""
5244
 
5245
- #: classes/helpers/FrmAppHelper.php:2402
5246
  msgid "French/Swiss"
5247
  msgstr ""
5248
 
5249
- #: classes/helpers/FrmAppHelper.php:2403
5250
  msgid "German"
5251
  msgstr ""
5252
 
5253
- #: classes/helpers/FrmAppHelper.php:2404
5254
  msgid "German/Austria"
5255
  msgstr ""
5256
 
5257
- #: classes/helpers/FrmAppHelper.php:2405
5258
  msgid "German/Switzerland"
5259
  msgstr ""
5260
 
5261
- #: classes/helpers/FrmAppHelper.php:2406
5262
  msgid "Greek"
5263
  msgstr ""
5264
 
5265
- #: classes/helpers/FrmAppHelper.php:2407
5266
- #: classes/helpers/FrmAppHelper.php:2408
5267
  msgid "Hebrew"
5268
  msgstr ""
5269
 
5270
- #: classes/helpers/FrmAppHelper.php:2409
5271
  msgid "Hindi"
5272
  msgstr ""
5273
 
5274
- #: classes/helpers/FrmAppHelper.php:2410
5275
  msgid "Hungarian"
5276
  msgstr ""
5277
 
5278
- #: classes/helpers/FrmAppHelper.php:2411
5279
  msgid "Icelandic"
5280
  msgstr ""
5281
 
5282
- #: classes/helpers/FrmAppHelper.php:2412
5283
  msgid "Indonesian"
5284
  msgstr ""
5285
 
5286
- #: classes/helpers/FrmAppHelper.php:2413
5287
  msgid "Italian"
5288
  msgstr ""
5289
 
5290
- #: classes/helpers/FrmAppHelper.php:2414
5291
  msgid "Japanese"
5292
  msgstr ""
5293
 
5294
- #: classes/helpers/FrmAppHelper.php:2415
5295
  msgid "Korean"
5296
  msgstr ""
5297
 
5298
- #: classes/helpers/FrmAppHelper.php:2416
5299
  msgid "Latvian"
5300
  msgstr ""
5301
 
5302
- #: classes/helpers/FrmAppHelper.php:2417
5303
  msgid "Lithuanian"
5304
  msgstr ""
5305
 
5306
- #: classes/helpers/FrmAppHelper.php:2418
5307
  msgid "Malaysian"
5308
  msgstr ""
5309
 
5310
- #: classes/helpers/FrmAppHelper.php:2419
5311
  msgid "Norwegian"
5312
  msgstr ""
5313
 
5314
- #: classes/helpers/FrmAppHelper.php:2420
5315
  msgid "Polish"
5316
  msgstr ""
5317
 
5318
- #: classes/helpers/FrmAppHelper.php:2421
5319
  msgid "Portuguese"
5320
  msgstr ""
5321
 
5322
- #: classes/helpers/FrmAppHelper.php:2422
5323
  msgid "Portuguese/Brazilian"
5324
  msgstr ""
5325
 
5326
- #: classes/helpers/FrmAppHelper.php:2423
5327
  msgid "Portuguese/Portugal"
5328
  msgstr ""
5329
 
5330
- #: classes/helpers/FrmAppHelper.php:2424
5331
  msgid "Romanian"
5332
  msgstr ""
5333
 
5334
- #: classes/helpers/FrmAppHelper.php:2425
5335
  msgid "Russian"
5336
  msgstr ""
5337
 
5338
- #: classes/helpers/FrmAppHelper.php:2426
5339
- #: classes/helpers/FrmAppHelper.php:2427
5340
  msgid "Serbian"
5341
  msgstr ""
5342
 
5343
- #: classes/helpers/FrmAppHelper.php:2428
5344
  msgid "Slovak"
5345
  msgstr ""
5346
 
5347
- #: classes/helpers/FrmAppHelper.php:2429
5348
  msgid "Slovenian"
5349
  msgstr ""
5350
 
5351
- #: classes/helpers/FrmAppHelper.php:2430
5352
  msgid "Spanish"
5353
  msgstr ""
5354
 
5355
- #: classes/helpers/FrmAppHelper.php:2431
5356
  msgid "Spanish/Latin America"
5357
  msgstr ""
5358
 
5359
- #: classes/helpers/FrmAppHelper.php:2432
5360
  msgid "Swedish"
5361
  msgstr ""
5362
 
5363
- #: classes/helpers/FrmAppHelper.php:2433
5364
  msgid "Tamil"
5365
  msgstr ""
5366
 
5367
- #: classes/helpers/FrmAppHelper.php:2434
5368
  msgid "Thai"
5369
  msgstr ""
5370
 
5371
- #: classes/helpers/FrmAppHelper.php:2435
5372
- #: classes/helpers/FrmAppHelper.php:2436
5373
  msgid "Turkish"
5374
  msgstr ""
5375
 
5376
- #: classes/helpers/FrmAppHelper.php:2437
5377
  msgid "Ukranian"
5378
  msgstr ""
5379
 
5380
- #: classes/helpers/FrmAppHelper.php:2438
5381
  msgid "Vietnamese"
5382
  msgstr ""
5383
 
2
  # This file is distributed under the same license as the Formidable Forms plugin.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Formidable Forms 4.04.04\n"
6
  "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/formidable\n"
7
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
8
  "Language-Team: LANGUAGE <LL@li.org>\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "POT-Creation-Date: 2020-05-12T01:18:59+02:00\n"
13
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
14
  "X-Generator: WP-CLI 2.1.0\n"
15
  "X-Domain: formidable\n"
599
  msgstr ""
600
 
601
  #: classes/controllers/FrmAddonsController.php:484
602
+ #: classes/helpers/FrmAppHelper.php:2257
603
  msgid "Active"
604
  msgstr ""
605
 
631
  msgstr ""
632
 
633
  #: classes/controllers/FrmAppController.php:158
634
+ #: classes/controllers/FrmXMLController.php:134
635
  #: classes/controllers/FrmFormsController.php:729
636
  #: classes/controllers/FrmEntriesController.php:8
637
  #: classes/controllers/FrmEntriesController.php:90
638
+ #: classes/views/xml/import_form.php:116
639
  msgid "Entries"
640
  msgstr ""
641
 
653
  msgid "Build a Form"
654
  msgstr ""
655
 
656
+ #: classes/controllers/FrmXMLController.php:7
657
  #: classes/views/xml/import_form.php:5
658
  msgid "Import/Export"
659
  msgstr ""
660
 
661
+ #: classes/controllers/FrmXMLController.php:49
662
  msgid "There was an error reading the form template"
663
  msgstr ""
664
 
665
+ #: classes/controllers/FrmXMLController.php:69
666
  msgid "There was an error importing form"
667
  msgstr ""
668
 
669
+ #: classes/controllers/FrmXMLController.php:133
670
  #: classes/controllers/FrmFormsController.php:6
671
  #: classes/controllers/FrmFormsController.php:739
672
  #: classes/views/frm-forms/list.php:5
673
  msgid "Forms"
674
  msgstr ""
675
 
676
+ #: classes/controllers/FrmXMLController.php:169
677
  msgid "Oops, you didn't select a file."
678
  msgstr ""
679
 
680
+ #: classes/controllers/FrmXMLController.php:180
681
  msgid "The file does not exist, please try again."
682
  msgstr ""
683
 
684
+ #: classes/controllers/FrmXMLController.php:209
685
  msgid "XML import is not enabled on your server with the libxml_disable_entity_loader function."
686
  msgstr ""
687
 
688
+ #: classes/controllers/FrmXMLController.php:417
689
  msgid "Please select a form"
690
  msgstr ""
691
 
692
+ #: classes/controllers/FrmXMLController.php:474
693
  msgid "There are no entries for that form."
694
  msgstr ""
695
 
807
  msgid "Analyze form data with graphs & stats"
808
  msgstr ""
809
 
810
+ #: classes/controllers/FrmSMTPController.php:99
811
+ msgid "SMTP"
812
+ msgstr ""
813
+
814
+ #: classes/controllers/FrmSMTPController.php:149
815
+ msgid "Making Email Deliverability Easy for WordPress"
816
+ msgstr ""
817
+
818
+ #: classes/controllers/FrmSMTPController.php:150
819
+ msgid "WP Mail SMTP allows you to easily set up WordPress to use a trusted provider to reliably send emails, including form notifications."
820
+ msgstr ""
821
+
822
+ #: classes/controllers/FrmSMTPController.php:175
823
+ msgid "WP Mail SMTP screenshot"
824
+ msgstr ""
825
+
826
+ #: classes/controllers/FrmSMTPController.php:177
827
+ msgid "Over 1,000,000 websites use WP Mail SMTP."
828
+ msgstr ""
829
+
830
+ #: classes/controllers/FrmSMTPController.php:178
831
+ msgid "Send emails authenticated via trusted parties."
832
+ msgstr ""
833
+
834
+ #: classes/controllers/FrmSMTPController.php:179
835
+ msgid "Transactional Mailers: Pepipost, SendinBlue, Mailgun, SendGrid, Amazon SES."
836
+ msgstr ""
837
+
838
+ #: classes/controllers/FrmSMTPController.php:180
839
+ msgid "Web Mailers: Gmail, G Suite, Office 365, Outlook.com."
840
+ msgstr ""
841
+
842
+ #: classes/controllers/FrmSMTPController.php:200
843
+ msgid "Step 1"
844
+ msgstr ""
845
+
846
+ #. translators: %s: Name of the plugin
847
+ #: classes/controllers/FrmSMTPController.php:207
848
+ msgid "Install and Activate %s"
849
+ msgstr ""
850
+
851
+ #: classes/controllers/FrmSMTPController.php:223
852
+ msgid "Install WP Mail SMTP from the WordPress.org plugin repository."
853
+ msgstr ""
854
+
855
+ #: classes/controllers/FrmSMTPController.php:247
856
+ msgid "Step 2"
857
+ msgstr ""
858
+
859
+ #: classes/controllers/FrmSMTPController.php:267
860
+ msgid "Set Up WP Mail SMTP"
861
+ msgstr ""
862
+
863
+ #: classes/controllers/FrmSMTPController.php:268
864
+ msgid "Select and configure your mailer."
865
+ msgstr ""
866
+
867
+ #: classes/controllers/FrmSMTPController.php:300
868
+ msgid "Install WP Mail SMTP"
869
+ msgstr ""
870
+
871
+ #: classes/controllers/FrmSMTPController.php:302
872
+ #: classes/views/addons/list.php:74
873
+ #: classes/views/addons/list.php:75
874
+ #: classes/views/shared/upgrade_overlay.php:27
875
+ #: classes/helpers/FrmFormMigratorsHelper.php:133
876
+ #: classes/helpers/FrmAppHelper.php:2256
877
+ msgid "Install"
878
+ msgstr ""
879
+
880
+ #: classes/controllers/FrmSMTPController.php:314
881
+ msgid "WP Mail SMTP Installed & Activated"
882
+ msgstr ""
883
+
884
+ #: classes/controllers/FrmSMTPController.php:317
885
+ msgid "Activate WP Mail SMTP"
886
+ msgstr ""
887
+
888
+ #: classes/controllers/FrmSMTPController.php:319
889
+ #: classes/views/addons/settings.php:28
890
+ #: classes/views/addons/list.php:71
891
+ msgid "Activate"
892
+ msgstr ""
893
+
894
+ #: classes/controllers/FrmSMTPController.php:338
895
+ msgid "Start Setup"
896
+ msgstr ""
897
+
898
+ #: classes/controllers/FrmSMTPController.php:344
899
+ msgid "Go to SMTP settings"
900
+ msgstr ""
901
+
902
  #: classes/controllers/FrmStylesController.php:17
903
  #: classes/controllers/FrmStylesController.php:35
904
  #: classes/controllers/FrmStylesController.php:47
907
 
908
  #: classes/controllers/FrmStylesController.php:36
909
  #: classes/controllers/FrmStylesController.php:37
910
+ #: classes/views/xml/import_form.php:117
911
  #: classes/views/styles/_field-description.php:14
912
  #: classes/views/styles/_field-colors.php:18
913
  #: classes/views/styles/_field-colors.php:77
945
  #: classes/controllers/FrmStylesController.php:390
946
  #: classes/controllers/FrmFormsController.php:728
947
  #: classes/views/frm-forms/settings-advanced.php:8
948
+ #: classes/views/xml/import_form.php:113
949
  #: classes/views/styles/_sample_form.php:14
950
  #: classes/views/styles/manage.php:34
951
  msgid "Form Title"
1061
 
1062
  #: classes/controllers/FrmFormsController.php:630
1063
  #: classes/controllers/FrmEntriesController.php:74
1064
+ #: classes/views/xml/import_form.php:147
1065
  #: classes/widgets/FrmShowForm.php:56
1066
  msgid "Form"
1067
  msgstr ""
1089
  msgstr ""
1090
 
1091
  #: classes/controllers/FrmFormsController.php:725
1092
+ #: classes/views/xml/import_form.php:115
1093
  msgid "Type"
1094
  msgstr ""
1095
 
1257
 
1258
  #: classes/controllers/FrmFormsController.php:1468
1259
  #: classes/views/frm-forms/list-templates.php:198
1260
+ #: classes/views/xml/import_form.php:128
1261
  #: classes/views/styles/manage.php:54
1262
  #: classes/helpers/FrmFormsListHelper.php:317
1263
  #: classes/helpers/FrmFormsHelper.php:57
1415
  #: classes/views/frm-forms/new-form-overlay.php:31
1416
  #: classes/views/shared/confirm-overlay.php:14
1417
  #: classes/views/shared/admin-header.php:42
1418
+ #: classes/helpers/FrmAppHelper.php:2217
1419
  msgid "Cancel"
1420
  msgstr ""
1421
 
1427
  #: classes/views/shared/mb_adv_info.php:35
1428
  #: classes/views/shared/mb_adv_info.php:178
1429
  #: classes/views/frm-entries/list.php:42
1430
+ #: classes/helpers/FrmAppHelper.php:903
1431
  msgid "Search"
1432
  msgstr ""
1433
 
1613
  msgstr ""
1614
 
1615
  #: classes/views/frm-forms/settings-advanced.php:93
1616
+ #: classes/helpers/FrmAppHelper.php:1028
1617
  msgid "Select a Page"
1618
  msgstr ""
1619
 
1884
  msgid "Deactivate"
1885
  msgstr ""
1886
 
 
 
 
 
 
1887
  #: classes/views/addons/upgrade_to_pro.php:18
1888
  #: classes/views/addons/upgrade_to_pro.php:75
1889
  msgid "Get Started Now"
1911
  msgid "Status: %s"
1912
  msgstr ""
1913
 
 
 
 
 
 
 
 
1914
  #: classes/views/addons/list.php:78
1915
  #: classes/views/addons/list.php:82
1916
  #: classes/views/addons/list.php:83
1929
  #: classes/views/shared/upgrade_overlay.php:4
1930
  #: classes/views/shared/info-overlay.php:4
1931
  #: classes/views/frm-settings/settings_cta.php:5
1932
+ #: classes/helpers/FrmFormMigratorsHelper.php:103
1933
  msgid "Dismiss this message"
1934
  msgstr ""
1935
 
1936
  #: classes/views/shared/confirm-overlay.php:10
1937
  #: classes/views/shared/info-overlay.php:10
1938
+ #: classes/helpers/FrmAppHelper.php:2224
1939
  msgid "Are you sure?"
1940
  msgstr ""
1941
 
2050
 
2051
  #: classes/views/shared/mb_adv_info.php:90
2052
  #: classes/helpers/FrmCSVExportHelper.php:154
2053
+ #: classes/helpers/FrmAppHelper.php:2196
2054
  msgid "ID"
2055
  msgstr ""
2056
 
2060
 
2061
  #: classes/views/shared/mb_adv_info.php:108
2062
  #: classes/views/shared/mb_adv_info.php:122
2063
+ #: classes/helpers/FrmAppHelper.php:2258
2064
  msgid "Select a Field"
2065
  msgstr ""
2066
 
2093
  msgid "Upload file and import"
2094
  msgstr ""
2095
 
2096
+ #: classes/views/xml/import_form.php:41
2097
  msgid "Export"
2098
  msgstr ""
2099
 
2100
+ #: classes/views/xml/import_form.php:43
2101
  msgid "Export your forms, entries, views, and styles so you can easily import them on another site."
2102
  msgstr ""
2103
 
2104
+ #: classes/views/xml/import_form.php:50
2105
  msgid "Export Format"
2106
  msgstr ""
2107
 
2108
+ #: classes/views/xml/import_form.php:61
2109
  msgid "If your CSV special characters are not working correctly, try a different formatting option."
2110
  msgstr ""
2111
 
2112
+ #: classes/views/xml/import_form.php:62
2113
  msgid "CSV Encoding Format"
2114
  msgstr ""
2115
 
2116
+ #: classes/views/xml/import_form.php:75
2117
  msgid "Column Separation"
2118
  msgstr ""
2119
 
2120
+ #: classes/views/xml/import_form.php:81
2121
  msgid "Include the following in the export file"
2122
  msgstr ""
2123
 
2124
+ #: classes/views/xml/import_form.php:93
2125
  msgid "Select Form(s)"
2126
  msgstr ""
2127
 
2128
+ #: classes/views/xml/import_form.php:96
2129
  msgid "Select a Form"
2130
  msgstr ""
2131
 
2132
+ #: classes/views/xml/import_form.php:103
2133
  #: classes/helpers/FrmFormsHelper.php:144
2134
  msgid "Search Forms"
2135
  msgstr ""
2136
 
2137
+ #: classes/views/xml/import_form.php:114
2138
  msgid "ID / Form Key"
2139
  msgstr ""
2140
 
2141
+ #: classes/views/xml/import_form.php:137
2142
  msgid "Template"
2143
  msgstr ""
2144
 
2145
  #. translators: %1$s: Form name
2146
+ #: classes/views/xml/import_form.php:142
2147
  msgid "Child Form (%1$s)"
2148
  msgstr ""
2149
 
2150
+ #: classes/views/xml/import_form.php:174
2151
  msgid "Export Selection"
2152
  msgstr ""
2153
 
2671
  msgstr ""
2672
 
2673
  #: classes/views/frm-fields/back-end/settings.php:265
2674
+ #: classes/helpers/FrmAppHelper.php:2218
2675
  msgid "Default"
2676
  msgstr ""
2677
 
3358
  msgstr ""
3359
 
3360
  #: classes/helpers/FrmFormsListHelper.php:114
3361
+ #: classes/helpers/FrmAppHelper.php:888
3362
  msgid "Add New"
3363
  msgstr ""
3364
 
3410
  msgstr ""
3411
 
3412
  #: classes/helpers/FrmFieldsHelper.php:286
3413
+ #: classes/helpers/FrmAppHelper.php:2229
3414
  msgid "The entered values do not match"
3415
  msgstr ""
3416
 
3421
 
3422
  #: classes/helpers/FrmFieldsHelper.php:456
3423
  #: classes/helpers/FrmFieldsHelper.php:457
3424
+ #: classes/helpers/FrmAppHelper.php:2233
3425
  msgid "New Option"
3426
  msgstr ""
3427
 
4621
  msgstr ""
4622
 
4623
  #: classes/helpers/FrmListHelper.php:257
4624
+ #: classes/helpers/FrmAppHelper.php:2259
4625
  msgid "No items found."
4626
  msgstr ""
4627
 
4680
  msgid "Select All"
4681
  msgstr ""
4682
 
4683
+ #: classes/helpers/FrmFormMigratorsHelper.php:119
4684
+ msgid "Get Started"
4685
+ msgstr ""
4686
+
4687
+ #. translators: %s: Name of the plugin
4688
+ #: classes/helpers/FrmFormMigratorsHelper.php:129
4689
+ msgid "Activate %s"
4690
+ msgstr ""
4691
+
4692
+ #. translators: %s: Name of the plugin
4693
+ #: classes/helpers/FrmFormMigratorsHelper.php:137
4694
+ msgid "Install %s Importer"
4695
+ msgstr ""
4696
+
4697
  #: classes/helpers/FrmEntriesHelper.php:530
4698
  #: classes/helpers/FrmEntriesHelper.php:531
4699
  msgid "Unknown"
4873
  msgstr ""
4874
 
4875
  #: classes/helpers/FrmFormsHelper.php:1445
4876
+ #: classes/helpers/FrmAppHelper.php:2253
4877
  msgid "See the list of reserved words in WordPress."
4878
  msgstr ""
4879
 
4923
  msgid "Parent ID"
4924
  msgstr ""
4925
 
4926
+ #: classes/helpers/FrmAppHelper.php:1159
4927
  msgid "View Forms"
4928
  msgstr ""
4929
 
4930
+ #: classes/helpers/FrmAppHelper.php:1160
4931
  msgid "Add and Edit Forms"
4932
  msgstr ""
4933
 
4934
+ #: classes/helpers/FrmAppHelper.php:1161
4935
  msgid "Delete Forms"
4936
  msgstr ""
4937
 
4938
+ #: classes/helpers/FrmAppHelper.php:1162
4939
  msgid "Access this Settings Page"
4940
  msgstr ""
4941
 
4942
+ #: classes/helpers/FrmAppHelper.php:1163
4943
  msgid "View Entries from Admin Area"
4944
  msgstr ""
4945
 
4946
+ #: classes/helpers/FrmAppHelper.php:1164
4947
  msgid "Delete Entries from Admin Area"
4948
  msgstr ""
4949
 
4950
+ #: classes/helpers/FrmAppHelper.php:1171
4951
  msgid "Add Entries from Admin Area"
4952
  msgstr ""
4953
 
4954
+ #: classes/helpers/FrmAppHelper.php:1172
4955
  msgid "Edit Entries from Admin Area"
4956
  msgstr ""
4957
 
4958
+ #: classes/helpers/FrmAppHelper.php:1173
4959
  msgid "View Reports"
4960
  msgstr ""
4961
 
4962
+ #: classes/helpers/FrmAppHelper.php:1174
4963
  msgid "Add/Edit Views"
4964
  msgstr ""
4965
 
4966
+ #: classes/helpers/FrmAppHelper.php:1796
4967
  msgid "at"
4968
  msgstr ""
4969
 
4970
+ #: classes/helpers/FrmAppHelper.php:1847
4971
+ #: classes/helpers/FrmAppHelper.php:1866
4972
  msgid "seconds"
4973
  msgstr ""
4974
 
4975
+ #: classes/helpers/FrmAppHelper.php:1860
4976
  msgid "year"
4977
  msgstr ""
4978
 
4979
+ #: classes/helpers/FrmAppHelper.php:1860
4980
  msgid "years"
4981
  msgstr ""
4982
 
4983
+ #: classes/helpers/FrmAppHelper.php:1861
4984
  msgid "month"
4985
  msgstr ""
4986
 
4987
+ #: classes/helpers/FrmAppHelper.php:1861
4988
  msgid "months"
4989
  msgstr ""
4990
 
4991
+ #: classes/helpers/FrmAppHelper.php:1862
4992
  msgid "week"
4993
  msgstr ""
4994
 
4995
+ #: classes/helpers/FrmAppHelper.php:1862
4996
  msgid "weeks"
4997
  msgstr ""
4998
 
4999
+ #: classes/helpers/FrmAppHelper.php:1863
5000
  msgid "day"
5001
  msgstr ""
5002
 
5003
+ #: classes/helpers/FrmAppHelper.php:1863
5004
  msgid "days"
5005
  msgstr ""
5006
 
5007
+ #: classes/helpers/FrmAppHelper.php:1864
5008
  msgid "hour"
5009
  msgstr ""
5010
 
5011
+ #: classes/helpers/FrmAppHelper.php:1864
5012
  msgid "hours"
5013
  msgstr ""
5014
 
5015
+ #: classes/helpers/FrmAppHelper.php:1865
5016
  msgid "minute"
5017
  msgstr ""
5018
 
5019
+ #: classes/helpers/FrmAppHelper.php:1865
5020
  msgid "minutes"
5021
  msgstr ""
5022
 
5023
+ #: classes/helpers/FrmAppHelper.php:1866
5024
  msgid "second"
5025
  msgstr ""
5026
 
5027
+ #: classes/helpers/FrmAppHelper.php:1958
5028
  msgid "Give this action a label for easy reference."
5029
  msgstr ""
5030
 
5031
+ #: classes/helpers/FrmAppHelper.php:1959
5032
  msgid "Add one or more recipient addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com. [admin_email] is the address set in WP General Settings."
5033
  msgstr ""
5034
 
5035
+ #: classes/helpers/FrmAppHelper.php:1960
5036
  msgid "Add CC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
5037
  msgstr ""
5038
 
5039
+ #: classes/helpers/FrmAppHelper.php:1961
5040
  msgid "Add BCC addresses separated by a \",\". FORMAT: Name <name@email.com> or name@email.com."
5041
  msgstr ""
5042
 
5043
+ #: classes/helpers/FrmAppHelper.php:1962
5044
  msgid "If you would like a different reply to address than the \"from\" address, add a single address here. FORMAT: Name <name@email.com> or name@email.com."
5045
  msgstr ""
5046
 
5047
+ #: classes/helpers/FrmAppHelper.php:1963
5048
  msgid "Enter the name and/or email address of the sender. FORMAT: John Bates <john@example.com> or john@example.com."
5049
  msgstr ""
5050
 
5051
  #. translators: %1$s: Form name, %2$s: Date
5052
+ #: classes/helpers/FrmAppHelper.php:1965
5053
  msgid "If you leave the subject blank, the default will be used: %1$s Form submitted on %2$s"
5054
  msgstr ""
5055
 
5056
+ #: classes/helpers/FrmAppHelper.php:2159
5057
+ #: classes/helpers/FrmAppHelper.php:2238
5058
  msgid "Please wait while your site updates."
5059
  msgstr ""
5060
 
5061
+ #: classes/helpers/FrmAppHelper.php:2160
5062
  msgid "Are you sure you want to deauthorize Formidable Forms on this site?"
5063
  msgstr ""
5064
 
5065
+ #: classes/helpers/FrmAppHelper.php:2163
5066
+ #: classes/helpers/FrmAppHelper.php:2192
5067
  msgid "Loading&hellip;"
5068
  msgstr ""
5069
 
5070
+ #: classes/helpers/FrmAppHelper.php:2193
5071
  msgid "Remove"
5072
  msgstr ""
5073
 
5074
+ #: classes/helpers/FrmAppHelper.php:2197
5075
  msgid "No results match"
5076
  msgstr ""
5077
 
5078
+ #: classes/helpers/FrmAppHelper.php:2198
5079
  msgid "That file looks like Spam."
5080
  msgstr ""
5081
 
5082
+ #: classes/helpers/FrmAppHelper.php:2199
5083
  msgid "There is an error in the calculation in the field with key"
5084
  msgstr ""
5085
 
5086
+ #: classes/helpers/FrmAppHelper.php:2200
5087
  msgid "Please complete the preceding required fields before uploading a file."
5088
  msgstr ""
5089
 
5090
+ #: classes/helpers/FrmAppHelper.php:2211
5091
  msgid "(Click to add description)"
5092
  msgstr ""
5093
 
5094
+ #: classes/helpers/FrmAppHelper.php:2212
5095
  msgid "(Blank)"
5096
  msgstr ""
5097
 
5098
+ #: classes/helpers/FrmAppHelper.php:2213
5099
  msgid "(no label)"
5100
  msgstr ""
5101
 
5102
+ #: classes/helpers/FrmAppHelper.php:2214
5103
  msgid "Saving"
5104
  msgstr ""
5105
 
5106
+ #: classes/helpers/FrmAppHelper.php:2215
5107
  msgid "Saved"
5108
  msgstr ""
5109
 
5110
+ #: classes/helpers/FrmAppHelper.php:2216
5111
  msgid "OK"
5112
  msgstr ""
5113
 
5114
+ #: classes/helpers/FrmAppHelper.php:2219
5115
  msgid "Clear default value when typing"
5116
  msgstr ""
5117
 
5118
+ #: classes/helpers/FrmAppHelper.php:2220
5119
  msgid "Do not clear default value when typing"
5120
  msgstr ""
5121
 
5122
+ #: classes/helpers/FrmAppHelper.php:2221
5123
  msgid "Default value will pass form validation"
5124
  msgstr ""
5125
 
5126
+ #: classes/helpers/FrmAppHelper.php:2222
5127
  msgid "Default value will NOT pass form validation"
5128
  msgstr ""
5129
 
5130
+ #: classes/helpers/FrmAppHelper.php:2223
5131
  msgid "Heads up"
5132
  msgstr ""
5133
 
5134
+ #: classes/helpers/FrmAppHelper.php:2225
5135
  msgid "Are you sure you want to delete this field and all data associated with it?"
5136
  msgstr ""
5137
 
5138
+ #: classes/helpers/FrmAppHelper.php:2226
5139
  msgid "All fields inside this Section will be deleted along with their data. Are you sure you want to delete this group of fields?"
5140
  msgstr ""
5141
 
5142
+ #: classes/helpers/FrmAppHelper.php:2227
5143
  msgid "Warning: If you have entries with multiple rows, all but the first row will be lost."
5144
  msgstr ""
5145
 
5146
+ #: classes/helpers/FrmAppHelper.php:2230
5147
  msgid "Enter Email"
5148
  msgstr ""
5149
 
5150
+ #: classes/helpers/FrmAppHelper.php:2231
5151
  msgid "Confirm Email"
5152
  msgstr ""
5153
 
5154
+ #: classes/helpers/FrmAppHelper.php:2232
5155
  msgid "Conditional content here"
5156
  msgstr ""
5157
 
5158
+ #: classes/helpers/FrmAppHelper.php:2234
5159
  msgid "In certain browsers (e.g. Firefox) text will not display correctly if the field height is too small relative to the field padding and text size. Please increase your field height or decrease your field padding."
5160
  msgstr ""
5161
 
5162
+ #: classes/helpers/FrmAppHelper.php:2235
5163
  msgid "Enter Password"
5164
  msgstr ""
5165
 
5166
+ #: classes/helpers/FrmAppHelper.php:2236
5167
  msgid "Confirm Password"
5168
  msgstr ""
5169
 
5170
+ #: classes/helpers/FrmAppHelper.php:2237
5171
  msgid "Import Complete"
5172
  msgstr ""
5173
 
5174
+ #: classes/helpers/FrmAppHelper.php:2239
5175
  msgid "Warning: There is no way to retrieve unsaved entries."
5176
  msgstr ""
5177
 
5178
+ #: classes/helpers/FrmAppHelper.php:2240
5179
  msgid "Private"
5180
  msgstr ""
5181
 
5182
+ #: classes/helpers/FrmAppHelper.php:2243
5183
  msgid "No new licenses were found"
5184
  msgstr ""
5185
 
5186
+ #: classes/helpers/FrmAppHelper.php:2244
5187
  msgid "This calculation has at least one unmatched ( ) { } [ ]."
5188
  msgstr ""
5189
 
5190
+ #: classes/helpers/FrmAppHelper.php:2245
5191
  msgid "This calculation may have shortcodes that work in Views but not forms."
5192
  msgstr ""
5193
 
5194
+ #: classes/helpers/FrmAppHelper.php:2246
5195
  msgid "This calculation may have shortcodes that work in text calculations but not numeric calculations."
5196
  msgstr ""
5197
 
5198
+ #: classes/helpers/FrmAppHelper.php:2247
5199
  msgid "This form action is limited to one per form. Please edit the existing form action."
5200
  msgstr ""
5201
 
5202
  #. Translators: %s is the name of a Detail Page Slug that is a reserved word.
5203
+ #: classes/helpers/FrmAppHelper.php:2250
5204
  msgid "The Detail Page Slug \"%s\" is reserved by WordPress. This may cause problems. Is this intentional?"
5205
  msgstr ""
5206
 
5207
  #. 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.
5208
+ #: classes/helpers/FrmAppHelper.php:2252
5209
  msgid "The parameter \"%s\" is reserved by WordPress. This may cause problems when included in the URL. Is this intentional? "
5210
  msgstr ""
5211
 
5212
+ #: classes/helpers/FrmAppHelper.php:2254
5213
  msgid "Please enter a Repeat Limit that is greater than 1."
5214
  msgstr ""
5215
 
5216
+ #: classes/helpers/FrmAppHelper.php:2255
5217
  msgid "Please select a limit between 0 and 200."
5218
  msgstr ""
5219
 
5220
+ #: classes/helpers/FrmAppHelper.php:2286
5221
  msgid "You are running an outdated version of Formidable. This plugin may not work correctly if you do not update Formidable."
5222
  msgstr ""
5223
 
5224
+ #: classes/helpers/FrmAppHelper.php:2313
5225
  msgid "You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro."
5226
  msgstr ""
5227
 
5228
+ #: classes/helpers/FrmAppHelper.php:2341
5229
  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+."
5230
  msgstr ""
5231
 
5232
+ #: classes/helpers/FrmAppHelper.php:2347
5233
  msgid "You are using an outdated browser that is not compatible with Formidable Forms. Please update to a more current browser (we recommend Chrome)."
5234
  msgstr ""
5235
 
5236
+ #: classes/helpers/FrmAppHelper.php:2361
5237
  msgid "English"
5238
  msgstr ""
5239
 
5240
+ #: classes/helpers/FrmAppHelper.php:2362
5241
  msgid "Afrikaans"
5242
  msgstr ""
5243
 
5244
+ #: classes/helpers/FrmAppHelper.php:2363
5245
  msgid "Albanian"
5246
  msgstr ""
5247
 
5248
+ #: classes/helpers/FrmAppHelper.php:2364
5249
  msgid "Arabic"
5250
  msgstr ""
5251
 
5252
+ #: classes/helpers/FrmAppHelper.php:2365
5253
  msgid "Armenian"
5254
  msgstr ""
5255
 
5256
+ #: classes/helpers/FrmAppHelper.php:2366
5257
  msgid "Azerbaijani"
5258
  msgstr ""
5259
 
5260
+ #: classes/helpers/FrmAppHelper.php:2367
5261
  msgid "Basque"
5262
  msgstr ""
5263
 
5264
+ #: classes/helpers/FrmAppHelper.php:2368
5265
  msgid "Bosnian"
5266
  msgstr ""
5267
 
5268
+ #: classes/helpers/FrmAppHelper.php:2369
5269
  msgid "Bulgarian"
5270
  msgstr ""
5271
 
5272
+ #: classes/helpers/FrmAppHelper.php:2370
5273
  msgid "Catalan"
5274
  msgstr ""
5275
 
5276
+ #: classes/helpers/FrmAppHelper.php:2371
5277
  msgid "Chinese Hong Kong"
5278
  msgstr ""
5279
 
5280
+ #: classes/helpers/FrmAppHelper.php:2372
5281
  msgid "Chinese Simplified"
5282
  msgstr ""
5283
 
5284
+ #: classes/helpers/FrmAppHelper.php:2373
5285
  msgid "Chinese Traditional"
5286
  msgstr ""
5287
 
5288
+ #: classes/helpers/FrmAppHelper.php:2374
5289
  msgid "Croatian"
5290
  msgstr ""
5291
 
5292
+ #: classes/helpers/FrmAppHelper.php:2375
5293
  msgid "Czech"
5294
  msgstr ""
5295
 
5296
+ #: classes/helpers/FrmAppHelper.php:2376
5297
  msgid "Danish"
5298
  msgstr ""
5299
 
5300
+ #: classes/helpers/FrmAppHelper.php:2377
5301
  msgid "Dutch"
5302
  msgstr ""
5303
 
5304
+ #: classes/helpers/FrmAppHelper.php:2378
5305
  msgid "English/UK"
5306
  msgstr ""
5307
 
5308
+ #: classes/helpers/FrmAppHelper.php:2379
5309
  msgid "Esperanto"
5310
  msgstr ""
5311
 
5312
+ #: classes/helpers/FrmAppHelper.php:2380
5313
  msgid "Estonian"
5314
  msgstr ""
5315
 
5316
+ #: classes/helpers/FrmAppHelper.php:2381
5317
  msgid "Faroese"
5318
  msgstr ""
5319
 
5320
+ #: classes/helpers/FrmAppHelper.php:2382
5321
  msgid "Farsi/Persian"
5322
  msgstr ""
5323
 
5324
+ #: classes/helpers/FrmAppHelper.php:2383
5325
  msgid "Filipino"
5326
  msgstr ""
5327
 
5328
+ #: classes/helpers/FrmAppHelper.php:2384
5329
  msgid "Finnish"
5330
  msgstr ""
5331
 
5332
+ #: classes/helpers/FrmAppHelper.php:2385
5333
  msgid "French"
5334
  msgstr ""
5335
 
5336
+ #: classes/helpers/FrmAppHelper.php:2386
5337
  msgid "French/Canadian"
5338
  msgstr ""
5339
 
5340
+ #: classes/helpers/FrmAppHelper.php:2387
5341
  msgid "French/Swiss"
5342
  msgstr ""
5343
 
5344
+ #: classes/helpers/FrmAppHelper.php:2388
5345
  msgid "German"
5346
  msgstr ""
5347
 
5348
+ #: classes/helpers/FrmAppHelper.php:2389
5349
  msgid "German/Austria"
5350
  msgstr ""
5351
 
5352
+ #: classes/helpers/FrmAppHelper.php:2390
5353
  msgid "German/Switzerland"
5354
  msgstr ""
5355
 
5356
+ #: classes/helpers/FrmAppHelper.php:2391
5357
  msgid "Greek"
5358
  msgstr ""
5359
 
5360
+ #: classes/helpers/FrmAppHelper.php:2392
5361
+ #: classes/helpers/FrmAppHelper.php:2393
5362
  msgid "Hebrew"
5363
  msgstr ""
5364
 
5365
+ #: classes/helpers/FrmAppHelper.php:2394
5366
  msgid "Hindi"
5367
  msgstr ""
5368
 
5369
+ #: classes/helpers/FrmAppHelper.php:2395
5370
  msgid "Hungarian"
5371
  msgstr ""
5372
 
5373
+ #: classes/helpers/FrmAppHelper.php:2396
5374
  msgid "Icelandic"
5375
  msgstr ""
5376
 
5377
+ #: classes/helpers/FrmAppHelper.php:2397
5378
  msgid "Indonesian"
5379
  msgstr ""
5380
 
5381
+ #: classes/helpers/FrmAppHelper.php:2398
5382
  msgid "Italian"
5383
  msgstr ""
5384
 
5385
+ #: classes/helpers/FrmAppHelper.php:2399
5386
  msgid "Japanese"
5387
  msgstr ""
5388
 
5389
+ #: classes/helpers/FrmAppHelper.php:2400
5390
  msgid "Korean"
5391
  msgstr ""
5392
 
5393
+ #: classes/helpers/FrmAppHelper.php:2401
5394
  msgid "Latvian"
5395
  msgstr ""
5396
 
5397
+ #: classes/helpers/FrmAppHelper.php:2402
5398
  msgid "Lithuanian"
5399
  msgstr ""
5400
 
5401
+ #: classes/helpers/FrmAppHelper.php:2403
5402
  msgid "Malaysian"
5403
  msgstr ""
5404
 
5405
+ #: classes/helpers/FrmAppHelper.php:2404
5406
  msgid "Norwegian"
5407
  msgstr ""
5408
 
5409
+ #: classes/helpers/FrmAppHelper.php:2405
5410
  msgid "Polish"
5411
  msgstr ""
5412
 
5413
+ #: classes/helpers/FrmAppHelper.php:2406
5414
  msgid "Portuguese"
5415
  msgstr ""
5416
 
5417
+ #: classes/helpers/FrmAppHelper.php:2407
5418
  msgid "Portuguese/Brazilian"
5419
  msgstr ""
5420
 
5421
+ #: classes/helpers/FrmAppHelper.php:2408
5422
  msgid "Portuguese/Portugal"
5423
  msgstr ""
5424
 
5425
+ #: classes/helpers/FrmAppHelper.php:2409
5426
  msgid "Romanian"
5427
  msgstr ""
5428
 
5429
+ #: classes/helpers/FrmAppHelper.php:2410
5430
  msgid "Russian"
5431
  msgstr ""
5432
 
5433
+ #: classes/helpers/FrmAppHelper.php:2411
5434
+ #: classes/helpers/FrmAppHelper.php:2412
5435
  msgid "Serbian"
5436
  msgstr ""
5437
 
5438
+ #: classes/helpers/FrmAppHelper.php:2413
5439
  msgid "Slovak"
5440
  msgstr ""
5441
 
5442
+ #: classes/helpers/FrmAppHelper.php:2414
5443
  msgid "Slovenian"
5444
  msgstr ""
5445
 
5446
+ #: classes/helpers/FrmAppHelper.php:2415
5447
  msgid "Spanish"
5448
  msgstr ""
5449
 
5450
+ #: classes/helpers/FrmAppHelper.php:2416
5451
  msgid "Spanish/Latin America"
5452
  msgstr ""
5453
 
5454
+ #: classes/helpers/FrmAppHelper.php:2417
5455
  msgid "Swedish"
5456
  msgstr ""
5457
 
5458
+ #: classes/helpers/FrmAppHelper.php:2418
5459
  msgid "Tamil"
5460
  msgstr ""
5461
 
5462
+ #: classes/helpers/FrmAppHelper.php:2419
5463
  msgid "Thai"
5464
  msgstr ""
5465
 
5466
+ #: classes/helpers/FrmAppHelper.php:2420
5467
+ #: classes/helpers/FrmAppHelper.php:2421
5468
  msgid "Turkish"
5469
  msgstr ""
5470
 
5471
+ #: classes/helpers/FrmAppHelper.php:2422
5472
  msgid "Ukranian"
5473
  msgstr ""
5474
 
5475
+ #: classes/helpers/FrmAppHelper.php:2423
5476
  msgid "Vietnamese"
5477
  msgstr ""
5478
 
readme.txt CHANGED
@@ -1,11 +1,11 @@
1
  === Formidable Form Builder - Contact Form, Survey & Quiz Forms Plugin for WordPress ===
2
  Plugin Name: Formidable Forms - Contact Form, Survey & Quiz Forms Plugin for WordPress
3
  Contributors: formidableforms, sswells, srwells
4
- Tags: forms, contact form, form builder, survey, form maker, form creator, paypal form, registration form, quiz, quiz form, order form, paypal, paypal form, stripe, stripe form, aweber, aweber form, getresponse, getresponse form, mortgage calculator, calculator form, calculator, price calculator, quote form, mailchimp, mailchimp form, feedback form, feedback, contact button, contact me, custom contact form, form manager, form, forms builder, forms creator, captcha, recaptcha, Akismet, email form, web form, payment form, survey form, donation form, email submit form, message form, email subscription, contact form widget, user registration form, wordpress registration, wordpress login form, constant contact, mailpoet, active campaign, salesforce, hubspot, campaign monitor
5
- Requires at least: 4.6
6
  Tested up to: 5.4
7
  Requires PHP: 5.6
8
- Stable tag: 4.04.03
9
 
10
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quiz forms, and more.
11
 
@@ -444,19 +444,17 @@ Yes, Formidable is not your basic contact form plugin. You can use it to create
444
  Our Stripe integration helps you quickly accept credit card payments online. Our PayPal form integration allows you to accept PayPal payments, subscriptions, and donations online.
445
 
446
  == Changelog ==
 
 
 
 
 
 
 
447
  = 4.04.03 =
448
  * Add option to Import forms on the listing page and in the new form process.
449
  * Improve performance on the settings page when default values are used in fields.
450
  * Update the base migrator class for more flexibility.
451
  * Fix: Prevent a few PHP warnings.
452
 
453
- = 4.04.02 =
454
- * Don't load the front end js in the builder/settings.
455
- * Fix: Some database prefixes weren't working correctly with many database calls: "rm", "fr", "_".
456
- * Fix: Remove incorrect instructions for input masks and allow uppercase characters with 'a' in the input mask.
457
- * Fix: Save value as array when single box is checked. This resolves a conflict when used with ACF.
458
- * Fix: The 5/6th class was the wrong size when CSS grids are turned off.
459
- * Fix: More accurately set the default options to fade in fields and use CSS grids.
460
- * Fix: Sort country list by the current locale.
461
-
462
  <a href="https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt">See changelog for all versions</a>
1
  === Formidable Form Builder - Contact Form, Survey & Quiz Forms Plugin for WordPress ===
2
  Plugin Name: Formidable Forms - Contact Form, Survey & Quiz Forms Plugin for WordPress
3
  Contributors: formidableforms, sswells, srwells
4
+ Tags: forms, contact form, form builder, survey, form maker, form creator, paypal form, registration form, quiz, quiz form, order form, paypal, paypal form, stripe, stripe form, aweber, aweber form, getresponse, getresponse form, mortgage calculator, calculator form, calculator, price calculator, quote form, contact button, contact me, custom contact form, form manager, form, forms builder, forms creator, captcha, recaptcha, Akismet, email form, web form, payment form, survey form, donation form, email submit form, message form, email subscription, contact form widget, user registration form, wordpress registration, wordpress login form, constant contact, mailpoet, active campaign, salesforce, hubspot, campaign monitor
5
+ Requires at least: 4.7
6
  Tested up to: 5.4
7
  Requires PHP: 5.6
8
+ Stable tag: 4.04.04
9
 
10
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quiz forms, and more.
11
 
444
  Our Stripe integration helps you quickly accept credit card payments online. Our PayPal form integration allows you to accept PayPal payments, subscriptions, and donations online.
445
 
446
  == Changelog ==
447
+ = 4.04.04 =
448
+ * Increased WP version requirement to 4.7.
449
+ * Added more options on Import/Export page depending on what other plugins are installed.
450
+ * More reliably add new options in fields when also reordering.
451
+ * Fix: When a newly added option is set as the default value, save it correctly.
452
+ * Added an easy way to install and SMTP plugin for better email deliverability.
453
+
454
  = 4.04.03 =
455
  * Add option to Import forms on the listing page and in the new form process.
456
  * Improve performance on the settings page when default values are used in fields.
457
  * Update the base migrator class for more flexibility.
458
  * Fix: Prevent a few PHP warnings.
459
 
 
 
 
 
 
 
 
 
 
460
  <a href="https://raw.githubusercontent.com/Strategy11/formidable-forms/master/changelog.txt">See changelog for all versions</a>