I think this is the portion that's causing the problem.
echo '
Last ten posts |
---|
';
while ($top_info = $SQL->fetch_assoc($top10)) {
$msg_info = $SQL->fetch_assoc($SQL->query('SELECT COUNT(`m`.`message_id`) AS `messages`, SUBSTRING_INDEX(MAX(CONCAT(`m`.`message_time`, ",", `u`.`user_name`)), ",", -1) AS `poster`, `m`.`message_poster` FROM `messages` `m`, `users` `u` WHERE `m`.`message_topicid` = '.$top_info['topic_id'].' AND `u`.`user_id` = `m`.`message_poster` GROUP BY `m`.`message_topicid` LIMIT 1'));
echo '
'.$top_info['topic_name'].' -- '.$top_info['board_name'].' |
'.$msg_info['poster'].' |
'.$msg_info['messages'].' |
'.make_time($top_info['last_post']).' |
';
}
$online_condition = count($allowed_boards) ? ' AND `b`.`board_id` IN ('.implode(', ', $allowed_boards).')' : '';
$top10 = $SQL->query('SELECT `b`.`board_name`, `b`.`board_id`, `t`.`topic_name`, `t`.`topic_id`, MAX(`m`.`message_time`) AS `last_post`
FROM `topics` `t`
LEFT JOIN `boards` `b` ON `b`.`board_id` = `t`.`topic_boardid`
LEFT JOIN `messages` `m` ON `m`.`message_topicid` = `t`.`topic_id`
WHERE `b`.`board_viewlevel` <= '.$_DATA['user']['user_level'].$online_condition.'
GROUP BY `m`.`message_topicid`
ORDER BY `last_post` DESC
LIMIT 10');