I looked at your code and see the error:
Code:
<hookname>threadfpdata_presave</hookname>
<phpcode><![CDATA[// Zaiaku needs data
global $vbulletin;
$pagetext =& $this->fetch_field('pagetext', 'post');
if (($vbulletin->userinfo[posts] < $vbulletin->options['z_xpbl_amount'])) and (stristr($pagetext,'[url') or stristr($pagetext,'://') or stristr($pagetext,'[URL') or stristr($pagetext,'www.')))
{
// Zaiaku doesn't give you permission yet
$this->error('z_xpbl_error');
$return_value = false;
}]]></phpcode>
You have an extra parenthesis in there (highlighted in red) and it's messing up the if statement. Basically you are terminating the if statement and then continuing on with the logical operator which is why PHP throws the error.
I've attached a fixed copy. I'll remove it when you get yours updated.
edit: removed