lat9:
What version of PHP is being run for the new server? Unfortunately, function_general.php is just the victim here. Some other code called that module's zen_trunc_string function with a non-numeric length value.
DrByte:
lat9 is correct. Somewhere you have either settings or non-original ZC code that is making calls to zen_trunc_string() with invalid parameters.
Two things you must do:
a) use Developers Toolkit to look up the following CONSTANTS and make sure ALL of their values are numeric. If you have words or spaces in ANY of them, those are causing some or all of your problems.
PRODUCT_LIST_DESCRIPTION
BEST_SELLERS_TRUNCATE
PRODUCT_ALL_LIST_DESCRIPTION
PRODUCT_FEATURED_LIST_DESCRIPTION
PRODUCT_NEW_LIST_DESCRIPTION
b) use Developers Toolkit to locate all calls to zen_trunc_string ... do this on both YOUR site and a brand NEW site using a fresh clean install of ZC. Compare the results. Any results in yours that are "extra" or not identical to the original, should be evaluated. I don't want to know anything about exact matches: those are fine.
know this is and OLD post, but goodness this post was a lifesaver!!! Thank you BOTH.. This error has bee a persistent one for my client and I figured it would go away once the site was upgraded.. but As SOON as I brought over her database and upgraded it, the "PHP Warning: substr() expects parameter 3 to be long, string given in /home/xxxxxxx/public_html/xxxxxxx/freebies/includes/functions/functions_general.php on line 1043" error logs began FILLING up the logs folder on my dev site too.. Going through and checking each product listing setting to make sure that there were no blanks, and found that PRODUCT_LIST_DESCRIPTION was the culprit..
Updated the value to zero on both the live and dev sites, and so far all's quiet now.. Thanks to you both!!