| @@ -1,13 +1,16 @@ | ||
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | namespace Give\Tracking\TrackingData; |
| 4 | 4 | |
| 5 | +use Give\DonationForms\Models\DonationForm; | |
| 5 | 6 | use Give\Framework\Database\DB; |
| 6 | 7 | use Give\Helpers\ArrayDataSet; |
| 7 | 8 | use Give\Helpers\Form\Template; |
| 9 | +use Give\Helpers\Form\Utils; | |
| 8 | 10 | use Give\Tracking\Contracts\TrackData; |
| 9 | 11 | use Give\Tracking\Helpers\DonationStatuses; |
| 12 | +use Give\Tracking\Helpers\FormBlocks; | |
| 10 | 13 | use Give\Tracking\Repositories\TrackEvents; |
| 11 | 14 | |
| 12 | 15 | /** |
| 13 | 16 | * Class DonationFormsData |
| @@ -44,9 +47,9 @@ | ||
| 44 | 47 | public function get() |
| 45 | 48 | { |
| 46 | 49 | $this->setFormIds(); |
| 47 | 50 | |
| 48 | - if ( ! $this->formIds) { | |
| 51 | + if (! $this->formIds) { | |
| 49 | 52 | return []; |
| 50 | 53 | } |
| 51 | 54 | |
| 52 | 55 | $this->setRevenues() |
| @@ -57,14 +60,16 @@ | ||
| 57 | 60 | |
| 58 | 61 | /** |
| 59 | 62 | * Get forms data. |
| 60 | 63 | * |
| 64 | + * @since 3.10.0 Add check for event block. | |
| 65 | + * @since 3.0.0 Add support for v3 forms | |
| 61 | 66 | * @since 2.10.0 |
| 62 | 67 | * @return array |
| 63 | 68 | */ |
| 64 | 69 | protected function getData() |
| 65 | 70 | { |
| 66 | - if ( ! $this->formIds) { | |
| 71 | + if (! $this->formIds) { | |
| 67 | 72 | return []; |
| 68 | 73 | } |
| 69 | 74 | |
| 70 | 75 | $data = []; |
| @@ -69,20 +74,18 @@ | ||
| 69 | 74 | |
| 70 | 75 | $data = []; |
| 71 | 76 | |
| 72 | 77 | foreach ($this->formIds as $formId) { |
| 73 | - $formTemplate = Template::getActiveID($formId); | |
| 74 | - | |
| 75 | 78 | $temp = [ |
| 76 | 79 | 'form_id' => (int)$formId, |
| 77 | 80 | 'form_url' => untrailingslashit(get_permalink($formId)), |
| 78 | 81 | 'form_name' => get_post_field('post_name', $formId, 'db'), |
| 79 | 82 | 'form_type' => give()->form_meta->get_meta($formId, '_give_price_option', true), |
| 80 | - 'form_template' => ! $formTemplate || 'legacy' === $formTemplate ? 'legacy' : $formTemplate, | |
| 83 | + 'form_template' => $this->getFormTemplate($formId), | |
| 81 | 84 | 'donor_count' => $this->formDonorCounts[$formId], |
| 82 | 85 | 'revenue' => $this->formRevenues[$formId], |
| 86 | + 'event_block' => (int) FormBlocks::formId($formId)->hasBlock('givewp/event-tickets'), | |
| 83 | 87 | ]; |
| 84 | - | |
| 85 | 88 | $this->addAddonsInformation($temp, $formId); |
| 86 | 89 | $data[] = $temp; |
| 87 | 90 | } |
| 88 | 91 | |
| @@ -238,6 +241,26 @@ | ||
| 238 | 241 | $formId |
| 239 | 242 | ), |
| 240 | 243 | ] |
| 241 | 244 | ); |
| 245 | + } | |
| 246 | + | |
| 247 | + /** | |
| 248 | + * This function is used to get the form template. | |
| 249 | + * | |
| 250 | + * @since 3.0.0 | |
| 251 | + */ | |
| 252 | + private function getFormTemplate(int $formId): string | |
| 253 | + { | |
| 254 | + if (Utils::isV3Form($formId)) { | |
| 255 | + /* @var DonationForm $form */ | |
| 256 | + $form = DonationForm::find($formId); | |
| 257 | + | |
| 258 | + return $form->settings->designId . ' (V3)'; | |
| 259 | + } | |
| 260 | + | |
| 261 | + $formTemplate = Template::getActiveID($formId); | |
| 262 | + return ( ! $formTemplate || 'legacy' === $formTemplate ) | |
| 263 | + ? 'legacy' | |
| 264 | + : $formTemplate; | |
| 242 | 265 | } |
| 243 | 266 | } |