PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 5.0.07
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v5.0.07
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | classes/controllers/FrmFieldsController.php +55 -27 6.4.25.0.07 View file →
@@ -178,13 +178,23 @@
178 178 /**
179 179 * @since 3.0
180 180 */
181 181 private static function get_classes_for_builder_field( $field, $display, $field_info ) {
182 - $li_classes = $field_info->form_builder_classes( $display['type'] );
182 + $li_classes = $field_info->form_builder_classes( $display['type'] );
183 + $classes = isset( $field['classes'] ) ? $field['classes'] : '';
184 +
185 + // Exclude alignright for now since we aren't using widths.
186 + $classes = str_replace( ' frm_alignright ', ' ', $classes );
187 + $classes = trim( $classes );
188 +
189 + if ( 'frm_alignright' === $classes ) {
190 + $classes = '';
191 + }
192 +
183 193 $li_classes .= ' frm_form_field frmstart ';
184 194
185 - if ( isset( $field['classes'] ) ) {
186 - $li_classes .= trim( $field['classes'] ) . ' ';
195 + if ( $classes ) {
196 + $li_classes .= $classes . ' ';
187 197 }
188 198
189 199 $li_classes .= 'frmend';
190 200
@@ -443,9 +453,9 @@
443 453 $add_html = apply_filters( 'frm_field_extra_html', $add_html, $field );
444 454 $add_html = ' ' . implode( ' ', $add_html ) . ' ';
445 455
446 456 if ( $echo ) {
447 - echo $add_html; // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
457 + echo $add_html; // WPCS: XSS ok.
448 458 }
449 459
450 460 return $add_html;
451 461 }
@@ -569,18 +579,21 @@
569 579 }
570 580 }
571 581
572 582 /**
573 - * Prepares field placeholder.
574 - *
575 - * @since 5.4 This doesn't call `FrmFieldsController::get_default_value_from_name()` anymore.
576 - *
577 - * @param array $field Field array.
583 + * @param array $field
578 584 * @return string
579 585 */
580 586 private static function prepare_placeholder( $field ) {
581 - $placeholder = isset( $field['placeholder'] ) ? $field['placeholder'] : '';
587 + $placeholder = isset( $field['placeholder'] ) ? $field['placeholder'] : '';
588 + $placeholder_is_blank = empty( $placeholder ) && '0' !== $placeholder;
589 + $is_placeholder_field = FrmFieldsHelper::is_placeholder_field_type( $field['type'] );
590 + $is_combo_field = in_array( $field['type'], array( 'address', 'credit_card' ), true );
582 591
592 + if ( $placeholder_is_blank && $is_placeholder_field && ! $is_combo_field ) {
593 + $placeholder = self::get_default_value_from_name( $field );
594 + }
595 +
583 596 return $placeholder;
584 597 }
585 598
586 599 /**
@@ -587,9 +600,8 @@
587 600 * If the label position is "inside",
588 601 * get the label to use as the placeholder
589 602 *
590 603 * @since 2.05
591 - * @since 5.4 Remove the logic code for "inside" label position.
592 604 *
593 605 * @param array $field
594 606 *
595 607 * @return string
@@ -594,9 +606,19 @@
594 606 *
595 607 * @return string
596 608 */
597 609 public static function get_default_value_from_name( $field ) {
598 - return '';
610 + $position = FrmField::get_option( $field, 'label' );
611 + if ( $position == 'inside' ) {
612 + $default_value = $field['name'];
613 + if ( FrmField::is_required( $field ) ) {
614 + $default_value .= ' ' . $field['required_indicator'];
615 + }
616 + } else {
617 + $default_value = '';
618 + }
619 +
620 + return $default_value;
599 621 }
600 622
601 623 /**
602 624 * Maybe add a blank placeholder option before any options
@@ -730,11 +752,9 @@
730 752
731 753 $error_body = substr( $custom_html, $start + 10, $end - $start - 10 );
732 754 $default_html = array(
733 755 '<div class="frm_error" id="frm_error_field_[key]">[error]</div>',
734 - '<div class="frm_error" role="alert" id="frm_error_field_[key]">[error]</div>',
735 756 '<div class="frm_error">[error]</div>',
736 - '<div class="frm_error" role="alert">[error]</div>',
737 757 );
738 758
739 759 if ( in_array( $error_body, $default_html, true ) ) {
740 760 return false;
@@ -752,16 +772,9 @@
752 772 * @param array $field
753 773 * @param array $add_html
754 774 */
755 775 private static function maybe_add_html_required( $field, array &$add_html ) {
756 - $excluded_field_types =
757 - FrmField::is_radio( $field ) ||
758 - FrmField::is_checkbox( $field ) ||
759 - FrmField::is_field_type( $field, 'file' ) ||
760 - FrmField::is_field_type( $field, 'nps' ) ||
761 - FrmField::is_field_type( $field, 'scale' );
762 -
763 - if ( $excluded_field_types ) {
776 + if ( in_array( $field['type'], array( 'file', 'data', 'lookup' ), true ) ) {
764 777 return;
765 778 }
766 779
767 780 $include_html = FrmAppHelper::meets_min_pro_version( '3.06.01' );
@@ -774,12 +787,8 @@
774 787 if ( FrmField::is_option_empty( $field, 'shortcodes' ) ) {
775 788 return;
776 789 }
777 790
778 - if ( ! empty( $field['autocomplete'] ) ) {
779 - unset( $field['shortcodes']['autocomplete'] );
780 - }
781 -
782 791 foreach ( $field['shortcodes'] as $k => $v ) {
783 792 if ( 'opt' === $k ) {
784 793 continue;
785 794 }
@@ -885,9 +894,12 @@
885 894 *
886 895 * @deprecated 4.0 Moved to Pro for Other option only.
887 896 */
888 897 public static function add_option() {
889 - _deprecated_function( __METHOD__, '4.0', 'FrmProFieldsController::add_other_option' );
898 + _deprecated_function( __METHOD__, '4.0', 'FrmProFormsController::add_other_option' );
899 + if ( is_callable( 'FrmProFormsController::add_other_option' ) ) {
900 + FrmProFormsController::add_other_option();
901 + }
890 902 }
891 903
892 904 /**
893 905 * @deprecated 4.0
@@ -915,6 +927,22 @@
915 927 * @return array
916 928 */
917 929 public static function include_single_field( $field_id, $values, $form_id = 0 ) {
918 930 return FrmDeprecated::include_single_field( $field_id, $values, $form_id );
931 + }
932 +
933 + /**
934 + * @deprecated 2.3
935 + * @codeCoverageIgnore
936 + */
937 + public static function edit_option() {
938 + FrmDeprecated::deprecated( __METHOD__, '2.3' );
939 + }
940 +
941 + /**
942 + * @deprecated 2.3
943 + * @codeCoverageIgnore
944 + */
945 + public static function delete_option() {
946 + FrmDeprecated::deprecated( __METHOD__, '2.3' );
919 947 }
920 948 }