You are here

public function GoogleAnalyticsCounterSettingsForm::submitForm in Google Analytics Counter 8.3

Form submission handler.

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

Overrides ConfigFormBase::submitForm

File

src/Form/GoogleAnalyticsCounterSettingsForm.php, line 255

Class

GoogleAnalyticsCounterSettingsForm
Class GoogleAnalyticsCounterSettingsForm.

Namespace

Drupal\google_analytics_counter\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {
  $config = $this
    ->config('google_analytics_counter.settings');
  $current_queue_time = $config
    ->get('general_settings.queue_time');
  $values = $form_state
    ->getValues();
  $end_date = $this
    ->setEndDate($values);
  $config
    ->set('general_settings.cron_interval', $values['cron_interval'])
    ->set('general_settings.chunk_to_fetch', $values['chunk_to_fetch'])
    ->set('general_settings.api_dayquota', $values['api_dayquota'])
    ->set('general_settings.cache_length', $values['cache_length'] * 3600)
    ->set('general_settings.queue_time', $values['queue_time'])
    ->set('general_settings.start_date', $values['start_date'] == 'custom' ? '' : $values['start_date'])
    ->set('general_settings.end_date', $values['start_date'] == 'custom' ? '' : $end_date)
    ->set('general_settings.custom_start_date', $values['start_date'] == 'custom' ? $values['custom_start_date'] : '')
    ->set('general_settings.custom_end_date', $values['start_date'] == 'custom' ? $values['custom_end_date'] : '')
    ->save();

  // If the queue time has change the cache needs to be cleared.
  if ($current_queue_time != $values['queue_time']) {
    drupal_flush_all_caches();
    \Drupal::messenger()
      ->addMessage(t('Caches cleared.'));
  }
  parent::submitForm($form, $form_state);
}