Formidable Forms – Form Builder for WordPress - Version 2.0.03

Version Description

  • Use frm_clear instead of clear to minimize conflicts
  • Add js fallback for database update on sites without CURL
  • Fix issues with emails migrating to actions in php 5.3, and t showing in some emails after updating settings
  • Pro: Add frm_date_format filter
  • Pro: If a comma separated list of dates is sent for formatting, explode it before formatting
  • Pro: Increase the backtrack limit when needed when replacing shortcodes in the view content if server has the limit below default
  • Pro: Fix issue causing csv export error
  • Pro: Fix the issue cuasing new posts to not be linked to a view if a field is selected for the post content
  • Pro: Fix issue some users are having with blank date fields
  • Pro: Fix ending collapsible sections at the end of a section instead of waiting for the next section
  • Pro: Fix firing calculations on page load when there are multiple calculations
  • Pro: Don't allow theme to affect the font size of stars
Download this release

Release Info

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

Code changes from version 2.0.02 to 2.0.03

classes/controllers/FrmAppController.php CHANGED
@@ -63,8 +63,7 @@ class FrmAppController {
63
  return;
64
  }
65
 
66
- global $frm_vars;
67
- if ( $frm_vars['pro_is_authorized'] && ! file_exists( FrmAppHelper::plugin_path() . '/pro/formidable-pro.php' ) ) {
68
  FrmAppHelper::load_admin_wide_js();
69
 
70
  // user is authorized, but running free version
@@ -84,6 +83,17 @@ class FrmAppController {
84
  }
85
  }
86
 
 
 
 
 
 
 
 
 
 
 
 
87
  /**
88
  * Check if the database is outdated
89
  *
@@ -367,7 +377,11 @@ class FrmAppController {
367
  }
368
 
369
  $upgrade_url = add_query_arg( array( 'action' => 'frm_silent_upgrade' ), $upgrade_url );
370
- wp_remote_post( $upgrade_url );
 
 
 
 
371
  }
372
 
373
  /**
63
  return;
64
  }
65
 
66
+ if ( get_site_option( 'frmpro-authorized' ) && ! file_exists( FrmAppHelper::plugin_path() . '/pro/formidable-pro.php' ) ) {
 
67
  FrmAppHelper::load_admin_wide_js();
68
 
69
  // user is authorized, but running free version
83
  }
84
  }
85
 
86
+ /**
87
+ * If there are CURL problems on this server, wp_remote_post won't work for installing
88
+ * Use a javascript fallback instead.
89
+ *
90
+ * @since 2.0.3
91
+ */
92
+ public static function install_js_fallback() {
93
+ FrmAppHelper::load_admin_wide_js();
94
+ echo '<div id="hidden frm_install_message"></div><script type="text/javascript">jQuery(document).ready(function(){frm_install_now();});</script>';
95
+ }
96
+
97
  /**
98
  * Check if the database is outdated
99
  *
377
  }
378
 
379
  $upgrade_url = add_query_arg( array( 'action' => 'frm_silent_upgrade' ), $upgrade_url );
380
+ $r = wp_remote_post( $upgrade_url );
381
+ if( is_wp_error( $r ) ) {
382
+ // if the remove post fails, use javascript instead
383
+ add_action( 'admin_notices', 'FrmAppController::install_js_fallback' );
384
+ }
385
  }
386
 
387
  /**
classes/controllers/FrmFormActionsController.php CHANGED
@@ -253,7 +253,7 @@ class FrmFormActionsController {
253
  $entry = FrmEntry::getOne( $entry, true );
254
  }
255
 
256
- $child_entry = ( ! $form || ( is_numeric( $form->parent_form_id ) && $form->parent_form_id ) || ! $entry || $entry->form_id != $form->id || $entry->parent_item_id || ( isset( $args['is_child'] ) && $args['is_child'] ) );
257
 
258
  if ( $child_entry ) {
259
  //don't trigger actions for sub forms
253
  $entry = FrmEntry::getOne( $entry, true );
254
  }
255
 
256
+ $child_entry = ( ( $form && is_numeric( $form->parent_form_id ) && $form->parent_form_id ) || ( $entry && ( $entry->form_id != $form->id || $entry->parent_item_id ) ) || ( isset( $args['is_child'] ) && $args['is_child'] ) );
257
 
258
  if ( $child_entry ) {
259
  //don't trigger actions for sub forms
classes/controllers/FrmHooksController.php CHANGED
@@ -133,7 +133,7 @@ class FrmHooksController {
133
  public static function load_ajax_hooks() {
134
  add_action( 'wp_ajax_frm_silent_upgrade', 'FrmAppController::ajax_install' );
135
  add_action( 'wp_ajax_nopriv_frm_silent_upgrade', 'FrmAppController::ajax_install' );
136
- add_action('wp_ajax_frm_install', 'FrmAppController::install' );
137
  add_action('wp_ajax_frm_uninstall', 'FrmAppController::uninstall' );
138
  add_action('wp_ajax_frm_deauthorize', 'FrmAppController::deauthorize' );
139
 
133
  public static function load_ajax_hooks() {
134
  add_action( 'wp_ajax_frm_silent_upgrade', 'FrmAppController::ajax_install' );
135
  add_action( 'wp_ajax_nopriv_frm_silent_upgrade', 'FrmAppController::ajax_install' );
136
+ add_action( 'wp_ajax_frm_install', 'FrmAppController::ajax_install' );
137
  add_action('wp_ajax_frm_uninstall', 'FrmAppController::uninstall' );
138
  add_action('wp_ajax_frm_deauthorize', 'FrmAppController::deauthorize' );
139
 
classes/helpers/FrmAppHelper.php CHANGED
@@ -10,7 +10,7 @@ class FrmAppHelper {
10
  /**
11
  * @since 2.0
12
  */
