Formidable Forms – Form Builder for WordPress - Version 4.0.03

Version Description

  • Reduce builder layout and styling conflicts with themes that don't like to keep their messages and css to themselves. This hides messages and junk from other plugins on Formidable pages. It also removes the .description class from the builder page.
  • Use a textarea for the placeholder setting in paragraph fields.
  • Fix: CSV import was returning an error message.
Download this release

Release Info

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

Code changes from version 4.0.02 to 4.0.03

classes/controllers/FrmAppController.php CHANGED
@@ -40,8 +40,13 @@ class FrmAppController {
40
  $classes .= self::get_os();
41
 
42
  $page = str_replace( 'formidable-', '', FrmAppHelper::simple_get( 'page', 'sanitize_title' ) );
43
- if ( empty( $page ) ) {
44
- $page = FrmAppHelper::simple_get( 'frm_action', 'sanitize_title' );
 
 
 
 
 
45
  }
46
  if ( ! empty( $page ) ) {
47
  $classes .= ' frm-admin-page-' . $page;
40
  $classes .= self::get_os();
41
 
42
  $page = str_replace( 'formidable-', '', FrmAppHelper::simple_get( 'page', 'sanitize_title' ) );
43
+ if ( empty( $page ) || $page === 'formidable' ) {
44
+ $action = FrmAppHelper::simple_get( 'frm_action', 'sanitize_title' );
45
+ if ( in_array( $action, array( 'settings', 'edit', 'list' ) ) ) {
46
+ $page .= $action;
47
+ } else {
48
+ $page = $action;
49
+ }
50
  }
51
  if ( ! empty( $page ) ) {
52
  $classes .= ' frm-admin-page-' . $page;
classes/controllers/FrmEntriesController.php CHANGED
@@ -691,11 +691,18 @@ class FrmEntriesController {
691
  }
692
 
693
  public static function entry_sidebar( $entry = false ) {
694
- $data = maybe_unserialize( $entry->description );
 
 
695
  $date_format = get_option( 'date_format' );
696
  $time_format = get_option( 'time_format' );
697
- if ( isset( $data['browser'] ) ) {
698
- $browser = FrmEntriesHelper::get_browser( $data['browser'] );
 
 
 
 
 
699
  }
700
 
701
  include( FrmAppHelper::plugin_path() . '/classes/views/frm-entries/sidebar-shared.php' );
691
  }
692
 
693
  public static function entry_sidebar( $entry = false ) {
694
+ $data = array();
695
+ $id = 0;
696
+
697
  $date_format = get_option( 'date_format' );
698
  $time_format = get_option( 'time_format' );
699
+
700
+ if ( $entry ) {
701
+ $id = $entry->id;
702
+ $data = maybe_unserialize( $entry->description );
703
+ if ( isset( $data['browser'] ) ) {
704
+ $browser = FrmEntriesHelper::get_browser( $data['browser'] );
705
+ }
706
  }
707
 
708
  include( FrmAppHelper::plugin_path() . '/classes/views/frm-entries/sidebar-shared.php' );
classes/controllers/FrmXMLController.php CHANGED
@@ -192,7 +192,7 @@ class FrmXMLController {
192
  );
193
  $export_format = apply_filters( 'frm_export_formats', $export_format );
194
 
195
- $file_type = strtolower( pathinfo( wp_unslash( $_FILES['frm_import_file']['name'], PATHINFO_EXTENSION ) ) );
196
  if ( 'xml' !== $file_type && isset( $export_format[ $file_type ] ) ) {
197
  // allow other file types to be imported
198
  do_action( 'frm_before_import_' . $file_type );
192
  );
193
  $export_format = apply_filters( 'frm_export_formats', $export_format );
194
 
195
+ $file_type = strtolower( pathinfo( wp_unslash( $_FILES['frm_import_file']['name'] ), PATHINFO_EXTENSION ) );
196
  if ( 'xml' !== $file_type && isset( $export_format[ $file_type ] ) ) {
197
  // allow other file types to be imported
198
  do_action( 'frm_before_import_' . $file_type );
classes/helpers/FrmAppHelper.php CHANGED
@@ -11,7 +11,7 @@ class FrmAppHelper {
11
  /**
12
  * @since 2.0
13
  */
14
- public static $plug_version = '4.0.02';
15
 
16
  /**
17
  * @since 1.07.02
11
  /**
12
  * @since 2.0
13
  */
14
+ public static $plug_version = '4.0.03';
15
 
16
  /**
17
  * @since 1.07.02
classes/helpers/FrmXMLHelper.php CHANGED
@@ -1349,7 +1349,7 @@ class FrmXMLHelper {
1349
  if ( $switch ) {
1350
 
1351
  // Switch field IDs in email conditional logic
1352
- self::switch_email_contition_field_ids( $new_notification['post_content'] );
1353
 
1354
  // Switch all other field IDs in email
1355
  $new_notification['post_content'] = FrmFieldsHelper::switch_field_ids( $new_notification['post_content'] );
@@ -1527,7 +1527,7 @@ class FrmXMLHelper {
1527
  *
1528
  * @param $post_content array, pass by reference
1529
  */
1530
- private static function switch_email_contition_field_ids( &$post_content ) {
1531
  // Switch field IDs in conditional logic
1532
  if ( isset( $post_content['conditions'] ) && is_array( $post_content['conditions'] ) ) {
1533
  foreach ( $post_content['conditions'] as $email_key => $val ) {
1349
  if ( $switch ) {
1350
 
1351
  // Switch field IDs in email conditional logic
1352
+ self::switch_email_condition_field_ids( $new_notification['post_content'] );
1353
 
1354
  // Switch all other field IDs in email
1355
  $new_notification['post_content'] = FrmFieldsHelper::switch_field_ids( $new_notification['post_content'] );
1527
  *
1528
  * @param $post_content array, pass by reference
1529
  */
1530
+ private static function switch_email_condition_field_ids( &$post_content ) {
1531
  // Switch field IDs in conditional logic
1532
  if ( isset( $post_content['conditions'] ) && is_array( $post_content['conditions'] ) ) {
1533
  foreach ( $post_content['conditions'] as $email_key => $val ) {
classes/views/frm-fields/back-end/settings.php CHANGED
@@ -220,7 +220,19 @@ do_action( 'frm_before_field_options', $field );
220
  <label for="frm_placeholder_<?php echo esc_attr( $field['id'] ); ?>">
221
  <?php esc_html_e( 'Placeholder Text', 'formidable' ); ?>
222
  </label>
223
- <input type="text" name="field_options[placeholder_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['placeholder'] ); ?>" id="frm_placeholder_<?php echo esc_attr( $field['id'] ); ?>" data-changeme="field_<?php echo esc_attr( $field['field_key'] ); ?>" data-changeatt="placeholder" />
 
 
 
 
 
 
 
 
 
 
 
 
224
  </p>
225
  <?php } ?>
226
 
220
  <label for="frm_placeholder_<?php echo esc_attr( $field['id'] ); ?>">
221
  <?php esc_html_e( 'Placeholder Text', 'formidable' ); ?>
222
  </label>
223
+ <?php
224
+ if ( $display['type'] === 'textarea' || $display['type'] === 'rte' ) {
225
+ ?>
226
+ <textarea name="field_options[placeholder_<?php echo esc_attr( $field['id'] ); ?>]" id="frm_placeholder_<?php echo esc_attr( $field['id'] ); ?>" rows="3" data-changeme="field_<?php echo esc_attr( $field['field_key'] ); ?>" data-changeatt="placeholder"><?php
227
+ echo FrmAppHelper::esc_textarea( $field['placeholder'] ); // WPCS: XSS ok.
228
+ ?></textarea>
229
+ <?php
230
+ } else {
231
+ ?>
232
+ <input type="text" name="field_options[placeholder_<?php echo esc_attr( $field['id'] ); ?>]" value="<?php echo esc_attr( $field['placeholder'] ); ?>" id="frm_placeholder_<?php echo esc_attr( $field['id'] ); ?>" data-changeme="field_<?php echo esc_attr( $field['field_key'] ); ?>" data-changeatt="placeholder" />
233
+ <?php
234
+ }
235
+ ?>
236
  </p>
237
  <?php } ?>
238
 
classes/views/frm-forms/add_field.php CHANGED
@@ -42,7 +42,7 @@
42
  <div class="clear"></div>
43
  </div>
44
  <?php if ( $display['description'] || in_array( $field['type'], array( 'address', 'credit_card' ) ) ) { ?>
45
- <div class="description frm_description" id="field_description_<?php echo esc_attr( $field['id'] ); ?>">
46
  <?php echo FrmAppHelper::kses( force_balance_tags( $field['description'] ), 'all' ); // WPCS: XSS ok. ?>
47
  </div>
48
  <?php } ?>
@@ -54,7 +54,7 @@
54
  <div class="frm_form_fields">
55
  <input type="text" id="conf_field_<?php echo esc_attr( $field['field_key'] ); ?>" name="field_options[conf_input_<?php echo esc_attr( $field['id'] ); ?>]" placeholder="<?php echo esc_attr( $field['conf_input'] ); ?>" class="dyn_default_value" />
56
  </div>
57
- <div id="conf_field_description_<?php echo esc_attr( $field['id'] ); ?>" class="description frm_description"><?php
58
  echo FrmAppHelper::kses( force_balance_tags( $field['conf_desc'] ), 'all' ); // WPCS: XSS ok.
59
  ?></div>
60
  </div>
42
  <div class="clear"></div>
43
  </div>
44
  <?php if ( $display['description'] || in_array( $field['type'], array( 'address', 'credit_card' ) ) ) { ?>
45
+ <div class="frm_description" id="field_description_<?php echo esc_attr( $field['id'] ); ?>">
46
  <?php echo FrmAppHelper::kses( force_balance_tags( $field['description'] ), 'all' ); // WPCS: XSS ok. ?>
47
  </div>
48
  <?php } ?>
54
  <div class="frm_form_fields">
55
  <input type="text" id="conf_field_<?php echo esc_attr( $field['field_key'] ); ?>" name="field_options[conf_input_<?php echo esc_attr( $field['id'] ); ?>]" placeholder="<?php echo esc_attr( $field['conf_input'] ); ?>" class="dyn_default_value" />
56
  </div>
57
+ <div id="conf_field_description_<?php echo esc_attr( $field['id'] ); ?>" class="frm_description"><?php
58
  echo FrmAppHelper::kses( force_balance_tags( $field['conf_desc'] ), 'all' ); // WPCS: XSS ok.
59
  ?></div>
60
  </div>
css/frm_admin.css CHANGED
@@ -449,12 +449,17 @@ ul.frm_form_nav > li {
449
  padding-top: 0;
450
  }
451
 
 
452
  .frm-admin-page-reports .frm_page_container,
453
  .frm_list_entry_page .frm_page_container {
454
  height: auto;
455
  display: block;
456
  }
457
 
 
 
 
 
458
  .frm_wrap #frm_top_bar,
459
  .frm_wrap .columns-2 {
460
  flex: 0 0 auto;
@@ -811,6 +816,12 @@ p.frm_has_shortcodes {
811
  border-left: 1px solid var(--sidebar-hover);
812
  }
813
 
 
 
 
 
 
 
814
  #post-body-content + .frm-right-panel h3 {
815
  padding: 20px 20px 0;
816
  font-size: 17px;
@@ -991,6 +1002,7 @@ h2 .frm-button-primary {
991
  line-height: 26px;
992
  }
993
 
 
994
  .wp-core-ui.frm-white-body .button.first-page,
995
  .wp-core-ui.frm-white-body .button.prev-page,
996
  .wp-core-ui.frm-white-body .button.next-page,
@@ -1268,18 +1280,13 @@ a.frm_hidden,
1268
  padding: 0;
1269
  }
1270
 
1271
- #form_reports_page .frm-inner-content,
1272
- .frm-new-entry {
1273
  width: calc(100% - 40px);
1274
  max-width: 900px;
1275
  margin: 20px auto;
1276
  padding: 20px;
1277
  }
1278
 
1279
- .frm-new-entry {
1280
- padding-top: 0;
1281
- }
1282
-
1283
  .frm_inner_field_container > .frm_form_fields {
1284
  clear: both;
1285
  }
@@ -1302,6 +1309,12 @@ a.frm_hidden,
1302
  margin: 25px 50px 50px;
1303
  }
1304
 
 
 
 
 
 
 
1305
  .form-field label.frm_primary_label {
1306
  display: block;
1307
  float: none;
@@ -1714,6 +1727,7 @@ h2.frm-h2 + .howto {
1714
  margin-bottom: 0;
1715
  }
1716
 
 
1717
  #wpbody-content > .updated,
1718
  #wpbody-content > .notice:not(.frm-review-notice),
1719
  #wpbody-content > .error:not(.frm_previous_install),
@@ -1726,6 +1740,10 @@ h2.frm-h2 + .howto {
1726
  display: none;
1727
  }
1728
 
 
 
 
 
1729
  .frm-white-body .updated,
1730
  .frm-white-body .notice,
1731
  .frm-white-body .error {
@@ -3046,6 +3064,7 @@ li.ui-state-default.edit_field_type_divider .frm-show-click {
3046
 
3047
  .frm_form_field.ui-sortable-helper .frm-field-action-icons,
3048
  .frm_form_field.ui-sortable-helper .frm_form_fields,
 
3049
  .frm_form_field.ui-sortable-helper .description {
3050
  display: none;
3051
  }
@@ -3128,17 +3147,6 @@ li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-
3128
  opacity: 100;
3129
  }
3130
 
3131
- li.ui-state-default.selected .frm-show-click.frm_import_options {
3132
- vertical-align: middle;
3133
- padding: 10px 5px 12px;
3134
- background: #fbfbfb;
3135
- border: solid 1px #ebebeb;
3136
- }
3137
-
3138
- li.ui-state-default.selected .frm-show-click.frm_import_options select {
3139
- max-width: 22%;
3140
- }
3141
-
3142
  .frm_sorting span.ui-icon {
3143
  width: 16px;
3144
  }
@@ -4424,12 +4432,6 @@ span.howto {
4424
  display: none;
4425
  }
4426
 
4427
- .frm_sorting li.ui-state-default.selected > .widget,
4428
- .frm_sorting li.ui-state-default.selected.edit_field_type_divider .divider_section_only .widget {
4429
- display: block;
4430
- margin-top: 15px;
4431
- }
4432
-
4433
  #frm-show-fields {
4434
  min-height: 350px;
4435
  padding: 10px 0 35px;
@@ -4488,10 +4490,6 @@ span.howto {
4488
  margin: 5px 0 0;
4489
  }
4490
 
4491
- .repeat_section .selected .show_repeat_sec {
4492
- margin-bottom: 10px;
4493
- }
4494
-
4495
  .repeat_section tr.show_repeat_sec {
4496
  display: table-row;
4497
  }
@@ -4633,19 +4631,13 @@ li.selected .divider_section_only:before {
4633
  margin: 0 0 15px;
4634
  }
4635
 
4636
- .frm_sorting li.ui-state-default.edit_field_type_end_divider.selected,
4637
- .frm_sorting li.ui-state-default.edit_field_type_end_divider.selected:hover {
4638
- margin: 20px 0;
4639
- position: static;
4640
- }
4641
-
4642
  .frm-first-page .frm_prev_page {
4643
  display: none;
4644
  }
4645
 
4646
  #frm-form-button button,
4647
- .frm_remove_form_row,
4648
- .frm_add_form_row,
4649
  .frm-white-body .frm-preview-buttons button {
4650
  border-radius: var(--small-radius);
4651
  border: 1px solid var(--blue-border);
@@ -5283,7 +5275,7 @@ i.frm-show-inline-modal {
5283
  opacity: 1;
5284
  }
5285
 
5286
- .post-type-frm_display #post-query-submit,
5287
  select[name="m"] {
5288
  display: none;
5289
  }
@@ -5671,6 +5663,7 @@ ul .frm_col_two {
5671
  vertical-align: text-bottom;
5672
  }
5673
 
 
5674
  .frmsvg svg {
5675
  pointer-events: none;
5676
  }
@@ -6406,11 +6399,6 @@ Responsive Design
6406
  ---------------------------------------------------------------- */
6407
 
6408
  @media only screen and (max-width: 1200px) {
6409
- li.ui-state-default.selected .frm-show-click.frm_import_options {
6410
- background: none;
6411
- border: none;
6412
- }
6413
-
6414
  .frm-addons {
6415
  grid-template-columns: 1fr 1fr;
6416
  }
@@ -6601,10 +6589,6 @@ Responsive Design
6601
  max-height: 28px;
6602
  }
6603
 
6604
- .frm-new-entry {
6605
- margin: 0;
6606
- }
6607
-
6608
  a.frm_add_logic_link {
6609
  margin-left: 0;
6610
  margin-right: 0;
449
  padding-top: 0;
450
  }
451
 
452
+ .frm-new-entry .frm_page_container,
453
  .frm-admin-page-reports .frm_page_container,
454
  .frm_list_entry_page .frm_page_container {
455
  height: auto;
456
  display: block;
457
  }
458
 
459
+ .frm-new-entry .columns-2 {
460
+ border: none;
461
+ }
462
+
463
  .frm_wrap #frm_top_bar,
464
  .frm_wrap .columns-2 {
465
  flex: 0 0 auto;
816
  border-left: 1px solid var(--sidebar-hover);
817
  }
818
 
819
+ .frm-new-entry #post-body-content + .frm-right-panel,
820
+ .frm-new-entry .frm-right-panel {
821
+ background: none;
822
+ border: none;
823
+ }
824
+
825
  #post-body-content + .frm-right-panel h3 {
826
  padding: 20px 20px 0;
827
  font-size: 17px;
1002
  line-height: 26px;
1003
  }
1004
 
1005
+ .wp-core-ui.frm-white-body #post-query-submit.button,
1006
  .wp-core-ui.frm-white-body .button.first-page,
1007
  .wp-core-ui.frm-white-body .button.prev-page,
1008
  .wp-core-ui.frm-white-body .button.next-page,
1280
  padding: 0;
1281
  }
1282
 
1283
+ #form_reports_page .frm-inner-content {
 
1284
  width: calc(100% - 40px);
1285
  max-width: 900px;
1286
  margin: 20px auto;
1287
  padding: 20px;
1288
  }
1289
 
 
 
 
 
1290
  .frm_inner_field_container > .frm_form_fields {
1291
  clear: both;
1292
  }
1309
  margin: 25px 50px 50px;
1310
  }
1311
 
1312
+ .form-field p {
1313
+ /* for conflicts */
1314
+ background: none;
1315
+ border: none;
1316
+ }
1317
+
1318
  .form-field label.frm_primary_label {
1319
  display: block;
1320
  float: none;
1727
  margin-bottom: 0;
1728
  }
1729
 
1730
+ .frm-admin-page-formidableedit #wpbody-content > *:not(.frm-review-notice):not(.frm_previous_install),
1731
  #wpbody-content > .updated,
1732
  #wpbody-content > .notice:not(.frm-review-notice),
1733
  #wpbody-content > .error:not(.frm_previous_install),
1740
  display: none;
1741
  }
1742
 
1743
+ .frm-admin-page-formidableedit #frm_builder_page {
1744
+ display: block !important;
1745
+ }
1746
+
1747
  .frm-white-body .updated,
1748
  .frm-white-body .notice,
1749
  .frm-white-body .error {
3064
 
3065
  .frm_form_field.ui-sortable-helper .frm-field-action-icons,
3066
  .frm_form_field.ui-sortable-helper .frm_form_fields,
3067
+ .frm_form_field.ui-sortable-helper .frm_description,
3068
  .frm_form_field.ui-sortable-helper .description {
3069
  display: none;
3070
  }
3147
  opacity: 100;
3148
  }
3149
 
 
 
 
 
 
 
 
 
 
 
 
3150
  .frm_sorting span.ui-icon {
3151
  width: 16px;
3152
  }
4432
  display: none;
4433
  }
4434
 
 
 
 
 
 
 
4435
  #frm-show-fields {
4436
  min-height: 350px;
4437
  padding: 10px 0 35px;
4490
  margin: 5px 0 0;
4491
  }
4492
 
 
 
 
 
4493
  .repeat_section tr.show_repeat_sec {
4494
  display: table-row;
4495
  }
4631
  margin: 0 0 15px;
4632
  }
4633
 
 
 
 
 
 
 
4634
  .frm-first-page .frm_prev_page {
4635
  display: none;
4636
  }
4637
 
4638
  #frm-form-button button,
4639
+ .frm_remove_form_row.frm_button,
4640
+ .frm_add_form_row.frm_button,
4641
  .frm-white-body .frm-preview-buttons button {
4642
  border-radius: var(--small-radius);
4643
  border: 1px solid var(--blue-border);
5275
  opacity: 1;
5276
  }
5277
 
5278
+ .post-type-frm_display select[name="m"] + #post-query-submit,
5279
  select[name="m"] {
5280
  display: none;
5281
  }
5663
  vertical-align: text-bottom;
5664
  }
5665
 
5666
+ input[disabled],
5667
  .frmsvg svg {
5668
  pointer-events: none;
5669
  }
6399
  ---------------------------------------------------------------- */
6400
 
6401
  @media only screen and (max-width: 1200px) {
 
 
 
 
 
6402
  .frm-addons {
6403
  grid-template-columns: 1fr 1fr;
6404
  }
6589
  max-height: 28px;
6590
  }
6591
 
 
 
 
 
6592
  a.frm_add_logic_link {
6593
  margin-left: 0;
6594
  margin-right: 0;
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.0.02
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.0.03
6
  Plugin URI: https://formidableforms.com/
7
  Author URI: https://formidableforms.com/
8
  Author: Strategy11
js/formidable.js CHANGED
@@ -860,12 +860,18 @@ function frmFrontFormJS(){
860
  },
861
 
862
  renderRecaptcha: function( captcha ) {
863
- var size = captcha.getAttribute('data-size');
864
- var params = {
865
- 'sitekey': captcha.getAttribute('data-sitekey'),
866
- 'size': size,
867
- 'theme': captcha.getAttribute('data-theme')
868
- };
 
 
 
 
 
 
869
  if ( size === 'invisible' ) {
870
  var formID = jQuery(captcha).closest('form').find('input[name="form_id"]').val();
871
  jQuery(captcha).closest('.frm_form_field').hide();
860
  },
861
 
862
  renderRecaptcha: function( captcha ) {
863
+ var size = captcha.getAttribute('data-size'),
864
+ rendered = captcha.getAttribute('data-rid') !== null,
865
+ params = {
866
+ 'sitekey': captcha.getAttribute('data-sitekey'),
867
+ 'size': size,
868
+ 'theme': captcha.getAttribute('data-theme')
869
+ };
870
+
871
+ if ( rendered ) {
872
+ return;
873
+ }
874
+
875
  if ( size === 'invisible' ) {
876
  var formID = jQuery(captcha).closest('form').find('input[name="form_id"]').val();
877
  jQuery(captcha).closest('.frm_form_field').hide();
js/formidable.min.js CHANGED
@@ -31,20 +31,20 @@ success:function(msg){label.html(msg)}});return false}function confirmClick(){va
31
  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;var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;var res=[];var thisp=
32
  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",frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()===
33
  "")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"]',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",
34
- 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=captcha.getAttribute("data-size");var params={"sitekey":captcha.getAttribute("data-sitekey"),"size":size,"theme":captcha.getAttribute("data-theme")};if(size==="invisible"){var formID=
35
- jQuery(captcha).closest("form").find('input[name="form_id"]').val();jQuery(captcha).closest(".frm_form_field").hide();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_"+
36
- 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);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!==
37
- "undefined"&&typeof frmProForm.submitAllowed==="function")if(!frmProForm.submitAllowed(object))return;if(invisibleRecaptcha.length){showLoadingIndicator(jQuery(object));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")>
38
- -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()},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},
39
- 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,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,
40
- key,jsErrors);else delete jsErrors[key]}scrollToFirstField(object)},checkFormErrors:function(object,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,
41
- 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==="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);
42
- 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==="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;
43
- 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");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)},
44
- hideOrShowFields:function(ids,event){console.warn("DEPRECATED: function frmFrontForm.hideOrShowFields in v3.0 use frmProForm.hideOrShowFields");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");
45
- if(typeof frmProForm!=="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");
46
- 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()});
47
- 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)}
48
  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");
