View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0005244 | OXID eShop (all versions) | 4.07. Source code, Test | public | 2013-06-25 15:36 | 2023-11-20 13:58 |
Reporter | Helmut L. | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | confirmed | Resolution | open | ||
Product Version | 4.7.6 / 5.0.6 | ||||
Summary | 0005244: getAvailableInLangs does not work with fields with lowercase letters | ||||
Description | If you create a multilanguage table and add a field to the table which contains lowercase letters oxI18n->getAvailableInLangs always returns an empty array. | ||||
Steps To Reproduce | Create a multilanguage table and add a field with lowercase letters to the table: create table test ( oxid char(32) not null, test_field varchar(10), test_field_1 varchar(10), test_field_2 varchar(10), primary key (oxid) ); insert into test (oxid, test_field) values(md5('test'), 'test'); Add the table to the multilanguage tables array and regenerate the views. Check with PHP the available languages: $test = oxNew('oxi18n'); $test->init('test'); $test->loadInLang(0, md5('test')); $test->getAvailableInLangs(); | ||||
Additional Information | In the getAvailableInLangs method strtoupper is always used on the $sFieldName parameter and thus does no more match with the field name retrieved from the db. You should simply uppercase also the field names retrieved from the db: $rs['0'] = array_map('strtoupper', $rs['0']); | ||||
Tags | No tags attached. | ||||
Theme | All | ||||
Browser | All | ||||
PHP Version | Not defined | ||||
Database Version | Not defined | ||||