2023-09-05, 05:27 PM
In newreply.php, an error is generated.
eval'd code in template is line 50
At different points in execution $quoted_ids is a string or an array. The qualification of is_array() and count() at line 862 is skipped if $quoted_ids becomes an empty array.
find, around line 873
essentially, comment out the conditional
<error>
<dateline>1693899950</dateline>
<datetime>2023-09-05 07:45:50 UTC -0500</datetime>
<script>newreply.php(1530) : eval()'d code</script>
<line>51</line>
<type>2</type>
<friendly_type>Warning</friendly_type>
<message>Array to string conversion</message>
<back_trace>#0 errorHandler->error() called at [/inc/class_error.php:153]
#1 errorHandler->error_callback() called at [/newreply.php(1530) : eval()'d code:51]
#2 eval() called at [/newreply.php:1530]
</back_trace>
</error>
eval'd code in template is line 50
<input type="hidden" name="quoted_ids" value="{$quoted_ids}" />
At different points in execution $quoted_ids is a string or an array. The qualification of is_array() and count() at line 862 is skipped if $quoted_ids becomes an empty array.
Laird, and thanks for your help! Wrote:862 tests for an array of one element or more. Thus, the implosion on 864 isn't reached for empty arrays. It should be, because otherwise empty arrays aren't converted to strings, causing the warning you were getting on line 50 of the newreply template, which references $quoted_ids (which at that point is sometimes an empty array instead of a string).
find, around line 873
if(is_array($quoted_ids) && count($quoted_ids) > 0)
{
$quoted_ids = implode("|", $quoted_ids);
}
and replace with // if(is_array($quoted_ids) && count($quoted_ids) > 0)
// {
$quoted_ids = implode("|", $quoted_ids);
// }
essentially, comment out the conditional