13
- public static $plug_version = '2.0.02';
14
 
15
  /**
16
  * @since 1.07.02
@@ -1574,7 +1574,7 @@ class FrmAppHelper {
1574
  $post_content = json_encode( $post_content );
1575
 
1576
  // add extra slashes for \r\n since WP strips them
1577
- $post_content = str_replace( array( '\\r', '\\n', '\\u'), array( '\\\\r', '\\\\n', '\\\\u'), $post_content );
1578
 
1579
  // allow for &quot
1580
  $post_content = str_replace( '&quot;', '\\"', $post_content );
10
  /**
11
  * @since 2.0
12
  */
13
+ public static $plug_version = '2.0.03';
14
 
15
  /**
16
  * @since 1.07.02
1574
  $post_content = json_encode( $post_content );
1575
 
1576
  // add extra slashes for \r\n since WP strips them
1577
+ $post_content = str_replace( array( '\\r', '\\n', '\\u', '\\t'), array( '\\\\r', '\\\\n', '\\\\u', '\\\\t'), $post_content );
1578
 
1579
  // allow for &quot
1580
  $post_content = str_replace( '&quot;', '\\"', $post_content );
classes/helpers/FrmFieldsHelper.php CHANGED
@@ -375,6 +375,10 @@ DEFAULT_HTML;
375
  //replace [error_class]
376
  $error_class = isset ( $errors['field'. $field_id] ) ? ' frm_blank_field' : '';
377
  self::get_more_field_classes( $error_class, $field, $field_id, $html );
 
 
 
 
378
  $html = str_replace('[error_class]', $error_class, $html);
379
 
380
  //replace [entry_key]
375
  //replace [error_class]
376
  $error_class = isset ( $errors['field'. $field_id] ) ? ' frm_blank_field' : '';
377
  self::get_more_field_classes( $error_class, $field, $field_id, $html );
378
+ if ( $field['type'] == 'html' && strpos( $html, '[error_class]' ) === false ) {
379
+ // there is no error_class shortcode to use for addign fields
380
+ $html = str_replace( 'class="frm_form_field', 'class="frm_form_field ' . $error_class, $html );
381
+ }
382
  $html = str_replace('[error_class]', $error_class, $html);
383
 
384
  //replace [entry_key]
classes/helpers/FrmXMLHelper.php CHANGED
@@ -659,6 +659,7 @@ class FrmXMLHelper {
659
  if ( ! $exists ) {
660
  // Remove the balanceTags filter in case WordPress is trying to validate the XHTML
661
  remove_filter( 'content_save_pre', 'balanceTags', 50 );
 
662
 
663
  wp_insert_post( $new_action );
664
  $imported['imported']['actions']++;
659
  if ( ! $exists ) {
660
  // Remove the balanceTags filter in case WordPress is trying to validate the XHTML
661
  remove_filter( 'content_save_pre', 'balanceTags', 50 );
662
+ remove_filter( 'content_save_pre', 'wp_filter_post_kses' );
663
 
664
  wp_insert_post( $new_action );
665
  $imported['imported']['actions']++;
classes/views/frm-entries/form.php CHANGED
@@ -41,10 +41,16 @@ if ( FrmAppHelper::is_admin() && ! $frm_settings->lock_keys ) { ?>
41
  do_action('frm_entry_form', $form, $form_action, $errors);
42
 
43
  global $frm_vars;
 
44
  if ( isset($frm_vars['div']) && $frm_vars['div'] ) {
45
  echo "</div>\n";
46
  unset($frm_vars['div']);
47
  }
 
 
 
 
 
48
 
49
  echo FrmFormsHelper::replace_shortcodes($values['after_html'], $form);
50
 
41
  do_action('frm_entry_form', $form, $form_action, $errors);
42
 
43
  global $frm_vars;
44
+ // close open section div
45
  if ( isset($frm_vars['div']) && $frm_vars['div'] ) {
46
  echo "</div>\n";
47
  unset($frm_vars['div']);
48
  }
49
+ // close open collapsible toggle div
50
+ if ( isset($frm_vars['collapse_div']) && $frm_vars['collapse_div'] ) {
51
+ echo "</div>\n";
52
+ unset($frm_vars['collapse_div']);
53
+ }
54
 
55
  echo FrmFormsHelper::replace_shortcodes($values['after_html'], $form);
56
 
classes/views/frm-fields/import_choices.php CHANGED
@@ -47,7 +47,7 @@ foreach ( $field->options as $fkey => $fopt ) {
47
  } ?>
48
  </textarea>
49
 
50
- <p class="submit clear">
51
  <input type="button" onclick="frmUpdateBulkOpts(<?php echo (int) $field->id ?>)" class="button-primary" value="<?php esc_attr_e( 'Update Field Choices', 'formidable' ) ?>" />
52
  </p>
53
  </div>
47
  } ?>
48
  </textarea>
49
 
50
+ <p class="submit frm_clear">
51
  <input type="button" onclick="frmUpdateBulkOpts(<?php echo (int) $field->id ?>)" class="button-primary" value="<?php esc_attr_e( 'Update Field Choices', 'formidable' ) ?>" />
52
  </p>
53
  </div>
classes/views/frm-fields/show-build.php CHANGED
@@ -13,7 +13,7 @@
13
  do_action('frm_after_checkbox', array( 'field' => $field, 'field_name' => $field_name, 'type' => $field['type']));
14
  } else {
15
  do_action('frm_add_multiple_opts_labels', $field); ?>
16
- <ul id="frm_field_<?php echo esc_attr( $field['id'] ) ?>_opts" class="frm_sortable_field_opts clear<?php echo (count($field['options']) > 10) ? ' frm_field_opts_list' : ''; ?>">
17
  <?php include(FrmAppHelper::plugin_path() .'/classes/views/frm-fields/radio.php'); ?>
18
  </ul>
19
  <?php
13
  do_action('frm_after_checkbox', array( 'field' => $field, 'field_name' => $field_name, 'type' => $field['type']));
14
  } else {
15
  do_action('frm_add_multiple_opts_labels', $field); ?>
16
+ <ul id="frm_field_<?php echo esc_attr( $field['id'] ) ?>_opts" class="frm_sortable_field_opts frm_clear<?php echo (count($field['options']) > 10) ? ' frm_field_opts_list' : ''; ?>">
17
  <?php include(FrmAppHelper::plugin_path() .'/classes/views/frm-fields/radio.php'); ?>
18
  </ul>
19
  <?php
classes/views/frm-forms/add_field_links.php CHANGED
@@ -96,7 +96,7 @@ foreach ( FrmFieldsHelper::pro_field_selection() as $field_key => $field_type )
96
  'frm_fifth' => __( '1/5', 'formidable' ),
97
  'frm_sixth' => __( '1/6', 'formidable' ),
98
  'frm_seventh' => __( '1/7', 'formidable' ),
99
- 'frm_eigth' => __( '1/8', 'formidable' ),
100
  'frm_inline' => array(
101
  'label' => __( 'Inline', 'formidable' ),
102
  'title' => __( 'Align fields in a row without a specific width.', 'formidable' )
96
  'frm_fifth' => __( '1/5', 'formidable' ),
97
  'frm_sixth' => __( '1/6', 'formidable' ),
98
  'frm_seventh' => __( '1/7', 'formidable' ),
99
+ 'frm_eighth' => __( '1/8', 'formidable' ),
100
  'frm_inline' => array(
101
  'label' => __( 'Inline', 'formidable' ),
102
  'title' => __( 'Align fields in a row without a specific width.', 'formidable' )
classes/views/frm-forms/mb_html_tab.php CHANGED
@@ -28,7 +28,7 @@
28
  ?>
29
  </ul>
30
 
31
- <ul class="frm_code_list clear">
32
  <?php
33
  $col = 'one';
34
  foreach ( array(
28
  ?>
29
  </ul>
30
 
31
+ <ul class="frm_code_list frm_clear">
32
  <?php
33
  $col = 'one';
34
  foreach ( array(
classes/views/styles/_field-labels.php CHANGED
@@ -14,7 +14,7 @@
14
  <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name('font_size') ) ?>" id="frm_font_size" value="<?php echo esc_attr($style->post_content['font_size']) ?>" size="3" />
15
  </div>
16
 
17
- <div class="field-group clearfix clear">
18
  <label><?php _e( 'Position', 'formidable' ) ?></label>
19
  <select name="<?php echo esc_attr( $frm_style->get_field_name('position') ) ?>" id="frm_position">
20
  <?php foreach ( array( 'none' => __( 'top', 'formidable' ), 'left' => __( 'left', 'formidable' ), 'right' => __( 'right', 'formidable' ), 'no_label' => __( 'none', 'formidable' ) ) as $pos => $pos_label ) { ?>
@@ -36,7 +36,7 @@
36
  <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name('width') ) ?>" id="frm_width" value="<?php echo esc_attr( $style->post_content['width'] ) ?>" />
37
  </div>
38
 
39
- <div class="field-group clearfix clear">
40
  <label><?php _e( 'Padding', 'formidable' ) ?></label>
41
  <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name('label_padding') ) ?>" id="frm_label_padding" value="<?php echo esc_attr( $style->post_content['label_padding'] ) ?>" />
42
  </div>
14
  <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name('font_size') ) ?>" id="frm_font_size" value="<?php echo esc_attr($style->post_content['font_size']) ?>" size="3" />
15
  </div>
16
 
17
+ <div class="field-group clearfix frm_clear">
18
  <label><?php _e( 'Position', 'formidable' ) ?></label>
19
  <select name="<?php echo esc_attr( $frm_style->get_field_name('position') ) ?>" id="frm_position">
20
  <?php foreach ( array( 'none' => __( 'top', 'formidable' ), 'left' => __( 'left', 'formidable' ), 'right' => __( 'right', 'formidable' ), 'no_label' => __( 'none', 'formidable' ) ) as $pos => $pos_label ) { ?>
36
  <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name('width') ) ?>" id="frm_width" value="<?php echo esc_attr( $style->post_content['width'] ) ?>" />
37
  </div>
38
 
39
+ <div class="field-group clearfix frm_clear">
40
  <label><?php _e( 'Padding', 'formidable' ) ?></label>
41
  <input type="text" name="<?php echo esc_attr( $frm_style->get_field_name('label_padding') ) ?>" id="frm_label_padding" value="<?php echo esc_attr( $style->post_content['label_padding'] ) ?>" />
42
  </div>
css/custom_theme.css.php CHANGED
@@ -581,6 +581,7 @@ table.frmcal-calendar .frmcal-today .frmcal_date{
581
  float:left;
582
  width:17px;
583
  height:17px;
 
584
  line-height:normal;
585
  cursor:pointer;
586
  display:block;
581
  float:left;
582
  width:17px;
583
  height:17px;
584
+ font-size:16px;
585
  line-height:normal;
586
  cursor:pointer;
587
  display:block;
css/frm_admin.css CHANGED
@@ -846,6 +846,7 @@ li.ui-state-default.selected.edit_field_type_divider .divider_section_only .frm-
846
  #form_settings_page #post-body-content{min-width:650px;}
847
  #form_settings_page .frm_posttax_row select{max-width:35%;}
848
  select.frm_cancelnew, input.frm_enternew{width:175px;}
 
849
 
850
  /* Global Settings */
