View Issue Details

IDProjectCategoryView StatusLast Update
0004864OXID eShop (all versions)4.07. Source code, Testpublic2015-11-26 15:07
Reporterkrzyzak 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionwon't fix 
Product Version4.4.8 revision 34028 
Target VersionFixed in Version 
Summary0004864: Updating of the Category-Tree fails if AdminChangeLog is enabled
DescriptionThe method oxCategoryList::updateCategoryTree doesn't work right if the config param blLogChangesInAdmim=1

It looks like that the AdminChangeLog changes the fetch mode from ADODB_FETCH_NUM to ADODB_FETCH_ASSOC
Steps To Reproduce1) Download the current version (4.7.2_53018) from http://download.oxid-esales.com/ce/index.php [^]

2) Install it including demo data

3) set oxleft and oxright from all categories to 0 (directly in database)

4) update/reindex the category tree
 4.1) reindexing is confirmed in browser popup
 4.2) values from oxleft/oxright looks right in database (same as initial)

5) append this line '$this->blLogChangesInAdmin = true;' to the end of file config.inc.php

6) set oxleft and oxright from all categories again to 0 (directly in database)

7) update/reindex the category tree again
 7.1) confirmation of reindexing in browser popup looks strange
 7.2) values from left/right in database are definitely not right
Additional InformationThis also happens in 4.5.7
TagsSolution Provided
ThemeAll
BrowserAll
PHP VersionNot defined
MySQL VersionNot defined

Activities

svetlana

2013-01-22 09:59

reporter   ~0008306

Reminder sent to: krzyzak

Hi,

Thanks a lot for submitting this issue, but unfortunately we can not reproduce it. Could you please send us more info how you reproduce it. Also some screen shots would help us.

krzyzak

2013-01-23 07:37

reporter   ~0008310

'...we can not reproduce it... ' - thats the standard answer for new bugs, or?



Steps to reproduce:

1) Download the current version (4.7.2_53018) from http://download.oxid-esales.com/ce/index.php

2) Install it including demo data

3) set oxleft and oxright from all categories to 0 (directly in database)

4) update/reindex the category tree
 4.1) reindexing is confirmed in browser popup
 4.2) values from oxleft/oxright looks right in database (same as initial)

5) append this line '$this->blLogChangesInAdmin = true;' to the end of file config.inc.php

6) set oxleft and oxright from all categories again to 0 (directly in database)

7) update/reindex the category tree again
 7.1) confirmation of reindexing in browser popup looks strange
 7.2) values from left/right in database are definitely not right

krzyzak

2013-01-23 07:38

reporter  

krzyzak

2013-01-23 07:40

reporter  

step3.png (55,089 bytes)
step3.png (55,089 bytes)

krzyzak

2013-01-23 07:41

reporter  

step4-step4.1.png (59,403 bytes)
step4-step4.1.png (59,403 bytes)

krzyzak

2013-01-23 07:42

reporter  

step4.2.png (39,691 bytes)
step4.2.png (39,691 bytes)

krzyzak

2013-01-23 07:43

reporter  

step5.png (19,453 bytes)
step5.png (19,453 bytes)

krzyzak

2013-01-23 07:43

reporter  

step6.png (39,414 bytes)
step6.png (39,414 bytes)

krzyzak

2013-01-23 07:45

reporter  

step7-step7.1.png (39,688 bytes)
step7-step7.1.png (39,688 bytes)

krzyzak

2013-01-23 07:45

reporter  

step7.2.png (38,949 bytes)
step7.2.png (38,949 bytes)

ray

2013-01-23 08:06

reporter   ~0008311

***'...we can not reproduce it... ' - thats the standard answer for new bugs, or?***

Thats the standard answer, if there is some information missing about the circumstances or steps how to reproduce it.

By the way, thanks for the clearification now and the detailed screenshots.

aurimas.gladutis

2013-01-23 11:13

reporter   ~0008315

Hi, we have checked this place and we see that there is a problem there, but it is global problem of using ADODB lite and we will look into refactoring this.

As a quick fix for this problem we can suggest you to add these lines to core/adodblite/generic_modules/oxadminlog_module.inc line 25:
  GLOBAL $ADODB_FETCH_MODE;
  $iCurrentFetchMode = $ADODB_FETCH_MODE;
  $oUser = oxNew( 'oxuser' );
  if ( $oUser->loadAdminUser() ) {
    $sUserId = $oUser->getId();
  } else {
    $sUserId = '';
  }
  oxDb::getDb($iCurrentFetchMode);

this is more of a hack than a fix, so we will not add it to shop.