annotate core/modules/contact/src/Entity/ContactForm.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
Chris@0 1 <?php
Chris@0 2
Chris@0 3 namespace Drupal\contact\Entity;
Chris@0 4
Chris@0 5 use Drupal\Core\Config\Entity\ConfigEntityBundleBase;
Chris@0 6 use Drupal\contact\ContactFormInterface;
Chris@0 7 use Drupal\Core\Url;
Chris@0 8
Chris@0 9 /**
Chris@0 10 * Defines the contact form entity.
Chris@0 11 *
Chris@0 12 * @ConfigEntityType(
Chris@0 13 * id = "contact_form",
Chris@0 14 * label = @Translation("Contact form"),
Chris@17 15 * label_collection = @Translation("Contact forms"),
Chris@17 16 * label_singular = @Translation("contact form"),
Chris@17 17 * label_plural = @Translation("contact forms"),
Chris@17 18 * label_count = @PluralTranslation(
Chris@17 19 * singular = "@count contact form",
Chris@17 20 * plural = "@count contact forms",
Chris@17 21 * ),
Chris@0 22 * handlers = {
Chris@0 23 * "access" = "Drupal\contact\ContactFormAccessControlHandler",
Chris@0 24 * "list_builder" = "Drupal\contact\ContactFormListBuilder",
Chris@0 25 * "form" = {
Chris@0 26 * "add" = "Drupal\contact\ContactFormEditForm",
Chris@0 27 * "edit" = "Drupal\contact\ContactFormEditForm",
Chris@0 28 * "delete" = "Drupal\Core\Entity\EntityDeleteForm"
Chris@0 29 * }
Chris@0 30 * },
Chris@0 31 * config_prefix = "form",
Chris@0 32 * admin_permission = "administer contact forms",
Chris@0 33 * bundle_of = "contact_message",
Chris@0 34 * entity_keys = {
Chris@0 35 * "id" = "id",
Chris@0 36 * "label" = "label"
Chris@0 37 * },
Chris@0 38 * links = {
Chris@0 39 * "delete-form" = "/admin/structure/contact/manage/{contact_form}/delete",
Chris@0 40 * "edit-form" = "/admin/structure/contact/manage/{contact_form}",
Chris@0 41 * "collection" = "/admin/structure/contact",
Chris@0 42 * "canonical" = "/contact/{contact_form}",
Chris@0 43 * },
Chris@0 44 * config_export = {
Chris@0 45 * "id",
Chris@0 46 * "label",
Chris@0 47 * "recipients",
Chris@0 48 * "reply",
Chris@0 49 * "weight",
Chris@0 50 * "message",
Chris@0 51 * "redirect",
Chris@0 52 * }
Chris@0 53 * )
Chris@0 54 */
Chris@0 55 class ContactForm extends ConfigEntityBundleBase implements ContactFormInterface {
Chris@0 56
Chris@0 57 /**
Chris@0 58 * The form ID.
Chris@0 59 *
Chris@0 60 * @var string
Chris@0 61 */
Chris@0 62 protected $id;
Chris@0 63
Chris@0 64 /**
Chris@0 65 * The human-readable label of the category.
Chris@0 66 *
Chris@0 67 * @var string
Chris@0 68 */
Chris@0 69 protected $label;
Chris@0 70
Chris@0 71 /**
Chris@0 72 * The message displayed to user on form submission.
Chris@0 73 *
Chris@0 74 * @var string
Chris@0 75 */
Chris@0 76 protected $message;
Chris@0 77
Chris@0 78 /**
Chris@0 79 * List of recipient email addresses.
Chris@0 80 *
Chris@0 81 * @var array
Chris@0 82 */
Chris@0 83 protected $recipients = [];
Chris@0 84
Chris@0 85 /**
Chris@0 86 * The path to redirect to on form submission.
Chris@0 87 *
Chris@0 88 * @var string
Chris@0 89 */
Chris@0 90 protected $redirect;
Chris@0 91
Chris@0 92 /**
Chris@0 93 * An auto-reply message.
Chris@0 94 *
Chris@0 95 * @var string
Chris@0 96 */
Chris@0 97 protected $reply = '';
Chris@0 98
Chris@0 99 /**
Chris@0 100 * The weight of the category.
Chris@0 101 *
Chris@0 102 * @var int
Chris@0 103 */
Chris@0 104 protected $weight = 0;
Chris@0 105
Chris@0 106 /**
Chris@0 107 * {@inheritdoc}
Chris@0 108 */
Chris@0 109 public function getMessage() {
Chris@0 110 return $this->message;
Chris@0 111 }
Chris@0 112
Chris@0 113 /**
Chris@0 114 * {@inheritdoc}
Chris@0 115 */
Chris@0 116 public function setMessage($message) {
Chris@0 117 $this->message = $message;
Chris@0 118 return $this;
Chris@0 119 }
Chris@0 120
Chris@0 121 /**
Chris@0 122 * {@inheritdoc}
Chris@0 123 */
Chris@0 124 public function getRecipients() {
Chris@0 125 return $this->recipients;
Chris@0 126 }
Chris@0 127
Chris@0 128 /**
Chris@0 129 * {@inheritdoc}
Chris@0 130 */
Chris@0 131 public function setRecipients($recipients) {
Chris@0 132 $this->recipients = $recipients;
Chris@0 133 return $this;
Chris@0 134 }
Chris@0 135
Chris@0 136 /**
Chris@0 137 * {@inheritdoc}
Chris@0 138 */
Chris@0 139 public function getRedirectPath() {
Chris@0 140 return $this->redirect;
Chris@0 141 }
Chris@0 142
Chris@0 143 /**
Chris@0 144 * {@inheritdoc}
Chris@0 145 */
Chris@0 146 public function getRedirectUrl() {
Chris@0 147 if ($this->redirect) {
Chris@0 148 $url = Url::fromUserInput($this->redirect);
Chris@0 149 }
Chris@0 150 else {
Chris@0 151 $url = Url::fromRoute('<front>');
Chris@0 152 }
Chris@0 153 return $url;
Chris@0 154 }
Chris@0 155
Chris@0 156 /**
Chris@0 157 * {@inheritdoc}
Chris@0 158 */
Chris@0 159 public function setRedirectPath($redirect) {
Chris@0 160 $this->redirect = $redirect;
Chris@0 161 return $this;
Chris@0 162 }
Chris@0 163
Chris@0 164 /**
Chris@0 165 * {@inheritdoc}
Chris@0 166 */
Chris@0 167 public function getReply() {
Chris@0 168 return $this->reply;
Chris@0 169 }
Chris@0 170
Chris@0 171 /**
Chris@0 172 * {@inheritdoc}
Chris@0 173 */
Chris@0 174 public function setReply($reply) {
Chris@0 175 $this->reply = $reply;
Chris@0 176 return $this;
Chris@0 177 }
Chris@0 178
Chris@0 179 /**
Chris@0 180 * {@inheritdoc}
Chris@0 181 */
Chris@0 182 public function getWeight() {
Chris@0 183 return $this->weight;
Chris@0 184 }
Chris@0 185
Chris@0 186 /**
Chris@0 187 * {@inheritdoc}
Chris@0 188 */
Chris@0 189 public function setWeight($weight) {
Chris@0 190 $this->weight = $weight;
Chris@0 191 return $this;
Chris@0 192 }
Chris@0 193
Chris@0 194 }