851
  .categorydiv .frm_settings_form div.tabs-panel.general_settings{border-top:none;}
846
  #form_settings_page #post-body-content{min-width:650px;}
847
  #form_settings_page .frm_posttax_row select{max-width:35%;}
848
  select.frm_cancelnew, input.frm_enternew{width:175px;}
849
+ .frm_field_box .widget-inside{background:#FBFBFB;}
850
 
851
  /* Global Settings */
852
  .categorydiv .frm_settings_form div.tabs-panel.general_settings{border-top:none;}
formidable.php CHANGED
@@ -2,7 +2,7 @@
2
  /*
3
  Plugin Name: Formidable
4
  Description: Quickly and easily create drag-and-drop forms
5
- Version: 2.0.02
6
  Plugin URI: http://formidablepro.com/
7
  Author URI: http://strategy11.com
8
  Author: Strategy11
2
  /*
3
  Plugin Name: Formidable
4
  Description: Quickly and easily create drag-and-drop forms
5
+ Version: 2.0.03
6
  Plugin URI: http://formidablepro.com/
7
  Author URI: http://strategy11.com
8
  Author: Strategy11
js/formidable.min.js CHANGED
@@ -1,9 +1,9 @@
1
- function frmFrontFormJS(){function k(b){var a=jQuery(this),c=a.attr("type");"submit"!=c&&b.preventDefault();b=a.parents("form:first");var e=a="",f=this.name;if("frm_prev_page"==f||-1!==this.className.indexOf("frm_prev_page"))a=jQuery(b).find(".frm_next_page").attr("id").replace("frm_next_p_","");else if("frm_save_draft"==f||-1!==this.className.indexOf("frm_save_draft"))e=1;jQuery(".frm_next_page").val(a);jQuery(".frm_saving_draft").val(e);"submit"!=c&&b.trigger("submit");}function n(){jQuery(this).parent().children(".frm_toggle_container").slideToggle("fast");
2
  jQuery(this).toggleClass("active").children(".ui-icon-triangle-1-e, .ui-icon-triangle-1-s").toggleClass("ui-icon-triangle-1-s ui-icon-triangle-1-e")}function u(){this.className=this.className.replace("frm_transparent","");this.parentNode.getElementsByTagName("a")[0].className+=" frm_hidden"}function y(){var b=this.type,a=!1,c=!1;if("select-one"==b)c=!0,"frm_other_trigger"==this.options[this.selectedIndex].className&&(a=!0);else if("select-multiple"==b)for(var c=!0,e=this.options,a=!1,f=0;f<e.length;f++)if("frm_other_trigger"==
3
  e[f].className&&e[f].selected){a=!0;break}c?(b=jQuery(this).parent().children(".frm_other_input"),a?b[0].className=b[0].className.replace("frm_pos_none",""):(1>b[0].className.indexOf("frm_pos_none")&&(b[0].className+=" frm_pos_none"),b[0].value="")):"radio"==b?(jQuery(this).closest(".frm_radio").children(".frm_other_input").removeClass("frm_pos_none"),jQuery(this).closest(".frm_radio").siblings().children(".frm_other_input").addClass("frm_pos_none").val("")):"checkbox"==b&&(this.checked?jQuery(this).closest(".frm_checkbox").children(".frm_other_input").removeClass("frm_pos_none"):
4
  jQuery(this).closest(".frm_checkbox").children(".frm_other_input").addClass("frm_pos_none").val(""))}function A(b){var a=this.name.replace("item_meta[","").split("]"),c=a[0];c&&(jQuery('input[name="item_meta['+c+'][form]"]').length&&(c=a[2].replace("[","")),q("und",c,null,jQuery(this)),M(b,c))}function q(b,a,c,e,f){if("undefined"!=typeof __FRMRULES){var g=__FRMRULES[a];if("undefined"!=typeof g){if("undefined"==typeof c||null===c)c="go";"persist"!=f&&(m=[]);f=[];for(var h=0,p=g.length;h<p;h++){var r=
5
  g[h];if("undefined"!=typeof r)for(var l=0,k=r.Conditions.length;l<k;l++){var C=r.Conditions[l];C.HideField=r.Setting.FieldName;C.MatchType=r.MatchType;C.Show=r.Show;f.push(C)}}g=f.length;h=0;for(p=g;h<p;h++)f[h].FieldName==a?v(h,f[h],a,b,c,e):v(h,f[h],a,b,c),h==g-1&&D(c)}}}function v(b,a,c,e,f,g){"undefined"==typeof m[a.HideField]&&(m[a.HideField]=[]);a.inputName="item_meta["+a.FieldName+"]";a.hiddenName="item_meta["+a.HideField+"]";a.containerID="frm_field_"+a.FieldName+"_container";a.hideContainerID=
6
- "frm_field_"+a.HideField+"_container";a.hideBy="#";var h=!1;if("undefined"!==typeof g&&null!==g){1<g.length&&(g=g.eq(0));if("undefined"===typeof g.attr("name"))return;a.inputName=g.attr("name").replace("[other]","").replace("[]","");var p=g.closest(".frm_repeat_sec");p.length&&(p=p.children(".frm_field_"+a.FieldName+"_container"),a.containerID=p.attr("id"),a.hideContainerID=a.containerID.replace(a.FieldName,a.HideField),a.hiddenName=a.inputName.replace("["+a.FieldName+"]","["+a.HideField+"]"))}else{h=
7
  !0;g=jQuery('input[name^="'+a.inputName+'"], textarea[name^="'+a.inputName+'"], select[name^="'+a.inputName+'"]');if(1>g.length&&(g=jQuery("."+a.containerID+" input, ."+a.containerID+" textarea, ."+a.containerID+" select"),g.length)){v(b,a,c,e,f,g);return}1<g.length&&(g=g.eq(0))}null===document.getElementById(a.hideContainerID)&&(a.hideBy=".");if(a.FieldName!=c||"undefined"==typeof e||"und"==e)if(("radio"==a.Type||"data-radio"==a.Type)&&"radio"==g.attr("type"))e=jQuery('input[name="'+a.inputName+
8
  '"]:checked').val(),"undefined"==typeof e&&(e="");else if("select"==a.Type||"time"==a.Type||"data-select"==a.Type||"checkbox"!=a.Type&&"data-checkbox"!=a.Type)e=g.val();"undefined"==typeof e&&(e=g.val());if("undefined"==typeof e){if(!0===h&&(c=jQuery("."+a.containerID+" input, ."+a.containerID+" select, ."+a.containerID+" textarea"),c.length)){c.each(function(){v(b,a,a.FieldName,e,f,jQuery(this))});return}e=""}c=[];if("checkbox"==a.Type||"data-checkbox"==a.Type)c=N(a.containerID,a.inputName),e=c.length?
9
  c:"";m[a.HideField][b]=""===e?!1:{funcName:"getDataOpts",f:a,sel:e};if("checkbox"==a.Type||"data-checkbox"==a.Type&&"undefined"==typeof a.LinkedField)if(c=m[a.HideField][b]=!1,""!==e)for("!="==a.Condition&&(m[a.HideField][b]=!0),g=0;g<e.length;g++)c=z(a.Condition,a.Value,e[g]),"!="==a.Condition?!0===m[a.HideField][b]&&!1===c&&(m[a.HideField][b]=!1):!1===m[a.HideField][b]&&c&&(m[a.HideField][b]=!0);else c=z(a.Condition,a.Value,""),!1===m[a.HideField][b]&&c&&(m[a.HideField][b]=!0);else if("undefined"!=
1
+ function frmFrontFormJS(){function k(b){var a=jQuery(this),c=a.attr("type");"submit"!=c&&b.preventDefault();b=a.parents("form:first");var e=a="",f=this.name;if("frm_prev_page"==f||-1!==this.className.indexOf("frm_prev_page"))a=jQuery(b).find(".frm_next_page").attr("id").replace("frm_next_p_","");else if("frm_save_draft"==f||-1!==this.className.indexOf("frm_save_draft"))e=1;jQuery(".frm_next_page").val(a);jQuery(".frm_saving_draft").val(e);"submit"!=c&&b.trigger("submit")}function n(){jQuery(this).parent().children(".frm_toggle_container").slideToggle("fast");
2
  jQuery(this).toggleClass("active").children(".ui-icon-triangle-1-e, .ui-icon-triangle-1-s").toggleClass("ui-icon-triangle-1-s ui-icon-triangle-1-e")}function u(){this.className=this.className.replace("frm_transparent","");this.parentNode.getElementsByTagName("a")[0].className+=" frm_hidden"}function y(){var b=this.type,a=!1,c=!1;if("select-one"==b)c=!0,"frm_other_trigger"==this.options[this.selectedIndex].className&&(a=!0);else if("select-multiple"==b)for(var c=!0,e=this.options,a=!1,f=0;f<e.length;f++)if("frm_other_trigger"==
3
  e[f].className&&e[f].selected){a=!0;break}c?(b=jQuery(this).parent().children(".frm_other_input"),a?b[0].className=b[0].className.replace("frm_pos_none",""):(1>b[0].className.indexOf("frm_pos_none")&&(b[0].className+=" frm_pos_none"),b[0].value="")):"radio"==b?(jQuery(this).closest(".frm_radio").children(".frm_other_input").removeClass("frm_pos_none"),jQuery(this).closest(".frm_radio").siblings().children(".frm_other_input").addClass("frm_pos_none").val("")):"checkbox"==b&&(this.checked?jQuery(this).closest(".frm_checkbox").children(".frm_other_input").removeClass("frm_pos_none"):
4
  jQuery(this).closest(".frm_checkbox").children(".frm_other_input").addClass("frm_pos_none").val(""))}function A(b){var a=this.name.replace("item_meta[","").split("]"),c=a[0];c&&(jQuery('input[name="item_meta['+c+'][form]"]').length&&(c=a[2].replace("[","")),q("und",c,null,jQuery(this)),M(b,c))}function q(b,a,c,e,f){if("undefined"!=typeof __FRMRULES){var g=__FRMRULES[a];if("undefined"!=typeof g){if("undefined"==typeof c||null===c)c="go";"persist"!=f&&(m=[]);f=[];for(var h=0,p=g.length;h<p;h++){var r=
5
  g[h];if("undefined"!=typeof r)for(var l=0,k=r.Conditions.length;l<k;l++){var C=r.Conditions[l];C.HideField=r.Setting.FieldName;C.MatchType=r.MatchType;C.Show=r.Show;f.push(C)}}g=f.length;h=0;for(p=g;h<p;h++)f[h].FieldName==a?v(h,f[h],a,b,c,e):v(h,f[h],a,b,c),h==g-1&&D(c)}}}function v(b,a,c,e,f,g){"undefined"==typeof m[a.HideField]&&(m[a.HideField]=[]);a.inputName="item_meta["+a.FieldName+"]";a.hiddenName="item_meta["+a.HideField+"]";a.containerID="frm_field_"+a.FieldName+"_container";a.hideContainerID=
6
+ "frm_field_"+a.HideField+"_container";a.hideBy="#";var h=!1;if("undefined"!==typeof g&&null!==g){1<g.length&&(g=g.eq(0));if("undefined"===typeof g.attr("name"))return;a.inputName=g.attr("name").replace("[other]","").replace("[]","");var p=g.closest(".frm_repeat_sec");p.length&&(p=p.find(".frm_field_"+a.FieldName+"_container"),a.containerID=p.attr("id"),a.hideContainerID=a.containerID.replace(a.FieldName,a.HideField),a.hiddenName=a.inputName.replace("["+a.FieldName+"]","["+a.HideField+"]"))}else{h=
7
  !0;g=jQuery('input[name^="'+a.inputName+'"], textarea[name^="'+a.inputName+'"], select[name^="'+a.inputName+'"]');if(1>g.length&&(g=jQuery("."+a.containerID+" input, ."+a.containerID+" textarea, ."+a.containerID+" select"),g.length)){v(b,a,c,e,f,g);return}1<g.length&&(g=g.eq(0))}null===document.getElementById(a.hideContainerID)&&(a.hideBy=".");if(a.FieldName!=c||"undefined"==typeof e||"und"==e)if(("radio"==a.Type||"data-radio"==a.Type)&&"radio"==g.attr("type"))e=jQuery('input[name="'+a.inputName+
8
  '"]:checked').val(),"undefined"==typeof e&&(e="");else if("select"==a.Type||"time"==a.Type||"data-select"==a.Type||"checkbox"!=a.Type&&"data-checkbox"!=a.Type)e=g.val();"undefined"==typeof e&&(e=g.val());if("undefined"==typeof e){if(!0===h&&(c=jQuery("."+a.containerID+" input, ."+a.containerID+" select, ."+a.containerID+" textarea"),c.length)){c.each(function(){v(b,a,a.FieldName,e,f,jQuery(this))});return}e=""}c=[];if("checkbox"==a.Type||"data-checkbox"==a.Type)c=N(a.containerID,a.inputName),e=c.length?
9
  c:"";m[a.HideField][b]=""===e?!1:{funcName:"getDataOpts",f:a,sel:e};if("checkbox"==a.Type||"data-checkbox"==a.Type&&"undefined"==typeof a.LinkedField)if(c=m[a.HideField][b]=!1,""!==e)for("!="==a.Condition&&(m[a.HideField][b]=!0),g=0;g<e.length;g++)c=z(a.Condition,a.Value,e[g]),"!="==a.Condition?!0===m[a.HideField][b]&&!1===c&&(m[a.HideField][b]=!1):!1===m[a.HideField][b]&&c&&(m[a.HideField][b]=!0);else c=z(a.Condition,a.Value,""),!1===m[a.HideField][b]&&c&&(m[a.HideField][b]=!0);else if("undefined"!=
js/formidable_admin.js CHANGED
@@ -2263,7 +2263,7 @@ function frmAdminBuildJS(){
2263
 
2264
  jQuery(document.getElementById('datepicker_sample')).datepicker();
2265
 
2266
- //jQuery(document.getElementById('frm_position')).change(setPosClass);
2267
 
2268
  jQuery('select[name$="[theme_selector]"]').change(function(){
2269
  var themeVal = jQuery(this).val();
2263
 
2264
  jQuery(document.getElementById('datepicker_sample')).datepicker();
2265
 
2266
+ jQuery(document.getElementById('frm_position')).change(setPosClass);
2267
 
2268
  jQuery('select[name$="[theme_selector]"]').change(function(){
2269
  var themeVal = jQuery(this).val();
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://formidablepro.com/donate
4
  Tags: admin, AJAX, captcha, contact, contact form, database, email, feedback, form, forms, javascript, jquery, page, plugin, poll, Post, spam, survey, template, widget, wpmu, form builder
5
  Requires at least: 3.3.3
6
  Tested up to: 4.2
7
- Stable tag: 2.0.02
8
 
9
  Beautiful forms in 60 seconds. The WordPress form builder that enables you to create forms with a simple drag-and-drop interface and in-place editing.
10
 
@@ -89,6 +89,20 @@ A. Try clearing your browser cache. As plugin modifications are made, frequent j
89
  [See more FAQs](http://formidablepro.com/formidable-faqs/ "Formidable Form FAQs")
90
 
91
  == Changelog ==
 
 
 
 
 
 
 
 
 
 
 
 
 
 
92
  = 2.0.02 =
93
  * Make sure frm_to_email hook is reverse compatible
94
  * Fix php example in the shortcode examples
4
  Tags: admin, AJAX, captcha, contact, contact form, database, email, feedback, form, forms, javascript, jquery, page, plugin, poll, Post, spam, survey, template, widget, wpmu, form builder
5
  Requires at least: 3.3.3
6
  Tested up to: 4.2
7
+ Stable tag: 2.0.03
8
 
9
  Beautiful forms in 60 seconds. The WordPress form builder that enables you to create forms with a simple drag-and-drop interface and in-place editing.
10
 
89
  [See more FAQs](http://formidablepro.com/formidable-faqs/ "Formidable Form FAQs")
90
 
91
  == Changelog ==
92
+ = 2.0.03 =
93
+ * Use frm_clear instead of clear to minimize conflicts
94
+ * Add js fallback for database update on sites without CURL
95
+ * Fix issues with emails migrating to actions in php 5.3, and t showing in some emails after updating settings
96
+ * Pro: Add frm_date_format filter
97
+ * Pro: If a comma separated list of dates is sent for formatting, explode it before formatting
98
+ * Pro: Increase the backtrack limit when needed when replacing shortcodes in the view content if server has the limit below default
99
+ * Pro: Fix issue causing csv export error
100
+ * Pro: Fix the issue cuasing new posts to not be linked to a view if a field is selected for the post content
101
+ * Pro: Fix issue some users are having with blank date fields
102
+ * Pro: Fix ending collapsible sections at the end of a section instead of waiting for the next section
103
+ * Pro: Fix firing calculations on page load when there are multiple calculations
104
+ * Pro: Don't allow theme to affect the font size of stars
105
+
106
  = 2.0.02 =
107
  * Make sure frm_to_email hook is reverse compatible
108
  * Fix php example in the shortcode examples