View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0006930 | OXID eShop (all versions) | 4.01. Database handling | public | 2018-12-11 16:23 | 2018-12-12 12:53 |
Reporter | avalue | Assigned To | |||
Priority | normal | Severity | major | Reproducibility | always |
Status | closed | Resolution | open | ||
Product Version | 6.0.3 | ||||
Summary | 0006930: Possible bug in views generation (only enterprise edition) | ||||
Description | File: vendor/oxid-esales/oxideshop-ee/Application/Model/Shop.php PHP version: 7.2 In method "formDatabaseTablesArray" the result from parent::formDatabaseTablesArray() and self::getMultiShopTables() is used with array_merge, but in case the config param "aMultiShopTables" is not set or null array_merge fails and returns null. Because of this, views cannot be generated in backend. Because i didn't find any entry in bugtracker for this issue, it seems not to be fixed in any new 6.x.x version. | ||||
Steps To Reproduce | 1. Setup a OXID eShop Enterprise Edition 6.0.3 2. Ensure that aMultiShopTables is not set or null in config.inc.php (default, i think) 3. Delete view tables in database, if any 4. Set $this->blSkipViewUsage=true; in config.inc.php to access backend 5. Hit "refresh views" Button 6. The views are not generated | ||||
Tags | No tags attached. | ||||
Theme | All | ||||
Browser | All | ||||
PHP Version | Other | ||||
Database Version | Not defined | ||||
|
In community-edition version of this file, there is a check for null if (is_null($this->_aMultiShopTables)) { $this->_aMultiShopTables = []; } but ee file overwrites this method. |
|
This only occurs with an active digidesk base module. |
|
The issue seems partly correct. If I manually set $this->aMultiShopTables = null in config.inc.php, the described behavior can be seen - no views are created. However, the parameter aMultiShopTables does not exist in config.inc.php in a standard installation of the OXID eShop EE 6. With this standard configuration, the issue is not reproducable. So to sum things up: you have to actively set the aMultiShopTables parameter to null. [sp] |
|
(Did read your notes after I've written mine.) If the issue is connected to a third-party module, it seems to be a bug in the module. Maybe you could describe your findings a little bit more. Does the module sets the parameter actively to null? As said before, I can only reproduce if I do so. [sp] |
|
Unfortunately the module is encrypted, but maybe you have a chance to see the non-encrypted code? It's the digidesk base module (v2.0.9) used for several digidesk modules. I also opened an issue in digidesk bug tracking system. |
|
Since the issue is only reproducable with actively setting a config parameter to null - which is not intended to do so - or using a third-party module, I can't classify it as an OXID eShop bug. [sp] |
|
@avalue even I was also not able to reproduce I create a pull request https://github.com/OXID-eSales/oxideshop_ee/pull/23 that may improve things. If you have access please give feedback on the pull request it that would help in your situation. |