Version Description
- Fix: Trigger style update when a form is loaded instead of only when an admin page is visited
- Fix: A few various form styling and layout fixes
- Fix: Prevent screenreader text for accessibility from showing on sites with older cached css
- Fix: Prevent conflict with Divi when a form shortcode with a recaptcha is included in page editor
- Fix: Use 'readfile' instead of 'include' for css files for extra safety precautions
- Fix: Load the field options before frm_new_fields_vars hook for reverse compatibility
- Pro Version Forms
- New: Use toggle fields in calculations and conditional logic
- Fix: Some conditional logic based on empty radio fields wasn't functioning
- Fix: Require time fields at the correct times
Download this release
Release Info
Developer | sswells |
Plugin | Formidable Forms – Form Builder for WordPress |
Version | 3.0.01 |
Comparing to | |
See all releases |
Code changes from version 3.0 to 3.0.01
- classes/controllers/FrmAppController.php +11 -0
- classes/controllers/FrmFormsController.php +2 -0
- classes/helpers/FrmAppHelper.php +2 -2
- classes/helpers/FrmFieldsHelper.php +3 -3
- classes/helpers/FrmFormsHelper.php +0 -4
- classes/models/FrmMigrate.php +1 -1
- classes/models/fields/FrmFieldCaptcha.php +1 -1
- classes/models/fields/FrmFieldType.php +1 -1
- classes/views/frm-entries/form.php +1 -1
- classes/views/styles/_sample_form.php +2 -2
- css/_single_theme.css.php +18 -10
- css/custom_theme.css.php +16 -12
- css/frm_admin.css +5 -2
- css/frm_grids.css +7 -4
- formidable.php +1 -1
- readme.txt +13 -1
classes/controllers/FrmAppController.php
CHANGED
@@ -351,6 +351,17 @@ class FrmAppController {
|
|
351 |
}
|
352 |
}
|
353 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
354 |
/**
|
355 |
* @since 3.0
|
356 |
*/
|
351 |
}
|
352 |
}
|
353 |
|
354 |
+
/**
|
355 |
+
* Check if the styles are updated when a form is loaded on the front-end
|
356 |
+
*
|
357 |
+
* @since 3.0.1
|
358 |
+
*/
|
359 |
+
public static function maybe_update_styles() {
|
360 |
+
if ( self::needs_update() ) {
|
361 |
+
self::network_upgrade_site();
|
362 |
+
}
|
363 |
+
}
|
364 |
+
|
365 |
/**
|
366 |
* @since 3.0
|
367 |
*/
|
classes/controllers/FrmFormsController.php
CHANGED
@@ -1189,6 +1189,8 @@ class FrmFormsController {
|
|
1189 |
return __( 'Please select a valid form', 'formidable' );
|
1190 |
}
|
1191 |
|
|
|
|
|
1192 |
add_action( 'frm_load_form_hooks', 'FrmHooksController::trigger_load_form_hooks' );
|
1193 |
FrmAppHelper::trigger_hook_load( 'form', $form );
|
1194 |
|
1189 |
return __( 'Please select a valid form', 'formidable' );
|
1190 |
}
|
1191 |
|
1192 |
+
FrmAppController::maybe_update_styles();
|
1193 |
+
|
1194 |
add_action( 'frm_load_form_hooks', 'FrmHooksController::trigger_load_form_hooks' );
|
1195 |
FrmAppHelper::trigger_hook_load( 'form', $form );
|
1196 |
|
classes/helpers/FrmAppHelper.php
CHANGED
@@ -4,14 +4,14 @@ if ( ! defined('ABSPATH') ) {
|
|
4 |
}
|
5 |
|
6 |
class FrmAppHelper {
|
7 |
-
public static $db_version =
|
8 |
public static $pro_db_version = 37; //deprecated
|
9 |
public static $font_version = 3;
|
10 |
|
11 |
/**
|
12 |
* @since 2.0
|
13 |
*/
|
14 |
-
public static $plug_version = '3.0';
|
15 |
|
16 |
/**
|
17 |
* @since 1.07.02
|
4 |
}
|
5 |
|
6 |
class FrmAppHelper {
|
7 |
+
public static $db_version = 74; //version of the database we are moving to
|
8 |
public static $pro_db_version = 37; //deprecated
|
9 |
public static $font_version = 3;
|
10 |
|
11 |
/**
|
12 |
* @since 2.0
|
13 |
*/
|
14 |
+
public static $plug_version = '3.0.01';
|
15 |
|
16 |
/**
|
17 |
* @since 1.07.02
|
classes/helpers/FrmFieldsHelper.php
CHANGED
@@ -90,13 +90,13 @@ class FrmFieldsHelper {
|
|
90 |
// Track the original field's type
|
91 |
$field_array['original_type'] = isset( $field->field_options['original_type'] ) ? $field->field_options['original_type'] : $field->type;
|
92 |
|
|
|
|
|
93 |
if ( $args['action'] == 'edit' ) {
|
94 |
$field_array = apply_filters( 'frm_setup_edit_fields_vars', $field_array, $field, $args['entry_id'], $args );
|
95 |
} else {
|
96 |
$field_array = apply_filters( 'frm_setup_new_fields_vars', $field_array, $field, $args );
|
97 |
}
|
98 |
-
|
99 |
-
self::prepare_field_options_for_display( $field_array, $field, $args );
|
100 |
}
|
101 |
|
102 |
/**
|
@@ -1054,7 +1054,7 @@ class FrmFieldsHelper {
|
|
1054 |
|
1055 |
$label = isset( $args['opt_label'] ) ? $args['opt_label'] : $args['field']['name'];
|
1056 |
|
1057 |
-
?><label for="<?php echo esc_attr( $other_id ) ?>" class="frm_screen_reader"><?php
|
1058 |
echo esc_html( $label );
|
1059 |
?></label><input type="text" id="<?php echo esc_attr( $other_id ) ?>" class="<?php echo sanitize_text_field( implode( ' ', $classes ) ) ?>" <?php
|
1060 |
echo ( $args['read_only'] ? ' readonly="readonly" disabled="disabled"' : '' );
|
90 |
// Track the original field's type
|
91 |
$field_array['original_type'] = isset( $field->field_options['original_type'] ) ? $field->field_options['original_type'] : $field->type;
|
92 |
|
93 |
+
self::prepare_field_options_for_display( $field_array, $field, $args );
|
94 |
+
|
95 |
if ( $args['action'] == 'edit' ) {
|
96 |
$field_array = apply_filters( 'frm_setup_edit_fields_vars', $field_array, $field, $args['entry_id'], $args );
|
97 |
} else {
|
98 |
$field_array = apply_filters( 'frm_setup_new_fields_vars', $field_array, $field, $args );
|
99 |
}
|
|
|
|
|
100 |
}
|
101 |
|
102 |
/**
|
1054 |
|
1055 |
$label = isset( $args['opt_label'] ) ? $args['opt_label'] : $args['field']['name'];
|
1056 |
|
1057 |
+
?><label for="<?php echo esc_attr( $other_id ) ?>" class="frm_screen_reader frm_hidden"><?php
|
1058 |
echo esc_html( $label );
|
1059 |
?></label><input type="text" id="<?php echo esc_attr( $other_id ) ?>" class="<?php echo sanitize_text_field( implode( ' ', $classes ) ) ?>" <?php
|
1060 |
echo ( $args['read_only'] ? ' readonly="readonly" disabled="disabled"' : '' );
|
classes/helpers/FrmFormsHelper.php
CHANGED
@@ -842,10 +842,6 @@ BEFORE_HTML;
|
|
842 |
*/
|
843 |
public static function css_classes() {
|
844 |
$classes = array(
|
845 |
-
'frm_inline' => array(
|
846 |
-
'label' => __( 'Inline', 'formidable' ),
|
847 |
-
'title' => __( 'Align fields in a row without a specific width.', 'formidable' ),
|
848 |
-
),
|
849 |
'frm_first' => array(
|
850 |
'label' => __( 'First', 'formidable' ),
|
851 |
'title' => __( 'Add this to the first field in each row along with a width. ie frm_first frm4', 'formidable' ),
|
842 |
*/
|
843 |
public static function css_classes() {
|
844 |
$classes = array(
|
|
|
|
|
|
|
|
|
845 |
'frm_first' => array(
|
846 |
'label' => __( 'First', 'formidable' ),
|
847 |
'title' => __( 'Add this to the first field in each row along with a width. ie frm_first frm4', 'formidable' ),
|
classes/models/FrmMigrate.php
CHANGED
@@ -59,7 +59,7 @@ class FrmMigrate {
|
|
59 |
$frm_vars['doing_upgrade'] = false;
|
60 |
|
61 |
/**** update the styling settings ****/
|
62 |
-
if (
|
63 |
$frm_style = new FrmStyle();
|
64 |
$frm_style->update( 'default' );
|
65 |
}
|
59 |
$frm_vars['doing_upgrade'] = false;
|
60 |
|
61 |
/**** update the styling settings ****/
|
62 |
+
if ( function_exists( 'get_filesystem_method' ) ) {
|
63 |
$frm_style = new FrmStyle();
|
64 |
$frm_style->update( 'default' );
|
65 |
}
|
classes/models/fields/FrmFieldCaptcha.php
CHANGED
@@ -93,7 +93,7 @@ class FrmFieldCaptcha extends FrmFieldType {
|
|
93 |
protected function load_field_scripts( $args ) {
|
94 |
$api_js_url = $this->api_url();
|
95 |
|
96 |
-
wp_register_script( 'recaptcha-api', $api_js_url, array( 'formidable' ), true );
|
97 |
wp_enqueue_script( 'recaptcha-api' );
|
98 |
}
|
99 |
|
93 |
protected function load_field_scripts( $args ) {
|
94 |
$api_js_url = $this->api_url();
|
95 |
|
96 |
+
wp_register_script( 'recaptcha-api', $api_js_url, array( 'formidable' ), '', true );
|
97 |
wp_enqueue_script( 'recaptcha-api' );
|
98 |
}
|
99 |
|
classes/models/fields/FrmFieldType.php
CHANGED
@@ -461,7 +461,7 @@ DEFAULT_HTML;
|
|
461 |
}
|
462 |
|
463 |
public function get_label_class() {
|
464 |
-
return
|
465 |
}
|
466 |
|
467 |
/**
|
461 |
}
|
462 |
|
463 |
public function get_label_class() {
|
464 |
+
return ' frm_primary_label';
|
465 |
}
|
466 |
|
467 |
/**
|
classes/views/frm-entries/form.php
CHANGED
@@ -26,7 +26,7 @@ $frm_hide_fields = FrmAppHelper::get_post_param( 'frm_hide_fields_' . $form->id,
|
|
26 |
<input type="hidden" name="form_key" value="<?php echo esc_attr($form->form_key) ?>" />
|
27 |
<input type="hidden" name="item_meta[0]" value="" />
|
28 |
<?php wp_nonce_field( 'frm_submit_entry_nonce', 'frm_submit_entry_' . $form->id ); ?>
|
29 |
-
<label for="frm_verify_<?php echo esc_attr( $form->id ) ?>" class="frm_screen_reader"><?php esc_html_e( 'If you are human, leave this field blank.', 'formidable' ) ?></label>
|
30 |
<input type="text" class="frm_hidden frm_verify" id="frm_verify_<?php echo esc_attr( $form->id ) ?>" name="frm_verify" value="<?php echo esc_attr( FrmAppHelper::get_param('frm_verify', '', 'get', 'wp_kses_post' ) ) ?>" <?php FrmFormsHelper::maybe_hide_inline() ?> />
|
31 |
<?php if ( isset( $id ) ) { ?>
|
32 |
<input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
|
26 |
<input type="hidden" name="form_key" value="<?php echo esc_attr($form->form_key) ?>" />
|
27 |
<input type="hidden" name="item_meta[0]" value="" />
|
28 |
<?php wp_nonce_field( 'frm_submit_entry_nonce', 'frm_submit_entry_' . $form->id ); ?>
|
29 |
+
<label for="frm_verify_<?php echo esc_attr( $form->id ) ?>" class="frm_screen_reader frm_hidden"><?php esc_html_e( 'If you are human, leave this field blank.', 'formidable' ) ?></label>
|
30 |
<input type="text" class="frm_hidden frm_verify" id="frm_verify_<?php echo esc_attr( $form->id ) ?>" name="frm_verify" value="<?php echo esc_attr( FrmAppHelper::get_param('frm_verify', '', 'get', 'wp_kses_post' ) ) ?>" <?php FrmFormsHelper::maybe_hide_inline() ?> />
|
31 |
<?php if ( isset( $id ) ) { ?>
|
32 |
<input type="hidden" name="id" value="<?php echo esc_attr( $id ) ?>" />
|
classes/views/styles/_sample_form.php
CHANGED
@@ -58,8 +58,8 @@
|
|
58 |
<div class="frm_form_field form-field frm3 <?php echo esc_attr( $pos_class ) ?> frm_lite_style">
|
59 |
<label class="frm_primary_label"><?php esc_html_e( 'Radio Buttons', 'formidable' ) ?></label>
|
60 |
<div class="frm_opt_container">
|
61 |
-
<div class="frm_radio"><input type="radio"
|
62 |
-
<div class="frm_radio"><input type="radio"
|
63 |
</div>
|
64 |
</div>
|
65 |
|
58 |
<div class="frm_form_field form-field frm3 <?php echo esc_attr( $pos_class ) ?> frm_lite_style">
|
59 |
<label class="frm_primary_label"><?php esc_html_e( 'Radio Buttons', 'formidable' ) ?></label>
|
60 |
<div class="frm_opt_container">
|
61 |
+
<div class="frm_radio"><label><input type="radio" /><?php esc_html_e( 'Option 1', 'formidable' ) ?></label></div>
|
62 |
+
<div class="frm_radio"><label><input type="radio" /><?php esc_html_e( 'Option 2', 'formidable' ) ?></label></div>
|
63 |
</div>
|
64 |
</div>
|
65 |
|
css/_single_theme.css.php
CHANGED
@@ -203,6 +203,18 @@ if ( '' === $field_height || 'auto' === $field_height ) {
|
|
203 |
}
|
204 |
<?php } ?>
|
205 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
.<?php echo esc_html( $style_class ) ?> .frm_inline_container.frm_dynamic_select_container .frm_opt_container{
|
207 |
display:inline<?php echo esc_html( $important ) ?>;
|
208 |
}
|
@@ -540,21 +552,17 @@ if ( ! empty( $important ) ) {
|
|
540 |
|
541 |
<?php if ( $check_align === 'block' ) { ?>
|
542 |
.<?php echo esc_html( $style_class ) ?> .frm_checkbox label{
|
543 |
-
display:
|
544 |
-
|
545 |
-
|
546 |
-
.<?php echo esc_html( $style_class ) ?> .frm_checkbox label img{
|
547 |
-
align-self: center;
|
548 |
}
|
549 |
<?php } ?>
|
550 |
|
551 |
<?php if ( $radio_align === 'block' ) { ?>
|
552 |
.<?php echo esc_html( $style_class ) ?> .frm_radio label{
|
553 |
-
display:
|
554 |
-
|
555 |
-
|
556 |
-
.<?php echo esc_html( $style_class ) ?> .frm_radio label img{
|
557 |
-
align-self: center;
|
558 |
}
|
559 |
<?php } ?>
|
560 |
|
203 |
}
|
204 |
<?php } ?>
|
205 |
|
206 |
+
.<?php echo esc_html( $style_class ); ?> .frm_form_field.frm_left_container{
|
207 |
+
grid-template-columns: <?php echo esc_html( $width ) ?> auto;
|
208 |
+
}
|
209 |
+
|
210 |
+
.<?php echo esc_html( $style_class ); ?> .frm_form_field.frm_right_container{
|
211 |
+
grid-template-columns: auto <?php echo esc_html( $width ) ?>;
|
212 |
+
}
|
213 |
+
|
214 |
+
.frm_form_field.frm_right_container{
|
215 |
+
grid-template-columns: auto 25%;
|
216 |
+
}
|
217 |
+
|
218 |
.<?php echo esc_html( $style_class ) ?> .frm_inline_container.frm_dynamic_select_container .frm_opt_container{
|
219 |
display:inline<?php echo esc_html( $important ) ?>;
|
220 |
}
|
552 |
|
553 |
<?php if ( $check_align === 'block' ) { ?>
|
554 |
.<?php echo esc_html( $style_class ) ?> .frm_checkbox label{
|
555 |
+
display: block;
|
556 |
+
padding-left: 20px;
|
557 |
+
text-indent: -20px;
|
|
|
|
|
558 |
}
|
559 |
<?php } ?>
|
560 |
|
561 |
<?php if ( $radio_align === 'block' ) { ?>
|
562 |
.<?php echo esc_html( $style_class ) ?> .frm_radio label{
|
563 |
+
display: block;
|
564 |
+
padding-left: 20px;
|
565 |
+
text-indent: -20px;
|
|
|
|
|
566 |
}
|
567 |
<?php } ?>
|
568 |
|
css/custom_theme.css.php
CHANGED
@@ -316,12 +316,9 @@ a.frm_save_draft{
|
|
316 |
|
317 |
.with_frm_style .vertical_radio .frm_checkbox label,
|
318 |
.with_frm_style .vertical_radio .frm_radio label{
|
319 |
-
display:
|
320 |
-
|
321 |
-
|
322 |
-
.with_frm_style .vertical_radio .frm_checkbox label img,
|
323 |
-
.with_frm_style .vertical_radio .frm_radio label img{
|
324 |
-
align-self: center;
|
325 |
}
|
326 |
|
327 |
.frm_file_container .frm_file_link,
|
@@ -530,7 +527,7 @@ select.frm_loading_lookup{
|
|
530 |
color: transparent !important;
|
531 |
}
|
532 |
|
533 |
-
<?php
|
534 |
|
535 |
/* Left and right label styling for non-Formidable styling */
|
536 |
|
@@ -538,16 +535,17 @@ select.frm_loading_lookup{
|
|
538 |
.frm_form_field.frm_right_container,
|
539 |
.frm_form_field.frm_left_container{
|
540 |
display: grid;
|
541 |
-
grid-template-columns:
|
542 |
width:100%;
|
|
|
543 |
}
|
544 |
|
545 |
.frm_form_field.frm_right_container{
|
546 |
-
grid-template-columns: auto
|
547 |
}
|
548 |
|
549 |
.frm_form_field.frm_inline_container{
|
550 |
-
grid-template-columns: minmax(
|
551 |
}
|
552 |
|
553 |
.frm_form_field.frm_inline_container label.frm_primary_label,
|
@@ -555,7 +553,7 @@ select.frm_loading_lookup{
|
|
555 |
.frm_form_field.frm_left_container label.frm_primary_label{
|
556 |
margin-right:10px;
|
557 |
grid-row-end:span 2;
|
558 |
-
|
559 |
}
|
560 |
|
561 |
.frm_form_field.frm_left_container label.frm_primary_label{
|
@@ -792,6 +790,12 @@ select.frm_loading_lookup{
|
|
792 |
margin-right:1%;
|
793 |
}
|
794 |
|
|
|
|
|
|
|
|
|
|
|
|
|
795 |
.with_frm_style .frm_inline_container.frm_grid_first label.frm_primary_label,
|
796 |
.with_frm_style .frm_inline_container.frm_grid label.frm_primary_label,
|
797 |
.with_frm_style .frm_inline_container.frm_grid_odd label.frm_primary_label,
|
@@ -982,7 +986,7 @@ select.frm_loading_lookup{
|
|
982 |
font-style:normal;
|
983 |
}
|
984 |
|
985 |
-
<?php
|
986 |
<?php do_action( 'frm_include_front_css', compact( 'defaults' ) ); ?>
|
987 |
|
988 |
/* Responsive */
|
316 |
|
317 |
.with_frm_style .vertical_radio .frm_checkbox label,
|
318 |
.with_frm_style .vertical_radio .frm_radio label{
|
319 |
+
display: block;
|
320 |
+
padding-left: 20px;
|
321 |
+
text-indent: -20px;
|
|
|
|
|
|
|
322 |
}
|
323 |
|
324 |
.frm_file_container .frm_file_link,
|
527 |
color: transparent !important;
|
528 |
}
|
529 |
|
530 |
+
<?php readfile( dirname( __FILE__ ) . '/frm_grids.css' ); ?>
|
531 |
|
532 |
/* Left and right label styling for non-Formidable styling */
|
533 |
|
535 |
.frm_form_field.frm_right_container,
|
536 |
.frm_form_field.frm_left_container{
|
537 |
display: grid;
|
538 |
+
grid-template-columns: 25% auto;
|
539 |
width:100%;
|
540 |
+
grid-auto-rows: min-content;
|
541 |
}
|
542 |
|
543 |
.frm_form_field.frm_right_container{
|
544 |
+
grid-template-columns: auto 25%;
|
545 |
}
|
546 |
|
547 |
.frm_form_field.frm_inline_container{
|
548 |
+
grid-template-columns: repeat(2, minmax(auto, max-content) );
|
549 |
}
|
550 |
|
551 |
.frm_form_field.frm_inline_container label.frm_primary_label,
|
553 |
.frm_form_field.frm_left_container label.frm_primary_label{
|
554 |
margin-right:10px;
|
555 |
grid-row-end:span 2;
|
556 |
+
padding-top:4px;
|
557 |
}
|
558 |
|
559 |
.frm_form_field.frm_left_container label.frm_primary_label{
|
790 |
margin-right:1%;
|
791 |
}
|
792 |
|
793 |
+
.frm_form_field.frm_inline_container .frm_opt_container,
|
794 |
+
.frm_form_field.frm_right_container .frm_opt_container,
|
795 |
+
.frm_form_field.frm_left_container .frm_opt_container{
|
796 |
+
padding-top:4px;
|
797 |
+
}
|
798 |
+
|
799 |
.with_frm_style .frm_inline_container.frm_grid_first label.frm_primary_label,
|
800 |
.with_frm_style .frm_inline_container.frm_grid label.frm_primary_label,
|
801 |
.with_frm_style .frm_inline_container.frm_grid_odd label.frm_primary_label,
|
986 |
font-style:normal;
|
987 |
}
|
988 |
|
989 |
+
<?php readfile( FrmAppHelper::plugin_path() . '/css/font_icons.css' ); ?>
|
990 |
<?php do_action( 'frm_include_front_css', compact( 'defaults' ) ); ?>
|
991 |
|
992 |
/* Responsive */
|
css/frm_admin.css
CHANGED
@@ -980,7 +980,10 @@ a.frm-option-icon:hover::before{
|
|
980 |
box-shadow:none;
|
981 |
width:auto;
|
982 |
}
|
983 |
-
.frm_form_fields select{
|
|
|
|
|
|
|
984 |
input[type="radio"],
|
985 |
input[type="checkbox"]{
|
986 |
width:16px;
|
@@ -1249,7 +1252,7 @@ table.frm_name_value textarea {
|
|
1249 |
.frm_border_light{border:solid 1px #ddd;}
|
1250 |
|
1251 |
.form-table .form-field input, .form-table .form-field .quicktags-toolbar input,
|
1252 |
-
.form-field input, .form-field
|
1253 |
.frm_pro_installed{margin-top:0.5em;}
|
1254 |
.frm_aff_link{float:right;}
|
1255 |
.frm_select_box{text-align:center;font-weight:bold;width:100%;}
|
980 |
box-shadow:none;
|
981 |
width:auto;
|
982 |
}
|
983 |
+
.frm_form_fields select{
|
984 |
+
width:auto;
|
985 |
+
max-width:100%;
|
986 |
+
}
|
987 |
input[type="radio"],
|
988 |
input[type="checkbox"]{
|
989 |
width:16px;
|
1252 |
.frm_border_light{border:solid 1px #ddd;}
|
1253 |
|
1254 |
.form-table .form-field input, .form-table .form-field .quicktags-toolbar input,
|
1255 |
+
.form-field input, .form-field .quicktags-toolbar input{width:auto;}
|
1256 |
.frm_pro_installed{margin-top:0.5em;}
|
1257 |
.frm_aff_link{float:right;}
|
1258 |
.frm_select_box{text-align:center;font-weight:bold;width:100%;}
|
css/frm_grids.css
CHANGED
@@ -11,6 +11,9 @@
|
|
11 |
width: 1px;
|
12 |
word-wrap: normal !important; /* many screen reader and browser combinations announce broken words as they would appear visually */
|
13 |
}
|
|
|
|
|
|
|
14 |
|
15 |
.frm_clear_none{
|
16 |
clear:none;
|
@@ -33,9 +36,9 @@
|
|
33 |
.frm_form_fields .frm_section_heading,
|
34 |
.frm_form_fields .frm_fields_container{
|
35 |
display:grid;
|
36 |
-
grid-template-columns: repeat(12,
|
37 |
grid-auto-rows: max-content;
|
38 |
-
grid-gap: 0 2
|
39 |
}
|
40 |
|
41 |
.frm_combo_inputs_container > *,
|
@@ -177,7 +180,7 @@
|
|
177 |
.frm_form_field.frm_right_inline,
|
178 |
.frm_form_field.frm_last_inline{
|
179 |
width:auto;
|
180 |
-
grid-column-end:
|
181 |
}
|
182 |
|
183 |
.frm12,
|
@@ -259,7 +262,7 @@
|
|
259 |
.frm_grid_container,
|
260 |
.frm_form_fields .frm_section_heading,
|
261 |
.frm_form_fields .frm_fields_container{
|
262 |
-
grid-template-columns: repeat(6,
|
263 |
}
|
264 |
|
265 |
.frm_combo_inputs_container > *,
|
11 |
width: 1px;
|
12 |
word-wrap: normal !important; /* many screen reader and browser combinations announce broken words as they would appear visually */
|
13 |
}
|
14 |
+
.frm_screen_reader.frm_hidden{
|
15 |
+
display:initial;
|
16 |
+
}
|
17 |
|
18 |
.frm_clear_none{
|
19 |
clear:none;
|
36 |
.frm_form_fields .frm_section_heading,
|
37 |
.frm_form_fields .frm_fields_container{
|
38 |
display:grid;
|
39 |
+
grid-template-columns: repeat(12, 6.5%);
|
40 |
grid-auto-rows: max-content;
|
41 |
+
grid-gap: 0 2%;
|
42 |
}
|
43 |
|
44 |
.frm_combo_inputs_container > *,
|
180 |
.frm_form_field.frm_right_inline,
|
181 |
.frm_form_field.frm_last_inline{
|
182 |
width:auto;
|
183 |
+
grid-column-end: span 2;
|
184 |
}
|
185 |
|
186 |
.frm12,
|
262 |
.frm_grid_container,
|
263 |
.frm_form_fields .frm_section_heading,
|
264 |
.frm_form_fields .frm_fields_container{
|
265 |
+
grid-template-columns: repeat(6, 13%);
|
266 |
}
|
267 |
|
268 |
.frm_combo_inputs_container > *,
|
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: 3.0
|
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: 3.0.01
|
6 |
Plugin URI: https://formidableforms.com/
|
7 |
Author URI: https://formidableforms.com/
|
8 |
Author: Strategy11
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Tags: contact form, form builder, custom form, forms, form, form maker, form cre
|
|
4 |
Requires at least: 4.4
|
5 |
Tested up to: 4.9
|
6 |
Requires PHP: 5.3
|
7 |
-
Stable tag: 3.0
|
8 |
|
9 |
The best WordPress form plugin for contact forms, surveys and more. Make forms a breeze with a drag and drop form builder and form style generator.
|
10 |
|
@@ -159,6 +159,18 @@ The field and form names and descriptions are all changed with in-place edit. Ju
|
|
159 |
[See more FAQs](https://formidableforms.com/formidable-faqs/ "Formidable Form FAQs")
|
160 |
|
161 |
== Changelog ==
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
162 |
= 3.0 =
|
163 |
* Move features into the free form builder: redirect and show page after save, javascript validation, field format options with HTML5 pattern validation, and phone number, number, user ID, hidden field, and HTML fields
|
164 |
* Possibly breaking change: Remove code that has been deprecated since before v2.02
|
4 |
Requires at least: 4.4
|
5 |
Tested up to: 4.9
|
6 |
Requires PHP: 5.3
|
7 |
+
Stable tag: 3.0.01
|
8 |
|
9 |
The best WordPress form plugin for contact forms, surveys and more. Make forms a breeze with a drag and drop form builder and form style generator.
|
10 |
|
159 |
[See more FAQs](https://formidableforms.com/formidable-faqs/ "Formidable Form FAQs")
|
160 |
|
161 |
== Changelog ==
|
162 |
+
= 3.0.01 =
|
163 |
+
* Fix: Trigger style update when a form is loaded instead of only when an admin page is visited
|
164 |
+
* Fix: A few various form styling and layout fixes
|
165 |
+
* Fix: Prevent screenreader text for accessibility from showing on sites with older cached css
|
166 |
+
* Fix: Prevent conflict with Divi when a form shortcode with a recaptcha is included in page editor
|
167 |
+
* Fix: Use 'readfile' instead of 'include' for css files for extra safety precautions
|
168 |
+
* Fix: Load the field options before frm_new_fields_vars hook for reverse compatibility
|
169 |
+
* **Pro Version Forms**
|
170 |
+
* New: Use toggle fields in calculations and conditional logic
|
171 |
+
* Fix: Some conditional logic based on empty radio fields wasn't functioning
|
172 |
+
* Fix: Require time fields at the correct times
|
173 |
+
|
174 |
= 3.0 =
|
175 |
* Move features into the free form builder: redirect and show page after save, javascript validation, field format options with HTML5 pattern validation, and phone number, number, user ID, hidden field, and HTML fields
|
176 |
* Possibly breaking change: Remove code that has been deprecated since before v2.02
|