Fix encoding non UTF8 strings

This commit is contained in:
champsupertramp
2016-07-03 22:02:58 +08:00
parent 7baf1b6a1a
commit c84f645fc8
2 changed files with 35 additions and 11 deletions
+18 -11
View File
@@ -1596,9 +1596,8 @@ class UM_Fields {
$option_value = $k;
}
$option_value = htmlentities($option_value);
$option_value = apply_filters('um_select_dropdown_dynamic_option_value', $option_value);
$option_value = apply_filters('um_field_non_utf8_value',$option_value );
$output .= '<option value="' . $option_value . '" ';
if ( $this->is_selected( $form_key, $option_value, $data ) || $this->is_selected( $form_key, $v, $data ) ) {
@@ -1660,9 +1659,9 @@ class UM_Fields {
$output .= '<option value=""></option>';
// add options
foreach($options as $k => $v) {
foreach( $options as $k => $v ) {
$v = rtrim($v);
$v = rtrim( $v );
$use_keyword = apply_filters('um_multiselect_option_value', 0, $data['type'] );
@@ -1672,11 +1671,13 @@ class UM_Fields {
$opt_value = $v;
}
$output .= '<option value="'.htmlentities($opt_value).'" ';
if ( $this->is_selected($key, $opt_value, $data) ) {
$output.= 'selected';
$opt_value = apply_filters('um_field_non_utf8_value',$opt_value );
$output .= '<option value="'.$opt_value.'" ';
if ( $this->is_selected( $key, $opt_value, $data ) ) {
$output .= 'selected';
}
$output .= '>'.__($v,UM_TEXTDOMAIN).'</option>';
$output .= '>'.__( $v ,UM_TEXTDOMAIN).'</option>';
}
@@ -1685,7 +1686,7 @@ class UM_Fields {
$output .= '</div>';
if ( $this->is_error($key) ) {
$output .= $this->field_error( $this->show_error($key) );
$output .= $this->field_error( $this->show_error( $key ) );
}
$output .= '</div>';
@@ -1754,7 +1755,10 @@ class UM_Fields {
}
$output .= '<label class="um-field-radio '.$active.' um-field-half '.$col_class.'">';
$output .= '<input type="radio" name="'.$form_key.'" value="'.htmlentities($option_value).'" ';
$option_value = apply_filters('um_field_non_utf8_value',$option_value );
$output .= '<input type="radio" name="'.$form_key.'" value="'.$option_value.'" ';
if ( $this->is_radio_checked($key, $option_value, $data) ) {
$output.= 'checked';
@@ -1821,6 +1825,9 @@ class UM_Fields {
}
$output .= '<label class="um-field-checkbox '.$active.' um-field-half '.$col_class.'">';
$v = apply_filters('um_field_non_utf8_value', $v );
$output .= '<input type="checkbox" name="'.$key.'[]" value="'.strip_tags( $v ).'" ';
if ( $this->is_selected($key, $v, $data) ) {