You are here

function gdpr_consent_administration_submit in GDPR Consent 7

Implements hook_form_id_submit().

File

./gdpr_consent.admin.inc, line 401
Administration UI for the GDPR Consent module.

Code

function gdpr_consent_administration_submit($form, &$form_state) {
  $values = $form_state['values'];

  // Preview request, don't save anything.
  if ($form_state['triggering_element']['#value'] == t('Preview')) {
    return;
  }
  if (variable_get('gdpr_consent_display', '1') != $values['display']) {
    variable_set('gdpr_consent_display', $values['display']);
    drupal_set_message(t('Display setting has been saved.'));
  }
  if (isset($values['link_target'])) {
    variable_set('gdpr_consent_link_target', $values['link_target']);
    drupal_set_message(t('Link target setting has been saved.'));
  }
  if (gdpr_consent_conditions_updated($values)) {
    $version = gdpr_consent_version($values['version_handling'], $values['language']);
    if ($values['version_handling'] == 'version' && module_exists('locale')) {
      $languages = locale_language_list();
      foreach ($languages as $language_id => $language_name) {
        db_insert('gdpr_consent_conditions')
          ->fields(array(
          'version' => $version['version'],
          'revision' => $version['revision'],
          'language' => $language_id,
          'conditions' => $values['conditions']['value'],
          'data_details' => $values['data_details']['value'],
          'date' => time(),
          'changes' => $values['changes'],
          'format' => $values['conditions']['format'],
          'format_details' => $values['data_details']['format'],
        ))
          ->execute();
        drupal_set_message(t('Consent has been saved for language: @language_name', array(
          '@language_name' => $language_name,
        )));
      }
    }
    else {
      db_insert('gdpr_consent_conditions')
        ->fields(array(
        'version' => $version['version'],
        'revision' => $version['revision'],
        'language' => $values['language'],
        'conditions' => $values['conditions']['value'],
        'data_details' => $values['data_details']['value'],
        'date' => time(),
        'changes' => $values['changes'],
        'format' => $values['conditions']['format'],
        'format_details' => $values['data_details']['format'],
      ))
        ->execute();
      drupal_set_message(t('Consent has been saved.'));
    }
  }

  // Empty all cache.
  cache_clear_all();
}