diff core/modules/aggregator/src/FeedForm.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 1fec387a4317
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/aggregator/src/FeedForm.php	Wed Nov 29 16:09:58 2017 +0000
@@ -0,0 +1,32 @@
+<?php
+
+namespace Drupal\aggregator;
+
+use Drupal\Core\Entity\ContentEntityForm;
+use Drupal\Core\Form\FormStateInterface;
+use Drupal\Core\Url;
+
+/**
+ * Form handler for the aggregator feed edit forms.
+ */
+class FeedForm extends ContentEntityForm {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function save(array $form, FormStateInterface $form_state) {
+    $feed = $this->entity;
+    $status = $feed->save();
+    $label = $feed->label();
+    $view_link = $feed->link($label, 'canonical');
+    if ($status == SAVED_UPDATED) {
+      drupal_set_message($this->t('The feed %feed has been updated.', ['%feed' => $view_link]));
+      $form_state->setRedirectUrl($feed->urlInfo('canonical'));
+    }
+    else {
+      $this->logger('aggregator')->notice('Feed %feed added.', ['%feed' => $feed->label(), 'link' => $this->l($this->t('View'), new Url('aggregator.admin_overview'))]);
+      drupal_set_message($this->t('The feed %feed has been added.', ['%feed' => $view_link]));
+    }
+  }
+
+}