You are here

function webform_encrypt_uninstall in Webform Encrypt 7

Same name and namespace in other branches
  1. 8 webform_encrypt.install \webform_encrypt_uninstall()
  2. 6 webform_encrypt.install \webform_encrypt_uninstall()

Implementation of hook_uninstall().

File

./webform_encrypt.install, line 21
Contains install- and update-related functions for the Webform Encrypt module.

Code

function webform_encrypt_uninstall() {
  variable_del('webform_encrypt_match_user');

  // Decrypt all encrypted form values.
  $components = array();
  $results = db_query('SELECT nid, cid, extra FROM {webform_component}')
    ->fetchAll();
  foreach ($results as $row) {
    $components[$row->nid . ':' . $row->cid] = unserialize($row->extra);
  }
  $data = db_query('SELECT nid, sid, cid, data FROM {webform_submitted_data}')
    ->fetchAll();
  foreach ($data as $row) {
    $key = $row->nid . ':' . $row->cid;
    if (!empty($components[$key]['encrypt']) && is_array(@unserialize($row->data))) {
      db_update('webform_submitted_data')
        ->fields(array(
        'data' => decrypt($row->data, array(
          'base64' => TRUE,
        )),
      ))
        ->condition('nid', $row->nid)
        ->condition('sid', $row->sid)
        ->condition('cid', $row->cid)
        ->execute();
    }
  }
}