I think maybe the problem is that the same bbcode parser object is used for all posts and signatures, so once that variable is unset for the first signature it can't process any spoiler tags in following posts. That's probably why some people though it worked and some didn't - they probably were using different test cases.
I don't know what a good solution is off the top of my head. I guess you could save it somewhere before unsetting it, then put it back when needed, like:
PHP Code:
if ($forumid==='signature')
{
if (!empty($this->tag_list['no_option']['bbcode_to_disable']))
{
$this->tag_list['save']['bbcode_to_disable'] = $this->tag_list['no_option']['bbcode_to_disable'];
unset($this->tag_list['no_option']['bbcode_to_disable']);
}
}
else
{
if (empty($this->tag_list['no_option']['bbcode_to_disable']))
{
$this->tag_list['no_option']['bbcode_to_disable'] = $this->tag_list['save']['bbcode_to_disable'];
}
}
(I haven't tried this code at all)