View Issue Details

IDProjectCategoryView StatusLast Update
0001988OXID eShop (all versions)1.03. Basket, checkout processpublic2012-12-10 13:23
Reporterdominik_ziegler Assigned To 
PriorityhighSeveritycrashReproducibilitysometimes
Status resolvedResolutionno change required 
Product Version4.4.0 revision 28699 
Fixed in Version4.4.1 revision 28950 
Summary0001988: Incomplete basket object on shop with same domain
DescriptionIf you are running shop A and shop B on the same domain, the basket object gets crashed in shop B if oxBasket is overloaded via a module in shop A, which is not available in the shop B.

PHP then crashes the whole shop with a Fatal error: oxcmp_basket::render(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "XXX_oxBasket" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide a __autoload() function to load the class definition in XXXXXXXXXXX/views/oxcmp_basket.php on line 84.

XXX_oxBasket is the class name for the overloaded oxBasket in shop A which does not exist in shop B. The oxcmp_basket.php in the view directory is called from shop B.
Steps To Reproduce- Install two shops on same domain in different directories.
- Overload oxBaset in one shop with an own module.
- Buy something in shop A (and visit the basket).
- Navigate to shop B on the same domain and you get the fatal error.
TagsOrder
Theme
BrowserAll
PHP Versionany
Database Versionany

Relationships

related to 0006202 closedflorian.auer unserializeing oxBasket thows fatal error when oxAtricle is exented 

Activities

arvydas_vapsva

2010-07-20 16:00

reporter   ~0003278

Q: do you have mall? both shops are connected somehow?

dominik_ziegler

2010-07-20 16:01

reporter   ~0003279

No, seperate installs.

arvydas_vapsva

2010-07-20 16:10

reporter   ~0003280

in this case you need:
1. open both shops config.inc.php file;
2. create parameter:

$this->aCookiePaths["oxbaseshop"] = $path;

$path value is (from php documentation):
"...
The path on the server in which the cookie will be available on. If set to '/', the cookie will be available within the entire domain. If set to '/foo/', the cookie will only be available within the /foo/ directory and all sub-directories such as /foo/bar/ of domain. The default value is the current directory that the cookie is being set in.
..."

3. clean cookies and try to reproduce the problem.

dominik_ziegler

2010-07-20 16:16

reporter   ~0003282

Okay, this solves the problem. :)

arvydas_vapsva

2010-07-20 16:44

reporter   ~0003284

not a bug