You are here

function gdpr_consent_user_update in GDPR Consent 7

Implements hook_user_update().

File

./gdpr_consent.module, line 735
Module file for GDPR Consent.

Code

function gdpr_consent_user_update(&$edit, $account, $category) {
  global $user;
  if (isset($edit['user_cancel_method'])) {

    // Do not act on cancel.
    return;
  }

  // We only care about the account category.
  if ($category != 'account') {
    return;
  }
  $conditions = gdpr_consent_get_conditions($account->language);
  if (empty($conditions['conditions'])) {
    return;
  }

  // Record the accepted state before removing gdpr_consent_accept from $edit.
  $accepted = isset($edit['gdpr_consent_accept']) ? $edit['gdpr_consent_accept'] : FALSE;
  $edit['gdpr_consent_accept'] = NULL;
  $edit['conditions'] = NULL;
  if ($account->uid == 1 || $account->uid != $user->uid) {
    return;
  }
  if ($accepted) {
    gdpr_consent_save_accept($conditions['version'], $conditions['revision'], $conditions['language'], $conditions['tc_id'], $account->uid);
  }
  else {
    gdpr_consent_save_removal($conditions['version'], $conditions['revision'], $conditions['language'], $conditions['tc_id'], $account->uid);
  }
}