public function FeedFormController::save

Overrides Drupal\Core\Entity\EntityFormController::save().

Overrides EntityFormController::save

File

drupal/core/modules/aggregator/lib/Drupal/aggregator/FeedFormController.php, line 114
Contains \Drupal\aggregator\FeedFormController.

Class

FeedFormController
Form controller for the aggregator feed edit forms.

Namespace

Drupal\aggregator

Code

public function save(array $form, array &$form_state) {
  $feed = $this->entity;
  $insert = (bool) $feed
    ->id();
  if (!empty($form_state['values']['category'])) {

    // Store category values for post save operations.
    // @see Drupal\Core\Entity\FeedStorageController::postSave()
    $feed->categories = $form_state['values']['category'];
  }
  $feed
    ->save();
  if ($insert) {
    drupal_set_message(t('The feed %feed has been updated.', array(
      '%feed' => $feed
        ->label(),
    )));
    if (arg(0) == 'admin') {
      $form_state['redirect'] = 'admin/config/services/aggregator';
    }
    else {
      $form_state['redirect'] = 'aggregator/sources/' . $feed
        ->id();
    }
  }
  else {
    watchdog('aggregator', 'Feed %feed added.', array(
      '%feed' => $feed
        ->label(),
    ), WATCHDOG_NOTICE, l(t('view'), 'admin/config/services/aggregator'));
    drupal_set_message(t('The feed %feed has been added.', array(
      '%feed' => $feed
        ->label(),
    )));
  }
}