Mercurial > hg > isophonics-drupal-site
diff core/modules/contact/src/Entity/ContactForm.php @ 0:4c8ae668cc8c
Initial import (non-working)
author | Chris Cannam |
---|---|
date | Wed, 29 Nov 2017 16:09:58 +0000 |
parents | |
children | 129ea1e6d783 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/contact/src/Entity/ContactForm.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,187 @@ +<?php + +namespace Drupal\contact\Entity; + +use Drupal\Core\Config\Entity\ConfigEntityBundleBase; +use Drupal\contact\ContactFormInterface; +use Drupal\Core\Url; + +/** + * Defines the contact form entity. + * + * @ConfigEntityType( + * id = "contact_form", + * label = @Translation("Contact form"), + * handlers = { + * "access" = "Drupal\contact\ContactFormAccessControlHandler", + * "list_builder" = "Drupal\contact\ContactFormListBuilder", + * "form" = { + * "add" = "Drupal\contact\ContactFormEditForm", + * "edit" = "Drupal\contact\ContactFormEditForm", + * "delete" = "Drupal\Core\Entity\EntityDeleteForm" + * } + * }, + * config_prefix = "form", + * admin_permission = "administer contact forms", + * bundle_of = "contact_message", + * entity_keys = { + * "id" = "id", + * "label" = "label" + * }, + * links = { + * "delete-form" = "/admin/structure/contact/manage/{contact_form}/delete", + * "edit-form" = "/admin/structure/contact/manage/{contact_form}", + * "collection" = "/admin/structure/contact", + * "canonical" = "/contact/{contact_form}", + * }, + * config_export = { + * "id", + * "label", + * "recipients", + * "reply", + * "weight", + * "message", + * "redirect", + * } + * ) + */ +class ContactForm extends ConfigEntityBundleBase implements ContactFormInterface { + + /** + * The form ID. + * + * @var string + */ + protected $id; + + /** + * The human-readable label of the category. + * + * @var string + */ + protected $label; + + /** + * The message displayed to user on form submission. + * + * @var string + */ + protected $message; + + /** + * List of recipient email addresses. + * + * @var array + */ + protected $recipients = []; + + /** + * The path to redirect to on form submission. + * + * @var string + */ + protected $redirect; + + /** + * An auto-reply message. + * + * @var string + */ + protected $reply = ''; + + /** + * The weight of the category. + * + * @var int + */ + protected $weight = 0; + + /** + * {@inheritdoc} + */ + public function getMessage() { + return $this->message; + } + + /** + * {@inheritdoc} + */ + public function setMessage($message) { + $this->message = $message; + return $this; + } + + /** + * {@inheritdoc} + */ + public function getRecipients() { + return $this->recipients; + } + + /** + * {@inheritdoc} + */ + public function setRecipients($recipients) { + $this->recipients = $recipients; + return $this; + } + + /** + * {@inheritdoc} + */ + public function getRedirectPath() { + return $this->redirect; + } + + /** + * {@inheritdoc} + */ + public function getRedirectUrl() { + if ($this->redirect) { + $url = Url::fromUserInput($this->redirect); + } + else { + $url = Url::fromRoute('<front>'); + } + return $url; + } + + /** + * {@inheritdoc} + */ + public function setRedirectPath($redirect) { + $this->redirect = $redirect; + return $this; + } + + /** + * {@inheritdoc} + */ + public function getReply() { + return $this->reply; + } + + /** + * {@inheritdoc} + */ + public function setReply($reply) { + $this->reply = $reply; + return $this; + } + + /** + * {@inheritdoc} + */ + public function getWeight() { + return $this->weight; + } + + /** + * {@inheritdoc} + */ + public function setWeight($weight) { + $this->weight = $weight; + return $this; + } + +}