Try replacing your bbcode_parse_start plugin with this:
PHP Code:
if (THIS_SCRIPT != 'member')
{
global $newpost, $userinfo;
$postusername = (($newpost['username'] != '') AND ($newpost['username'] != $this->registry->userinfo['username'])) ? $newpost['username'] : '';
if (!$this->post['usergroupid'] AND $postusername)
{
$userinfo = $this->registry->db->query_first("
SELECT usergroupid, membergroupids
FROM " . TABLE_PREFIX . "user
WHERE userid = $newpost[username]
");
}
else if (!$this->post['usergroupid'] AND isset($newpost))
{
$userinfo['usergroupid'] = $this->registry->userinfo['usergroupid'];
$userinfo['membergroupids'] = $this->registry->userinfo['membergroupids'];
}
else if (!isset($newpost) AND ($this->post['usergroupid'] OR $newpost['usergroupid']))
{
$userinfo['usergroupid'] = $newpost ? $newpost['usergroupid'] : $this->post['usergroupid'];
$userinfo['membergroupids'] = $newpost ? $newpost['membergroupids'] : $this->post['membergroupids'];
}
$userinfo['permissions'] = cache_permissions($userinfo);
}
$this->set_parse_userinfo($userinfo, $userinfo['permissions']);
$check_ugp = convert_bits_to_array($this->parse_userinfo['permissions']['ces_parser_permissions'], $this->registry->bf_ugp['ces_parser_permissions']);
$bad_tags = explode(',', $this->registry->options['bad_tags']);
$dobbcode = ($check_ugp['can_bbcode_post'] AND $dobbcode) ? true : false;
$dosmilies = ($check_ugp['can_smilies_post'] AND $dosmilies) ? true : false;
$dobbimagecode = ($check_ugp['can_imgcode_post'] AND $dobbimagecode) ? true : false;
if ($check_ugp['can_html_post'] AND $dohtml)
{
$dohtml = true;
foreach ($bad_tags AS $badtag)
{
$badtag = html_entity_decode($badtag);
$text = str_replace( '<' . trim($badtag), htmlspecialchars('<' . trim($badtag)), $text);
$text = str_replace( '</' . trim($badtag), htmlspecialchars('</' . trim($badtag)), $text);
}
unset($badtag, $badtags);
}
else
{
$dohtml = false;
}