PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / trunk
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More vtrunk
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/models/fields/FrmFieldCombo.php +21 -24 6.26 → trunk View file →
@@ -55,9 +55,9 @@
55 55 protected function register_sub_fields( array $sub_fields ) {
56 56 $defaults = $this->get_default_sub_field();
57 57
58 58 foreach ( $sub_fields as $name => $sub_field ) {
59 - if ( empty( $sub_field ) ) {
59 + if ( ! $sub_field ) {
60 60 continue;
61 61 }
62 62
63 63 if ( is_array( $sub_field ) ) {
@@ -224,9 +224,9 @@
224 224 *
225 225 * @return array
226 226 */
227 227 protected function field_settings_for_type() {
228 - $settings = array(
228 + return array(
229 229 'description' => false,
230 230 'default' => false,
231 231 // Don't use the regular placeholder option.
232 232 'clear_on_focus' => false,
@@ -232,10 +232,8 @@
232 232 'clear_on_focus' => false,
233 233 'logic' => true,
234 234 'visibility' => true,
235 235 );
236 -
237 - return $settings;
238 236 }
239 237
240 238 /**
241 239 * Shows field on the form builder.
@@ -286,11 +284,10 @@
286 284 $args['shortcode_atts'] = $shortcode_atts;
287 285
288 286 ob_start();
289 287 $this->load_field_output( $args );
290 - $input_html = ob_get_clean();
291 288
292 - return $input_html;
289 + return ob_get_clean();
293 290 }
294 291
295 292 /**
296 293 * Loads field output.
@@ -406,16 +403,19 @@
406 403
407 404 if ( ! empty( $sub_field['name'] ) ) {
408 405 $field['subfield_name'] = $sub_field['name'];
409 406 }
407 +
410 408 do_action( 'frm_field_input_html', $field );
411 409
412 410 // Print custom attributes.
413 - if ( ! empty( $sub_field['atts'] ) && is_array( $sub_field['atts'] ) ) {
414 - foreach ( $sub_field['atts'] as $att_name => $att_value ) {
415 - echo esc_attr( trim( $att_name ) ) . '="' . esc_attr( trim( $att_value ) ) . '" ';
416 - }
411 + if ( empty( $sub_field['atts'] ) || ! is_array( $sub_field['atts'] ) ) {
412 + return;
417 413 }
414 +
415 + foreach ( $sub_field['atts'] as $att_name => $att_value ) {
416 + echo esc_attr( trim( $att_name ) ) . '="' . esc_attr( trim( $att_value ) ) . '" ';
417 + }
418 418 }
419 419
420 420 /**
421 421 * Validate field.
@@ -434,22 +434,19 @@
434 434 if ( class_exists( 'FrmProEntryMeta' ) && FrmProEntryMeta::skip_required_validation( $this->field ) ) {
435 435 return $errors;
436 436 }
437 437
438 - if ( class_exists( 'FrmProFieldsHelper' ) && ! FrmProFieldsHelper::is_field_visible_to_user( $this->field ) ) {
439 - return $errors;
440 - }
441 -
442 - $blank_msg = FrmFieldsHelper::get_error_msg( $this->field, 'blank' );
443 -
438 + $blank_msg = FrmFieldsHelper::get_error_msg( $this->field, 'blank' );
444 439 $sub_fields = $this->get_processed_sub_fields();
445 440
446 441 // Validate not empty.
447 442 foreach ( $sub_fields as $name => $sub_field ) {
448 - if ( empty( $sub_field['optional'] ) && empty( $args['value'][ $name ] ) ) {
449 - $errors[ 'field' . $args['id'] . '-' . $name ] = '';
450 - $errors[ 'field' . $args['id'] ] = $blank_msg;
443 + if ( ! empty( $sub_field['optional'] ) || ! empty( $args['value'][ $name ] ) ) {
444 + continue;
451 445 }
446 +
447 + $errors[ 'field' . $args['id'] . '-' . $name ] = '';
448 + $errors[ 'field' . $args['id'] ] = $blank_msg;
452 449 }
453 450
454 451 return $errors;
455 452 }
@@ -460,15 +457,15 @@
460 457 * @return array
461 458 */
462 459 public function get_export_headings() {
463 460 $headings = array();
464 - $field_id = $this->field->id ?? $this->field['id'];
465 - $field_name = $this->field->name ?? $this->field['name'];
466 - $field_key = $this->field->field_key ?? $this->field['field_key'];
461 + $field_id = is_object( $this->field ) ? $this->field->id : $this->field['id'];
462 + $field_name = is_object( $this->field ) ? $this->field->name : $this->field['name'];
467 463 $sub_fields = $this->get_processed_sub_fields();
468 464
465 + // Include sub-field headings.
469 466 foreach ( $sub_fields as $name => $sub_field ) {
470 - $headings[ $field_id . '_' . $name ] = $field_name . ' (' . $field_key . ') - ' . $sub_field['label'];
467 + $headings[ $field_id . '_' . $name ] = $field_name . ' - ' . $sub_field['label'];
471 468 }
472 469
473 470 return $headings;
474 471 }
@@ -506,9 +503,9 @@
506 503 * Gets inputs container attributes.
507 504 *
508 505 * @return array
509 506 */
510 - protected function get_inputs_container_attrs() {
507 + public function get_inputs_container_attrs() {
511 508 return array(
512 509 'class' => 'frm_combo_inputs_container',
513 510 'id' => 'frm_combo_inputs_container_' . $this->field_id,
514 511 );