Okay, I've got this "functioning" enough to decrypt PM's again, but am getting this error:
Parse error: syntax error, unexpected ';' in /public_html/includes/functions_newpost.php(1881) : eval()'d code on line 3
and it doesn't matter if the PM's are encrytped or not (I'm using some test PM's that are not encrypted to test functionality).
This highlighted section is the part of the code I'm having a problem with (this is from the .xml file for this add-in). If I remove the ";" at the end of the line it works for unencrypted PM's but not for encrypted PM's. If I leave it there, I get the error stated above:
Code:
<plugin active="1" executionorder="5">
<title>PMCrypt :: Decrypt an encrypted reply</title>
<hookname>private_newpm_reply</hookname>
<phpcode><![CDATA[if ($pm['encrypt']){
unset($pm);
if ($pm = $db->query_first_slave("SELECT pm.*, pmtext.* FROM `" . TABLE_PREFIX . "pm` AS pm LEFT JOIN `" . TABLE_PREFIX . "pmtext` AS pmtext ON(`pmtext.pmtextid` = pm.pmtextid) WHERE `pm.userid` = '" . $vbulletin->userinfo['userid'] . "' AND `pm.pmid` = '" . $vbulletin->GPC['pmid'] . "'";)){
// quote reply
$originalposter = fetch_quote_username($pm['fromusername']);
$pm['message'] = encrypt_decrypt(base64_decode($pm['message']));
// allow quotes to remain with an optional request variable
// this will fix a problem with forwarded PMs and replying to them
if ($vbulletin->GPC['stripquote']){
$pagetext = strip_quotes($pm['message']);
}
else{
// this is now the default behavior -- leave quotes, like vB2
$pagetext = $pm['message'];
}
$pagetext = trim(htmlspecialchars_uni($pagetext));
eval('$pm[\'message\'] = "' . fetch_template('newpost_quote', 0, false) . '";');
// work out FW / RE bits
if (preg_match('#^' . preg_quote($vbphrase['forward_prefix'], '#') . '#i', $pm['title'])){
$pm['title'] = substr($pm['title'], strlen($vbphrase['forward_prefix']) + 1);
}
elseif (preg_match('#^' . preg_quote($vbphrase['reply_prefix'], '#') . '#i', $pm['title'])){
$pm['title'] = substr($pm['title'], strlen($vbphrase['reply_prefix']) +1);
}
else{
$pm['title'] = preg_replace('#^[a-z]{2}:#i', '', $pm['title']);
}
$pm['title'] = trim($pm['title']);
if ($vbulletin->GPC['forward']){
$pm['title'] = $vbphrase['forward_prefix'] . " $pm[title]";
$pm['recipients'] = '';
$pm['forward'] = 1;
}
else{
$pm['title'] = $vbphrase['reply_prefix'] . " $pm[title]";
$pm['recipients'] = $pm['fromusername'] . ' ; ';
$pm['forward'] = 0;
}
}
}]]></phpcode>
</plugin>
Any help?