You are here

public function TwitterFeedsForm::submitForm in Tweet Feed 4.x

Same name and namespace in other branches
  1. 8.3 src/Form/TwitterFeedsForm.php \Drupal\tweet_feed\Form\TwitterFeedsForm::submitForm()

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/TwitterFeedsForm.php, line 219

Class

TwitterFeedsForm
Form controller for Tweet entity edit forms.

Namespace

Drupal\tweet_feed\Form

Code

public function submitForm(array &$form, FormStateInterface $form_state) {
  parent::submitForm($form, $form_state);
  $values = $form_state
    ->getValues();
  $config = $this
    ->config('tweet_feed.twitter_feeds');
  $feeds = $config
    ->get('feeds');
  if (empty($values['feed_update'])) {
    $feed_machine_name = preg_replace('/[^a-z0-9]+/', '_', strtolower($values['feed_name']));
    if (!empty($feeds[$feed_machine_name])) {
      $suffix = 1;
      do {
        $new_feed_machine_name = $new_feed_machine_name . '_' . $suffix;
        $suffix++;
      } while (!empty($feeds[$new_feed_machine_name]));
      $feed_machine_name = $new_feed_machine_name;
    }
    if (empty($feeds[$feed_machine_name])) {
      $feeds[$feed_machine_name] = [];
    }
    else {
      $feed_machine_name = $values['feed_machine_name'];
    }
  }
  else {
    $feed_machine_name = $values['feed_machine_name'];
  }
  $feeds[$feed_machine_name]['aid'] = $values['aid'];
  $feeds[$feed_machine_name]['feed_name'] = $values['feed_name'];
  $feeds[$feed_machine_name]['query_type'] = $values['query_type'];
  $feeds[$feed_machine_name]['search_term'] = $values['search_term'];
  $feeds[$feed_machine_name]['timeline_id'] = $values['timeline_id'];
  $feeds[$feed_machine_name]['list_name'] = $values['list_name'];
  $feeds[$feed_machine_name]['pull_count'] = $values['pull_count'];
  $feeds[$feed_machine_name]['new_window'] = $values['new_window'];
  $feeds[$feed_machine_name]['hash_taxonomy'] = $values['hash_taxonomy'];
  $feeds[$feed_machine_name]['clear_prior'] = $values['clear_prior'];
  $this
    ->config('tweet_feed.twitter_feeds')
    ->set('feeds', $feeds)
    ->save();
  $url = Url::fromRoute('tweet_feed.twitter_feeds');
  $form_state
    ->setRedirectUrl($url);
}