49
  else jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).replaceWith(message)}})}
50
  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");
31
  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;var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function")throw new TypeError;var res=[];var thisp=
32
  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",frmFrontForm.submitForm);jQuery(".frm-show-form input[onblur], .frm-show-form textarea[onblur]").each(function(){if(jQuery(this).val()===
33
  "")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"]',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",
34
+ 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=captcha.getAttribute("data-size"),rendered=captcha.getAttribute("data-rid")!==null,params={"sitekey":captcha.getAttribute("data-sitekey"),"size":size,"theme":captcha.getAttribute("data-theme")};
35
+ if(rendered)return;if(size==="invisible"){var formID=jQuery(captcha).closest("form").find('input[name="form_id"]').val();jQuery(captcha).closest(".frm_form_field").hide();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,
36
+ 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);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<
37
+ 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);if(Object.keys(errors).length===0){showSubmitLoading(jQuery(object));frmFrontForm.submitFormNow(object,classList)}}},submitFormNow:function(object){var classList=object.className.trim().split(/\s+/gi);
38
+ 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()},validateFormSubmit:function(object){if(typeof tinyMCE!=="undefined"&&jQuery(object).find(".wp-editor-wrap").length)tinyMCE.triggerSave();jsErrors=[];if(shouldJSValidate(object)){frmFrontForm.getAjaxFormErrors(object);
39
+ 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,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=
40
+ 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,errors)},showSubmitLoading:function($object){showSubmitLoading($object)},removeSubmitLoading:function($object,enable,processesRunning){removeSubmitLoading($object,enable,processesRunning)},scrollToID:function(id){var object=
41
+ 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==="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");
42
+ 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==="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;
43
+ 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");if(typeof frmProForm!=="undefined")return frmProForm.savingDraft(object)},goingToPreviousPage:function(object){console.warn("DEPRECATED: function frmFrontForm.goingToPreviousPage in v3.0 use frmProForm.goingToPreviousPage");
44
+ 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()},hidePreviouslyHiddenFields:function(){console.warn("DEPRECATED: function frmFrontForm.hidePreviouslyHiddenFields in v3.0 use frmProForm.hidePreviouslyHiddenFields");if(typeof frmProForm!=="undefined")frmProForm.hidePreviouslyHiddenFields()},
45
+ 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");if(typeof frmProForm!=="undefined")frmProForm.checkDependentLookupFields(ids)},loadGoogle:function(){console.warn("DEPRECATED: function frmFrontForm.loadGoogle in v3.0 use frmProForm.loadGoogle");
46
+ 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,"&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",
47
+ "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])}function frmAfterRecaptcha(token){frmFrontForm.afterSingleRecaptcha(token)}
48
  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");
