@@ 109-143 (lines=35) @@ | ||
106 | * |
|
107 | * @return string |
|
108 | */ |
|
109 | protected function resolve(TemplateData $data, $field, $property = Constants::FIELD_TYPE_TEXT) |
|
110 | { |
|
111 | $rendered = ''; |
|
112 | if ($data->getTemplateWrapper()->hasBlock($field)) { |
|
113 | $rendered = $data->getTemplateWrapper()->renderBlock( |
|
114 | $field, |
|
115 | [ |
|
116 | 'event' => $data->getEvent(), |
|
117 | 'collected_fields' => $data->getEvent()->getInformationCollectionStruct()->getCollectedFields(), |
|
118 | 'content' => $data->getContent(), |
|
119 | ] |
|
120 | ); |
|
121 | ||
122 | $rendered = trim($rendered); |
|
123 | } |
|
124 | ||
125 | if (!empty($rendered)) { |
|
126 | return $rendered; |
|
127 | } |
|
128 | ||
129 | $content = $data->getContent(); |
|
130 | if (array_key_exists($field, $content->fields) && |
|
131 | !$this->fieldHelper->isFieldEmpty($content, $field) |
|
132 | ) { |
|
133 | $fieldValue = $this->translationHelper->getTranslatedField($content, $field); |
|
134 | ||
135 | return $fieldValue->value->{$property}; |
|
136 | } |
|
137 | ||
138 | if (!empty($this->config[ConfigurationConstants::DEFAULT_VARIABLES][$field])) { |
|
139 | return $this->config[ConfigurationConstants::DEFAULT_VARIABLES][$field]; |
|
140 | } |
|
141 | ||
142 | throw new MissingValueException($field); |
|
143 | } |
|
144 | ||
145 | /** |
|
146 | * Returns resolved email parameter. |
|
@@ 153-187 (lines=35) @@ | ||
150 | * |
|
151 | * @return string |
|
152 | */ |
|
153 | protected function resolveEmail(TemplateData $data, $field) |
|
154 | { |
|
155 | $rendered = ''; |
|
156 | if ($data->getTemplateWrapper()->hasBlock($field)) { |
|
157 | $rendered = $data->getTemplateWrapper()->renderBlock( |
|
158 | $field, |
|
159 | [ |
|
160 | 'event' => $data->getEvent(), |
|
161 | 'collected_fields' => $data->getEvent()->getInformationCollectionStruct()->getCollectedFields(), |
|
162 | 'content' => $data->getContent(), |
|
163 | ] |
|
164 | ); |
|
165 | ||
166 | $rendered = trim($rendered); |
|
167 | } |
|
168 | ||
169 | if (!empty($rendered) && filter_var($rendered, FILTER_VALIDATE_EMAIL)) { |
|
170 | return $rendered; |
|
171 | } |
|
172 | ||
173 | $content = $data->getContent(); |
|
174 | if (array_key_exists($field, $content->fields) && |
|
175 | !$this->fieldHelper->isFieldEmpty($content, $field) |
|
176 | ) { |
|
177 | $fieldValue = $this->translationHelper->getTranslatedField($content, $field); |
|
178 | ||
179 | return $fieldValue->value->email; |
|
180 | } |
|
181 | ||
182 | if (!empty($this->config[ConfigurationConstants::DEFAULT_VARIABLES][$field])) { |
|
183 | return $this->config[ConfigurationConstants::DEFAULT_VARIABLES][$field]; |
|
184 | } |
|
185 | ||
186 | throw new MissingValueException($field); |
|
187 | } |
|
188 | ||
189 | /** |
|
190 | * Returns resolved template name. |