The reason why you are getting parse errors is not because of a coding error on anyone's part.
It is a problem that vBulletin currently has with [ php ] blocks and escaped characters... watch this:
Code:
eval("\$bits .= \"".gettemplate("bit")."\";");
now the same code in a [ php ] block:
PHP Code:
eval("\$bits .= \"".gettemplate("bit")."\";");
As you can see, the code is not properly printed in the PHP block.