View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0000823 | OXID eShop (all versions) | 1.01. Products (product, categories, manufacturer, promotions etc.) | public | 2009-04-23 15:22 | 2012-12-07 14:10 |
Reporter | tjungcl | Assigned To | |||
Priority | high | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | 4.1.1 revision 18442 | ||||
Fixed in Version | 4.1.2 revision 18998 | ||||
Summary | 0000823: adminstration: articles --> assign attributes --> does not accept specials chars, when shop in utf-8 mode. | ||||
Description | If an article has an attribute like "Farbe" --> "grün" in the database, it will be displayed correctly. But as soon as you hit the save-button in the assign-attributes-dialog, the "grün" will become "gr". | ||||
Tags | Attributes | ||||
Theme | |||||
Browser | All | ||||
PHP Version | 5.2.6 | ||||
Database Version | 5.0.33 | ||||
|
The problem occurs because the values inserted in AJAX field are not encoded. Please check also other similar places for same problem. |
|
Problem is that data submitted by AJAX is not processed, so special characters (like umlauts) are broken. If you need ASAP fix for this problem - open file "out/admin/tpl/popups/article_attribute.tpl" and replace current: YAHOO.util.Connect.asyncRequest( 'GET', '[{ $oViewConf->getAjaxLink() }]&cmpid=container2&container=article_attribute&fnc=saveAttributeValue&oxid=[{ $oxid }]&attr_value='+$('attr_value').value+'&attr_oxid='+$('attr_oxid').value, callback ); with: YAHOO.util.Connect.asyncRequest( 'GET', '[{ $oViewConf->getAjaxLink() }]&cmpid=container2&container=article_attribute&fnc=saveAttributeValue&oxid=[{ $oxid }]&attr_value=' + encodeURIComponent( $('attr_value').value ) + '&attr_oxid=' + encodeURIComponent( $('attr_oxid').value ), callback ); and "admin/inc/article_attribute.inc.php" and change method ajaxComponent::saveAttributeValue (): $sAttributeValue = oxConfig::getParameter( "attr_value"); with: $sAttributeValue = oxConfig::getParameter( "attr_value"); if (!$this->getConfig()->isUtf()) { $sAttributeValue = iconv( 'UTF-8', oxLang::getInstance()->translateString("charset"), $sAttributeValue ); } |