Commit 7f770565 authored by Jake Bell's avatar Jake Bell

Adding uninstall hook to decrypt data.

parent 07c03a11
......@@ -6,9 +6,33 @@
* module.
*/
/**
* Implementation of hook_disable().
*/
function webform_encrypt_disable() {
drupal_set_message(t('Webform Encrypt has been disabled. However, all submitted data is still encrypted. Please !link to decrypt all data.', array(
'!link' => l(t('uninstall the module'), 'admin/modules/uninstall'),
)));
}
/**
* Implementation of hook_uninstall().
*/
function webform_encrypt_uninstall() {
variable_del('webform_encrypt_match_user');
// Decrypt all encrypted form values.
$components = array();
$query = db_query('SELECT nid, cid, extra FROM {webform_component}');
while ($row = db_fetch_object($query)) {
$components[$row->nid . ':' . $row->cid] = unserialize($row->extra);
}
$query = db_query('SELECT nid, sid, cid, no, data FROM {webform_submitted_data}');
while ($row = db_fetch_object($query)) {
$key = $row->nid . ':' . $row->cid;
if (!empty($components[$key]['encrypt']) && is_array(@unserialize($row->data))) {
$row->data = decrypt($row->data, array('base64' => TRUE));
drupal_write_record('webform_submitted_data', $row, array('nid', 'sid', 'cid', 'no'));
}
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment