function webform_encrypt_webform_submission_render_alter in Webform Encrypt 6
Implementation of hook_webform_submission_render_alter(). Decrypt values when displaying webform submissions.
File
- ./
webform_encrypt.module, line 97 - Main module file for the Webform Encrypt module.
Code
function webform_encrypt_webform_submission_render_alter(&$renderable) {
// First, determine if 1) if we are dealing with an email or a page view, and 2) if user matching
// is enabled.
if (variable_get('webform_encrypt_match_user', 0) && !empty($renderable['#email'])) {
// If we are, then try to match a user to the email address we are sending to.
$uid = db_result(db_query('SELECT uid FROM {users} WHERE mail = "%s"', array(
$renderable['#email']['email'],
)));
$account = $uid ? user_load($uid) : NULL;
}
else {
$account = NULL;
}
// Next, we loop through components and decrypt as necessary.
foreach ($renderable['#submission']->data as $cid => $entry) {
if (!empty($renderable['#node']->webform['components'][$cid]['extra']['encrypt'])) {
$form_key = $renderable['#node']->webform['components'][$cid]['form_key'];
if (user_access('view encrypted values')) {
$renderable[$form_key]['#value'] = decrypt($entry['value'][0], array(
'base64' => TRUE,
));
}
else {
$renderable[$form_key]['#value'] = t('[Value Encrypted]');
}
}
}
}