PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.9
GiveWP – Donation Plugin and Fundraising Platform v4.16.9
4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 All 255 releases
← All changes | src/Tracking/TrackingData/DonationFormsData.php +29 -6 2.30.04.16.9 View file →
@@ -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 }