| @@ -1,5 +1,8 @@ | ||
| 1 | 1 | <?php |
| 2 | +// Exit if accessed directly | |
| 3 | +if ( ! defined( 'ABSPATH' ) ) exit; | |
| 4 | + | |
| 2 | 5 | /* handle field output */ |
| 3 | 6 | function wppb_radio_handler( $output, $form_location, $field, $user_id, $field_check_errors, $request_data ){ |
| 4 | 7 | if ( $field['field'] == 'Radio' ){ |
| 5 | 8 | $item_title = apply_filters( 'wppb_'.$form_location.'_radio_custom_field_'.$field['id'].'_item_title', wppb_icl_t( 'plugin profile-builder-pro', 'custom_field_'.$field['id'].'_title_translation', $field['field-title'], true ) ); |
| @@ -14,10 +17,11 @@ | ||
| 14 | 17 | else |
| 15 | 18 | $input_value = ( isset( $field['default-option'] ) ? trim( $field['default-option'] ) : '' ); |
| 16 | 19 | |
| 17 | 20 | $input_value = ( isset( $request_data[wppb_handle_meta_name( $field['meta-name'] )] ) ? trim( stripslashes( $request_data[wppb_handle_meta_name( $field['meta-name'] )] )) : $input_value ); |
| 21 | + $input_value = apply_filters( 'wppb_form_radio_field_value', $input_value, $field, $form_location ); | |
| 18 | 22 | |
| 19 | - $extra_attr = apply_filters( 'wppb_extra_attribute', '', $field, $form_location ); | |
| 23 | + $extra_attr = apply_filters( 'wppb_extra_attribute', '', $field, $form_location ); | |
| 20 | 24 | |
| 21 | 25 | if ( $form_location != 'back_end' ){ |
| 22 | 26 | $error_mark = ( ( $field['required'] == 'Yes' ) ? '<span class="wppb-required" title="'.wppb_required_field_error($field["field-title"]).'">*</span>' : '' ); |
| 23 | 27 | |
| @@ -23,13 +27,15 @@ | ||
| 23 | 27 | |
| 24 | 28 | if ( array_key_exists( $field['id'], $field_check_errors ) ) |
| 25 | 29 | $error_mark = '<img src="'.WPPB_PLUGIN_URL.'assets/images/pencil_delete.png" title="'.wppb_required_field_error($field["field-title"]).'"/>'; |
| 26 | 30 | |
| 31 | + $question_id = 'wppb-question-' . $field['id']; | |
| 32 | + | |
| 27 | 33 | $output = ' |
| 28 | - <label for="'.$field['meta-name'].'">'.$item_title.$error_mark.'</label>'; | |
| 34 | + <label id="'. esc_attr( $question_id ) .'">'.$item_title.$error_mark.'</label>'; | |
| 29 | 35 | $output .= '<ul class="wppb-radios">'; |
| 30 | 36 | foreach( $radio_values as $key => $value){ |
| 31 | - $output .= '<li><input value="'.esc_attr( trim( $value ) ).'" class="custom_field_radio '. apply_filters( 'wppb_fields_extra_css_class', '', $field ) .'" id="'.Wordpress_Creation_Kit_PB::wck_generate_slug( trim( $value ) ).'_'.$field['id'].'" name="'.$field['meta-name'].'" type="radio" '. $extra_attr .' '; | |
| 37 | + $output .= '<li><input value="'.esc_attr( trim( $value ) ).'" class="custom_field_radio '. apply_filters( 'wppb_fields_extra_css_class', '', $field ) .'" id="'.Wordpress_Creation_Kit_PB::wck_generate_slug( trim( $value ) ).'_'.$field['id'].'" name="'.$field['meta-name'].'" type="radio" aria-describedby="'. esc_attr( $question_id ) .'" '. $extra_attr .' '; | |
| 32 | 38 | |
| 33 | 39 | if ( $input_value === trim( $value ) ) |
| 34 | 40 | $output .= ' checked'; |
| 35 | 41 | |
| @@ -74,9 +80,9 @@ | ||
| 74 | 80 | /* handle field save */ |
| 75 | 81 | function wppb_save_radio_select_value( $field, $user_id, $request_data, $form_location ){ |
| 76 | 82 | if( $field['field'] == 'Radio' ){ |
| 77 | 83 | if ( isset( $request_data[wppb_handle_meta_name( $field['meta-name'] )] ) ) |
| 78 | - update_user_meta( $user_id, $field['meta-name'], $request_data[wppb_handle_meta_name( $field['meta-name'] )] ); | |
| 84 | + update_user_meta( $user_id, $field['meta-name'], sanitize_text_field( $request_data[wppb_handle_meta_name( $field['meta-name'] )] ) ); | |
| 79 | 85 | } |
| 80 | 86 | } |
| 81 | 87 | add_action( 'wppb_save_form_field', 'wppb_save_radio_select_value', 10, 4 ); |
| 82 | 88 | add_action( 'wppb_backend_save_form_field', 'wppb_save_radio_select_value', 10, 4 ); |