FeedForm.php 1012 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace Drupal\aggregator;
  3. use Drupal\Core\Entity\ContentEntityForm;
  4. use Drupal\Core\Form\FormStateInterface;
  5. use Drupal\Core\Url;
  6. /**
  7. * Form handler for the aggregator feed edit forms.
  8. *
  9. * @internal
  10. */
  11. class FeedForm extends ContentEntityForm {
  12. /**
  13. * {@inheritdoc}
  14. */
  15. public function save(array $form, FormStateInterface $form_state) {
  16. $feed = $this->entity;
  17. $status = $feed->save();
  18. $label = $feed->label();
  19. $view_link = $feed->link($label, 'canonical');
  20. if ($status == SAVED_UPDATED) {
  21. $this->messenger()->addStatus($this->t('The feed %feed has been updated.', ['%feed' => $view_link]));
  22. $form_state->setRedirectUrl($feed->urlInfo('canonical'));
  23. }
  24. else {
  25. $this->logger('aggregator')->notice('Feed %feed added.', ['%feed' => $feed->label(), 'link' => $this->l($this->t('View'), new Url('aggregator.admin_overview'))]);
  26. $this->messenger()->addStatus($this->t('The feed %feed has been added.', ['%feed' => $view_link]));
  27. }
  28. }
  29. }