View Issue Details

IDProjectCategoryView StatusLast Update
0002689OXID eShop (all versions)4.06. Language and translationspublic2011-08-16 16:46
ReporterHelmut L. Assigned To 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.5.0_beta4 
Fixed in Version4.5.2 revision 38481 
Summary0002689: Check if language field exists searchs always in one table
DescriptionWhen creating a new language the check if the multilang fields already exists is always in oxarticles performed and not in the table getLangTableName would return.
Additional InformationEnterprise Edition
/admin/language_main.php, Line 381

is currently:
if ( !$oDbMeta->fieldExists( $sMultiLangCol, "oxarticles" ) ) {

should be:
if ( !$oDbMeta->fieldExists( $sMultiLangCol, getLangTableName('oxarticles', $iBaseId) ) ) {
TagsNo tags attached.
Theme
BrowserAll
PHP Versionany
Database Versionany

Activities

Helmut L.

2011-04-11 10:33

reporter   ~0004354

This bug is in the latest revision already fixed. (partnersvn, revision 1861)

Helmut L.

2011-04-11 15:25

reporter   ~0004355

The same bug is also in oxDbMetaDataHandler, where it is not fixed.
In the method addNewMultilangField on line 358 is, before adding the field, checked if it exists. But here the check is performed with the main table and not the table from getLangTableName.

is currently:
if ( !$this->fieldExists( $sNewFieldName, $sTable ) ) {

should be:
if ( !$this->fieldExists( $sNewFieldName, $sTableSet ) ) {

birute_meilutyte

2011-05-05 15:56

reporter   ~0004482

@developers: check from source code side if described problems (in main bug description and in comments) still exist

Linas Kukulskis

2011-08-16 16:46

reporter   ~0005030

modified check