UNOFFICIAL VERSION OF OPENCART 2.3.0.2 WITH BUG FIXES:
https://github.com/condor2/Opencart_2302
LIST OF CONFIRMED BUGS AND SOLUTIONS:
BUG: Deleting a language causes Error: Table banner_image_description doesn't exist
FIX (4722):
- EDIT: admin/model/localisation/language.php
- CHANGE (line 222):
from:to:Code: Select all
$this->db->query("DELETE FROM " . DB_PREFIX . "banner_image_description WHERE language_id = '" . (int)$language_id . "'");
Code: Select all
$this->db->query("DELETE FROM " . DB_PREFIX . "banner_image WHERE language_id = '" . (int)$language_id . "'");
BUG: Error: Could not load model total!
Two-part bug. Part one: Event Compatibility cuts off too many parts of the route when trying to load the older extension format. ex. "extension/total/sub_total/getTotal" route gets turned into "total/sub_total" instead of "total/sub_total/getTotal". This causes it to try and load a model with no name throwing the exception. Part Two, this compatibility is being loaded fine when the route is "extension/total/subtotal" but is also loading when the route is "extension/total/sub_total/getTotal". I think this event should not be triggered for compatibility because it is a getTotal is a function call, not a model load. This causes the verification to fail and try to load the 2.2.x version which has other bits missing and throws different errors. Haven't figured out why the function call is going down the event path. But basically the attempt to support backwards compatibility with 2.2 mods is causing problems.
2 Solutions
FIX 1: Give up on 2.2.x compatibility and delete the following left-over folders:FIX 2: Add a hack to bypass the event when the function call for "getTotal", "getMethod", or "getQuote" are passed in. This is experimental but should at least restore support for 2.2.x mods for now. This is NOT a permanent fix. Just a work around.Code: Select all
catalog/model/total catalog/model/payment catalog/controller/payment catalog/model/shipping catalog/controller/module admin/controller/total admin/controller/payment admin/controller/shipping admin/controller/module
EDIT: catalog/controller/event/compatibility.php
FIND:REPLACE WITH:Code: Select all
'model/' . $route. '.php'
This should let routes like "extension/total/sub_total" work but block "extension/total/sub_total/getTotal" calls which fail on the directory check.Code: Select all
'model/' . ((strpos($route,'get') !== false) ? dirname($route) : $route) . '.php'
BUG: When enabled, fraud modules cause an error to be thrown during order completion, which can prevent the order from being fully completed. The error message thrown is: "Call to a member function check() on a non-object in /catalog/model/checkout/order.php"
FIX: http://forum.opencart.com/viewtopic.php ... 93#p638230
List of confirmed previous fixes that wasn't added from v2.2.0.0 release:
- Missing checkout 1st part validation process: http://forum.opencart.com/viewtopic.php ... 29#p617203
- Shipping checkout address fix: http://forum.opencart.com/viewtopic.php ... 59#p625959
- Admin orders customer notification email fix: http://forum.opencart.com/viewtopic.php ... 56#p632395
- Bugfix by artcore: http://forum.opencart.com/viewtopic.php ... 20#p632732