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