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 | 2025-07-24 14:04 |
| Reporter | Helmut L. | Assigned To | |||
| Priority | normal | Severity | major | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Product Version | 4.7.6 / 5.0.6 | ||||
| Fixed in Version | 7.4.0 | ||||
| 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 | ||||