Quote Originally Posted by mc12345678 View Post
That was from a point "silent" protest to the absence of the define as in a default installation TEXT_PREFIX and UPLOAD_PREFIX are the same value. As a result of that fact, for a default installation the above commenting out of code won't hurt anything. It still though doesn't explain the situation of the product not being added to the cart.

That said, some interim changes I've locally made included a test for FILE_PREFIX being defined and in the previous if statement to verify that TEXT_PREFIX is also defined.

What should happen here though for the widest compatibility is for the above FILE_PREFIX to be changed to UPLOAD_PREFIX:
} elseif (defined('UPLOAD_PREFIX') && substr($option_id, 0, strlen(UPLOAD_PREFIX)) == UPLOAD_PREFIX) {
                        $option_ref[substr($option_id, strlen(UPLOAD_PREFIX))] = $option_id;
                        $option_id = substr($option_id, strlen(UPLOAD_PREFIX));
I've just applied this, and tested it with SBA. The product is now correctly added to the shopping cart.

Many thanks for your help.