Index: branches/5.2.x/units/gateways/gw_tag_processor.php =================================================================== diff -u -N -r15156 -r15600 --- branches/5.2.x/units/gateways/gw_tag_processor.php (.../gw_tag_processor.php) (revision 15156) +++ branches/5.2.x/units/gateways/gw_tag_processor.php (.../gw_tag_processor.php) (revision 15600) @@ -1,6 +1,6 @@ ConfigValues[$id]) ? $this->ConfigValues[$id] : ''; if ( !array_key_exists('no_special', $params) || !$params['no_special'] ) { - $value = htmlspecialchars($value); + $value = htmlspecialchars($value, null, CHARSET); } if ( getArrayValue($params, 'checked') ) { Index: branches/5.2.x/units/gateways/gw_classes/ideal_nl.php =================================================================== diff -u -N -r15141 -r15600 --- branches/5.2.x/units/gateways/gw_classes/ideal_nl.php (.../ideal_nl.php) (revision 15141) +++ branches/5.2.x/units/gateways/gw_classes/ideal_nl.php (.../ideal_nl.php) (revision 15600) @@ -1,6 +1,6 @@ FindChildValue('message'); $this->parsed_responce['XML'] = $transaction_xml; $this->Application->SetVar('failure_template', $this->Application->RecallVar('gw_cancel_template')); - $this->parsed_responce['MESSAGE'] = $error_msg ? $error_msg : 'Unknown gateway error ('.htmlspecialchars($transaction_xml).')'; + $this->parsed_responce['MESSAGE'] = $error_msg ? $error_msg : 'Unknown gateway error ('.htmlspecialchars($transaction_xml, null, CHARSET).')'; return false; } Index: branches/5.2.x/units/gateways/gw_classes/google_checkout.php =================================================================== diff -u -N -r15141 -r15600 --- branches/5.2.x/units/gateways/gw_classes/google_checkout.php (.../google_checkout.php) (revision 15141) +++ branches/5.2.x/units/gateways/gw_classes/google_checkout.php (.../google_checkout.php) (revision 15600) @@ -1,6 +1,6 @@ - '.htmlspecialchars($order_item['ProductName']).' - '.htmlspecialchars($order_item[$ml_formatter->LangFieldName('DescriptionExcerpt')]).''. + '.htmlspecialchars($order_item['ProductName'], null, CHARSET).' + '.htmlspecialchars($order_item[$ml_formatter->LangFieldName('DescriptionExcerpt')], null, CHARSET).''. $this->getPriceXML('unit-price', $order_item['Price']).' '.$order_item['Quantity'].' '; @@ -102,7 +102,7 @@ $shipping_xml = ''; foreach ($shipping_types as $shipping_name) { - $shipping_xml .= ' + $shipping_xml .= ' 0.00 '; } @@ -390,7 +390,7 @@ $shipping_name = $shipping_type['ShippingName']; $processable_shipping_index = array_search($shipping_name, $process_shippings); if ($processable_shipping_index !== false) { - $shipping_types_xml .= ' + $shipping_types_xml .= ' '.sprintf('%01.2f', $shipping_type['TotalCost']).' true '; @@ -402,7 +402,7 @@ // add unavailable shipping types foreach ($process_shippings as $shipping_name) { - $shipping_types_xml .= ' + $shipping_types_xml .= ' 0.00 false '; Index: branches/5.2.x/units/product_options/product_options_tag_processor.php =================================================================== diff -u -N -r15312 -r15600 --- branches/5.2.x/units/product_options/product_options_tag_processor.php (.../product_options_tag_processor.php) (revision 15312) +++ branches/5.2.x/units/product_options/product_options_tag_processor.php (.../product_options_tag_processor.php) (revision 15600) @@ -1,6 +1,6 @@ GetID(), $options) ? $options[$object->GetID()] : ''; if ( $object->GetDBField('OptionType') == OptionType::CHECKBOX ) { - $selected = is_array($option_value) && in_array(htmlspecialchars($val), $option_value); + $selected = is_array($option_value) && in_array(htmlspecialchars($val, null, CHARSET), $option_value); } else { // radio buttons ? $selected = htmlspecialchars_decode($option_value) == $val; Index: branches/5.2.x/units/order_items/order_items_tag_processor.php =================================================================== diff -u -N -r15312 -r15600 --- branches/5.2.x/units/order_items/order_items_tag_processor.php (.../order_items_tag_processor.php) (revision 15312) +++ branches/5.2.x/units/order_items/order_items_tag_processor.php (.../order_items_tag_processor.php) (revision 15600) @@ -1,6 +1,6 @@ = 0 ? '+' : '-'; } - $block_params['value'] = htmlspecialchars($val); + $block_params['value'] = htmlspecialchars($val, null, CHARSET); $block_params['type'] = $key_data['OptionType']; } $o .= $this->Application->ParseBlock($block_params, 1); @@ -176,7 +176,7 @@ foreach ($values as $val) { $i++; $val = htmlspecialchars_decode($val); - $block_params['value'] = htmlspecialchars($val); + $block_params['value'] = htmlspecialchars($val, null, CHARSET); if ($price_types[$val] == '$') { $iso = $this->GetISO($params['currency']); $value = $this->AddCurrencySymbol(sprintf("%.2f", $this->ConvertCurrency($prices[$val], $iso)), $iso, true); // true to force sign