Version 1
[yaffs-website] / web / core / modules / image / src / Form / ImageStyleFlushForm.php
diff --git a/web/core/modules/image/src/Form/ImageStyleFlushForm.php b/web/core/modules/image/src/Form/ImageStyleFlushForm.php
new file mode 100644 (file)
index 0000000..1326f88
--- /dev/null
@@ -0,0 +1,50 @@
+<?php
+
+namespace Drupal\image\Form;
+
+use Drupal\Core\Entity\EntityConfirmFormBase;
+use Drupal\Core\Form\FormStateInterface;
+
+/**
+ * Form controller for image style flush.
+ */
+class ImageStyleFlushForm extends EntityConfirmFormBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getQuestion() {
+    return $this->t('Are you sure you want to apply the updated %name image effect to all images?', ['%name' => $this->entity->label()]);
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDescription() {
+    return $this->t('This operation does not change the original images but the copies created for this style will be recreated.');
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getConfirmText() {
+    return $this->t('Flush');
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getCancelUrl() {
+    return $this->entity->urlInfo('collection');
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function submitForm(array &$form, FormStateInterface $form_state) {
+    $this->entity->flush();
+    drupal_set_message($this->t('The image style %name has been flushed.', ['%name' => $this->entity->label()]));
+    $form_state->setRedirectUrl($this->getCancelUrl());
+  }
+
+}