49
  else jQuery(document.getElementById("frm_update_field_"+entry_id+"_"+field_id+"_"+num)).replaceWith(message)}})}
50
  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
@@ -1019,9 +1019,9 @@ function frmAdminBuildJS() {
1019
  if ( typeof fieldId !== 'undefined' && fieldId ) {
1020
  fields.push( {
1021
  'fieldId': fieldId,
1022
- 'fieldName': document.getElementById( 'frm_name_' + fieldId ).value,
1023
- 'fieldType': document.getElementById( 'field_options_type_' + fieldId ).value,
1024
- 'fieldKey': document.getElementById( 'field_options_field_key_' + fieldId ).value
1025
  } );
1026
  }
1027
 
@@ -1031,6 +1031,18 @@ function frmAdminBuildJS() {
1031
  }
1032
  }
1033
 
 
 
 
 
 
 
 
 
 
 
 
 
1034
  function liveChanges() {
1035
  /*jshint validthis:true */
1036
  var option,
@@ -1488,9 +1500,9 @@ function frmAdminBuildJS() {
1488
  action: 'frm_add_logic_row',
1489
  form_id: form_id,
1490
  field_id: id,
1491
- fields: getFieldList(),
1492
  meta_name: meta_name,
1493
- nonce: frmGlobal.nonce
1494
  },
1495
  success: function( html ) {
1496
  jQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'slow', function() {
@@ -1741,25 +1753,9 @@ function frmAdminBuildJS() {
1741
  return;
1742
  }
1743
 
1744
- clickAction( this );
1745
- }
1746
-
1747
- function clickSectionVis( e ) {
1748
- /*jshint validthis:true */
1749
- if ( typeof jQuery( e.target ).closest( '.widget-top' ).attr( 'class' ) !== 'undefined' ) {
1750
- clickWidget( e, jQuery( e.target ).closest( '.widget-top' ) );
1751
- }
1752
-
1753
- // Do not stop propagation if opening TB_iframe
1754
- if ( e.target.className.indexOf( 'thickbox' ) === -1 ) {
1755
  e.stopPropagation();
1756
- var isButton = jQuery( e.target ).closest( '.frm-btn-group' );
1757
- if ( isButton !== null ) {
1758
- // allow bootstrap dropdown to open
1759
- jQuery( isButton ).find( '[data-toggle=dropdown]' ).dropdown( 'toggle' );
1760
- }
1761
  }
1762
-
1763
  clickAction( this );
1764
  }
1765
 
@@ -4582,10 +4578,9 @@ function frmAdminBuildJS() {
4582
  $builderForm.on( 'change', '.frm_toggle_mult_sel', toggleMultSel );
4583
  $builderForm.on( 'focusin', '.frm_classes', showBuilderModal );
4584
 
4585
- jQuery( builderArea ).on( 'click', '#frm-show-fields .frm_primary_label', clickLabel );
4586
- jQuery( builderArea ).on( 'click', '.frm_description', clickDescription );
4587
- jQuery( builderArea ).on( 'click', '#frm-show-fields > li.ui-state-default', clickVis );
4588
- $newFields.on( 'click', '.start_divider li.ui-state-default', clickSectionVis );
4589
  $builderForm.on( 'change', '.frm_tax_form_select', toggleFormTax );
4590
  $builderForm.on( 'change', 'select.conf_field', addConf );
4591
 
1019
  if ( typeof fieldId !== 'undefined' && fieldId ) {
1020
  fields.push( {
1021
  'fieldId': fieldId,
1022
+ 'fieldName': getPossibleValue( 'frm_name_' + fieldId ),
1023
+ 'fieldType': getPossibleValue( 'field_options_type_' + fieldId ),
1024
+ 'fieldKey': getPossibleValue( 'field_options_field_key_' + fieldId )
1025
  } );
1026
  }
1027
 
1031
  }
1032
  }
1033
 
1034
+ /**
1035
+ * If the element doesn't exist, use a blank value.
1036
+ */
1037
+ function getPossibleValue( id ) {
1038
+ field = document.getElementById( id );
1039
+ if ( field !== null ) {
1040
+ return field.value;
1041
+ } else {
1042
+ return '';
1043
+ }
1044
+ }
1045
+
1046
  function liveChanges() {
1047
  /*jshint validthis:true */
1048
  var option,
1500
  action: 'frm_add_logic_row',
1501
  form_id: form_id,
1502
  field_id: id,
1503
+ nonce: frmGlobal.nonce,
1504
  meta_name: meta_name,
1505
+ fields: getFieldList()
1506
  },
1507
  success: function( html ) {
1508
  jQuery( document.getElementById( 'logic_' + id ) ).fadeOut( 'slow', function() {
1753
  return;
1754
  }
1755
 
1756
+ if ( this.closest( '.start_divider' ) !== null ) {
 
 
 
 
 
 
 
 
 
 
1757
  e.stopPropagation();
 
 
 
 
 
1758
  }
 
1759
  clickAction( this );
1760
  }
1761
 
4578
  $builderForm.on( 'change', '.frm_toggle_mult_sel', toggleMultSel );
4579
  $builderForm.on( 'focusin', '.frm_classes', showBuilderModal );
4580
 
4581
+ $newFields.on( 'click', '.frm_primary_label', clickLabel );
4582
+ $newFields.on( 'click', '.frm_description', clickDescription );
4583
+ $newFields.on( 'click', 'li.ui-state-default', clickVis );
 
4584
  $builderForm.on( 'change', '.frm_tax_form_select', toggleFormTax );
4585
  $builderForm.on( 'change', 'select.conf_field', addConf );
4586
 
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.0.02\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: 2019-05-29T23:16:23+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"
@@ -571,18 +571,18 @@ msgstr ""
571
  msgid "Your plugin has been activated. Please reload the page to see more options."
572
  msgstr ""
573
 
574
- #: classes/controllers/FrmAppController.php:139
575
  msgid "Build"
576
  msgstr ""
577
 
578
- #: classes/controllers/FrmAppController.php:146
579
  #: classes/views/frm-forms/settings.php:8
580
  #: classes/views/frm-settings/form.php:9
581
  #: classes/helpers/FrmFormsListHelper.php:302
582
  msgid "Settings"
583
  msgstr ""
584
 
585
- #: classes/controllers/FrmAppController.php:153
586
  #: classes/controllers/FrmXMLController.php:133
587
  #: classes/controllers/FrmFormsController.php:725
588
  #: classes/controllers/FrmEntriesController.php:8
@@ -591,22 +591,22 @@ msgstr ""
591
  msgid "Entries"
592
  msgstr ""
593
 
594
- #: classes/controllers/FrmAppController.php:164
595
- #: classes/controllers/FrmAppController.php:170
596
  msgid "Views"
597
  msgstr ""
598
 
599
- #: classes/controllers/FrmAppController.php:176
600
- #: classes/controllers/FrmAppController.php:182
601
  msgid "Reports"
602
  msgstr ""
603
 
604
- #: classes/controllers/FrmAppController.php:198
605
  msgid "Build a Form"
606
  msgstr ""
607
 
608
  #. translators: %1$s: Start link HTML, %2$s: End link HTML, %3$s: Start link HTML, %4$s: End link HTML
609
- #: classes/controllers/FrmAppController.php:242
610
  msgid "This site has been previously authorized to run Formidable Forms. %1$sInstall Formidable Pro%2$s or %3$sdeauthorize%4$s this site to continue running the free version and remove this message."
611
  msgstr ""
612
 
@@ -2423,7 +2423,7 @@ msgid "%s Field"
2423
  msgstr ""
2424
 
2425
  #: classes/views/frm-fields/back-end/settings.php:34
2426
- #: classes/views/frm-fields/back-end/settings.php:364
2427
  msgid "Required"
2428
  msgstr ""
2429
 
@@ -2432,7 +2432,7 @@ msgid "Unique: Do not allow the same response multiple times. For example, if on
2432
  msgstr ""
2433
 
2434
  #: classes/views/frm-fields/back-end/settings.php:42
2435
- #: classes/views/frm-fields/back-end/settings.php:384
2436
  msgid "Unique"
2437
  msgstr ""
2438
 
@@ -2478,74 +2478,74 @@ msgstr ""
2478
  msgid "Placeholder Text"
2479
  msgstr ""
2480
 
2481
- #: classes/views/frm-fields/back-end/settings.php:243
2482
  msgid "If this URL points to an image, show to image on the entries listing page."
2483
  msgstr ""
2484
 
2485
- #: classes/views/frm-fields/back-end/settings.php:250
2486
  msgid "Set the size of the captcha field. The compact option is best if your form is in a small area."
2487
  msgstr ""
2488
 
2489
- #: classes/views/frm-fields/back-end/settings.php:251
2490
  msgid "ReCaptcha Type"
2491
  msgstr ""
2492
 
2493
- #: classes/views/frm-fields/back-end/settings.php:255
2494
  msgid "Normal"
2495
  msgstr ""
2496
 
2497
- #: classes/views/frm-fields/back-end/settings.php:258
2498
  msgid "Compact"
2499
  msgstr ""
2500
 
2501
- #: classes/views/frm-fields/back-end/settings.php:264
2502
  msgid "reCAPTCHA Color"
2503
  msgstr ""
2504
 
2505
- #: classes/views/frm-fields/back-end/settings.php:268
2506
  msgid "Light"
2507
  msgstr ""
2508
 
2509
- #: classes/views/frm-fields/back-end/settings.php:271
2510
  msgid "Dark"
2511
  msgstr ""
2512
 
2513
- #: classes/views/frm-fields/back-end/settings.php:288
2514
  msgid "Required Field Indicator"
2515
  msgstr ""
2516
 
2517
- #: classes/views/frm-fields/back-end/settings.php:296
2518
  #: classes/helpers/FrmFormsHelper.php:433
2519
  msgid "Label Position"
2520
  msgstr ""
2521
 
2522
- #: classes/views/frm-fields/back-end/settings.php:299
2523
  #: classes/helpers/FrmAppHelper.php:2004
2524
  msgid "Default"
2525
  msgstr ""
2526
 
2527
- #: classes/views/frm-fields/back-end/settings.php:317
2528
  msgid "The field key can be used as an alternative to the field ID in many cases."
2529
  msgstr ""
2530
 
2531
- #: classes/views/frm-fields/back-end/settings.php:318
2532
  #: classes/helpers/FrmFormsHelper.php:421
2533
  msgid "Field Key"
2534
  msgstr ""
2535
 
2536
- #: classes/views/frm-fields/back-end/settings.php:326
2537
  msgid "Field Type"
2538
  msgstr ""
2539
 
2540
- #: classes/views/frm-fields/back-end/settings.php:356
2541
  msgid "Validation Messages"
2542
  msgstr ""
2543
 
2544
- #: classes/views/frm-fields/back-end/settings.php:373
2545
  msgid "Invalid Format"
2546
  msgstr ""
2547
 
2548
- #: classes/views/frm-fields/back-end/settings.php:395
2549
  msgid "Confirmation"
2550
  msgstr ""
2551
 
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.0.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: 2019-06-03T22:53:21+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"
571
  msgid "Your plugin has been activated. Please reload the page to see more options."
572
  msgstr ""
573
 
574
+ #: classes/controllers/FrmAppController.php:144
575
  msgid "Build"
576
  msgstr ""
577
 
578
+ #: classes/controllers/FrmAppController.php:151
579
  #: classes/views/frm-forms/settings.php:8
580
  #: classes/views/frm-settings/form.php:9
581
  #: classes/helpers/FrmFormsListHelper.php:302
582
  msgid "Settings"
583
  msgstr ""
584
 
585
+ #: classes/controllers/FrmAppController.php:158
586
  #: classes/controllers/FrmXMLController.php:133
587
  #: classes/controllers/FrmFormsController.php:725
588
  #: classes/controllers/FrmEntriesController.php:8
591
  msgid "Entries"
592
  msgstr ""
593
 
594
+ #: classes/controllers/FrmAppController.php:169
595
+ #: classes/controllers/FrmAppController.php:175
596
  msgid "Views"
597
  msgstr ""
598
 
599
+ #: classes/controllers/FrmAppController.php:181
600
+ #: classes/controllers/FrmAppController.php:187
601
  msgid "Reports"
602
  msgstr ""
603
 
604
+ #: classes/controllers/FrmAppController.php:203
605
  msgid "Build a Form"
606
  msgstr ""
607
 
608
  #. translators: %1$s: Start link HTML, %2$s: End link HTML, %3$s: Start link HTML, %4$s: End link HTML
609
+ #: classes/controllers/FrmAppController.php:247
610
  msgid "This site has been previously authorized to run Formidable Forms. %1$sInstall Formidable Pro%2$s or %3$sdeauthorize%4$s this site to continue running the free version and remove this message."
611
  msgstr ""
612
 
2423
  msgstr ""
2424
 
2425
  #: classes/views/frm-fields/back-end/settings.php:34
2426
+ #: classes/views/frm-fields/back-end/settings.php:376
2427
  msgid "Required"
2428
  msgstr ""
2429
 
2432
  msgstr ""
2433
 
2434
  #: classes/views/frm-fields/back-end/settings.php:42
2435
+ #: classes/views/frm-fields/back-end/settings.php:396
2436
  msgid "Unique"
2437
  msgstr ""
2438
 
2478
  msgid "Placeholder Text"
2479
  msgstr ""
2480
 
2481
+ #: classes/views/frm-fields/back-end/settings.php:255
2482
  msgid "If this URL points to an image, show to image on the entries listing page."
2483
  msgstr ""
2484
 
2485
+ #: classes/views/frm-fields/back-end/settings.php:262
2486
  msgid "Set the size of the captcha field. The compact option is best if your form is in a small area."
2487
  msgstr ""
2488
 
2489
+ #: classes/views/frm-fields/back-end/settings.php:263
2490
  msgid "ReCaptcha Type"
2491
  msgstr ""
2492
 
2493
+ #: classes/views/frm-fields/back-end/settings.php:267
2494
  msgid "Normal"
2495
  msgstr ""
2496
 
2497
+ #: classes/views/frm-fields/back-end/settings.php:270
2498
  msgid "Compact"
2499
  msgstr ""
2500
 
2501
+ #: classes/views/frm-fields/back-end/settings.php:276
2502
  msgid "reCAPTCHA Color"
2503
  msgstr ""
2504
 
2505
+ #: classes/views/frm-fields/back-end/settings.php:280
2506
  msgid "Light"
2507
  msgstr ""
2508
 
2509
+ #: classes/views/frm-fields/back-end/settings.php:283
2510
  msgid "Dark"
2511
  msgstr ""
2512
 
2513
+ #: classes/views/frm-fields/back-end/settings.php:300
2514
  msgid "Required Field Indicator"
2515
  msgstr ""
2516
 
2517
+ #: classes/views/frm-fields/back-end/settings.php:308
2518
  #: classes/helpers/FrmFormsHelper.php:433
2519
  msgid "Label Position"
2520
  msgstr ""
2521
 
2522
+ #: classes/views/frm-fields/back-end/settings.php:311
2523
  #: classes/helpers/FrmAppHelper.php:2004
2524
  msgid "Default"
2525
  msgstr ""
2526
 
2527
+ #: classes/views/frm-fields/back-end/settings.php:329
2528
  msgid "The field key can be used as an alternative to the field ID in many cases."
2529
  msgstr ""
2530
 
2531
+ #: classes/views/frm-fields/back-end/settings.php:330
2532
  #: classes/helpers/FrmFormsHelper.php:421
2533
  msgid "Field Key"
2534
  msgstr ""
2535
 
2536
+ #: classes/views/frm-fields/back-end/settings.php:338
2537
  msgid "Field Type"
2538
  msgstr ""
2539
 
2540
+ #: classes/views/frm-fields/back-end/settings.php:368
2541
  msgid "Validation Messages"
2542
  msgstr ""
2543
 
2544
+ #: classes/views/frm-fields/back-end/settings.php:385
2545
  msgid "Invalid Format"
2546
  msgstr ""
2547
 
2548
+ #: classes/views/frm-fields/back-end/settings.php:407
2549
  msgid "Confirmation"
2550
  msgstr ""
2551
 
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: forms, contact form, form builder, survey, form maker, form, form creator
4
  Requires at least: 4.6
5
  Tested up to: 5.2
6
  Requires PHP: 5.6
7
- Stable tag: 4.0.02
8
 
9
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quiz forms, and more.
10
 
@@ -374,6 +374,11 @@ Formidable Forms drag & drop form builder combined with our add-ons is the most
374
  To get access to more features, integrations, and support, <a href="https://formidableforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">upgrade to Formidable Forms Pro</a>. A Pro license gives you access to the full version of Formidable Forms for more advanced contact forms, Formidable Views, graphs and stats, priority support, and Formidable Forms Add-ons!
375
 
376
  == Changelog ==
 
 
 
 
 
377
  = 4.0.02 =
378
  * Include the WordPress admin bar in full screen mode.
379
  * Replace field icons in builder with svg sprite to prevent browser caching issues.
4
  Requires at least: 4.6
5
  Tested up to: 5.2
6
  Requires PHP: 5.6
7
+ Stable tag: 4.0.03
8
 
9
  The most advanced WordPress forms plugin. Go beyond contact forms with our drag & drop form builder for surveys, quiz forms, and more.
10
 
374
  To get access to more features, integrations, and support, <a href="https://formidableforms.com/?utm_source=wprepo&utm_medium=link&utm_campaign=liteversion">upgrade to Formidable Forms Pro</a>. A Pro license gives you access to the full version of Formidable Forms for more advanced contact forms, Formidable Views, graphs and stats, priority support, and Formidable Forms Add-ons!
375
 
376
  == Changelog ==
377
+ = 4.0.03 =
378
+ * Reduce builder layout and styling conflicts with themes that don't like to keep their messages and css to themselves. This hides messages and junk from other plugins on Formidable pages. It also removes the .description class from the builder page.
379
+ * Use a textarea for the placeholder setting in paragraph fields.
380
+ * Fix: CSV import was returning an error message.
381
+
382
  = 4.0.02 =
383
  * Include the WordPress admin bar in full screen mode.
384
  * Replace field icons in builder with svg sprite to prevent browser caching issues.