I was going to post this in its own bugs and fixes thread...but I'll do this now for you, and make a more formal post later.
This is all related to the serialized arrays in 4.1.9 - xcart made fundamental changes to the sql structure and they didn't tell anyone how or why.
First thing you should try: clear all cache files on your server and local browsers AND delete all cookies.
That may solve things.
Second: xcart gave me 2 patches last week... one is for /include/search.php and the other is for /admin/contact_us_profiles.php. I will post both patches later on, in their own thread... but this should get you out of the jam right now.
Regardless -- clear all cookies, cache on local browsers as well as server (or run domain.com/cleanup.php)
Please let me know if this solves your problem.
[EDIT -- use this patch at your own risk -- it may or may not work. I've asked xcart to review this. ALWAYS work on a backup!!!!]
=====================
in file /include/search.php
FIND:
Code:
if (!in_array($v['fieldid'], $tmp) && $current_area == 'C') {
unset($extra_fields[$k]);
continue;
}
REPLACE WITH:
Code:
// BEGIN patch by xcart for 4.1.8-4.1.9 upgrade - Cannot use string offset as an array
// comment out the following block-
/*
if (!in_array($v['fieldid'], $tmp) && $current_area == 'C') {
unset($extra_fields[$k]);
continue;
}
*/
// END comment out
// BEGIN new code from xcart for Cannot use string offset as an array
if (!empty($tmp) && is_array($tmp) && $current_area == 'C') {
if (!in_array($v['fieldid'], $tmp)) {
unset($extra_fields[$k]);
continue;
}
}
// END new code from xcart for Cannot use string offset as an array