function cryptifier_prefilter(&$pData, &$pFilterHash, $pObject) { global $gBitSystem, $gBitThemes, $gBitSmarty; // Decrypt the content if needed and able if ($pObject && $pObject->getPreference('cryptifier_cipher') && $pObject->getPreference('cryptifier_scope') == 'all') { $pObject->verifyUserPermission('p_cryptifier_decrypt_content'); if (!empty($_REQUEST['cryptifier_cipher_key'])) { $pData = cryptifier_decrypt_data($pData, $pObject->getPreference('cryptifier_cipher'), $_REQUEST['cryptifier_cipher_key'], $pObject->getPreference('cryptifier_iv')); } else { $pData = ''; } } }
function cryptifier_content_edit(&$pContent) { global $gBitSystem, $gBitSmarty; $pContent->verifyUserPermission('p_cryptifier_encrypt_content'); if ($pContent->getPreference('cryptifier_cipher')) { if (!empty($_REQUEST['skip_decrypt']) && $pContent->getPreference('cryptifier_scope') != 'all') { // do nothing, skip crypto } elseif (!isset($_REQUEST['cryptifier_cipher_key'])) { $gBitSmarty->assign_by_ref('gCryptContent', $pContent); $gBitSystem->display("bitpackage:cryptifier/cryptifier_authenticate.tpl", "Decryption Authenitication"); die; } else { // we have a non-blank cipher switch ($pContent->getPreference('cryptifier_scope')) { case 'all': $pContent->mInfo['data'] = cryptifier_decrypt_data($pContent->mInfo['data'], $pContent->getPreference('cryptifier_cipher'), $_REQUEST['cryptifier_cipher_key'], $pContent->getPreference('cryptifier_iv')); break; case 'blurb': $pContent->mInfo['decrypted_blurb'] = cryptifier_get_blurb($pContent, $_REQUEST['cryptifier_cipher_key']); break; } } } }