PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / FormTaxonomies / ViewModels / FormTaxonomyViewModel.php
give / src / FormTaxonomies / ViewModels Last commit date
FormTaxonomyViewModel.php 1 year ago
FormTaxonomyViewModel.php
105 lines
1 <?php
2
3 namespace Give\FormTaxonomies\ViewModels;
4
5 /**
6 * @since 3.16.0
7 */
8 class FormTaxonomyViewModel
9 {
10 /**
11 * @since 3.16.0
12 * @var int
13 */
14 protected $formId;
15
16 /**
17 * @since 3.16.0
18 * @var array
19 */
20 protected $settings;
21
22 /**
23 * @since 3.16.0
24 */
25 public function __construct(int $formId, array $settings)
26 {
27 $this->formId = $formId;
28 $this->settings = $settings;
29 }
30
31 /**
32 * @since 3.16.0
33 */
34 public function isFormTagsEnabled(): bool
35 {
36 return give_is_setting_enabled($this->settings['tags']);
37 }
38
39 /**
40 * @since 3.16.0
41 */
42 public function isFormCategoriesEnabled(): bool
43 {
44 return give_is_setting_enabled($this->settings['categories']);
45 }
46
47 /**
48 * @since 3.16.0
49 */
50 public function getSelectedFormTags(): array
51 {
52 if(!$this->isFormTagsEnabled()) {
53 return [];
54 }
55
56 $terms = wp_get_post_terms($this->formId, 'give_forms_tag');
57
58 return array_map(function ($term) {
59 return [
60 'id' => $term->term_id,
61 'value' => $term->name,
62 ];
63 }, $terms) ?? [];
64 }
65
66 /**
67 * @since 3.16.0
68 */
69 public function getFormCategories(): array
70 {
71 if(!$this->isFormCategoriesEnabled()) {
72 return [];
73 }
74
75 $terms = get_terms([
76 'taxonomy' => 'give_forms_category',
77 'hide_empty' => false,
78 ]);
79
80 return array_map(function ($term) {
81 return [
82 'id' => $term->term_id,
83 'name' => $term->name,
84 'parent' => $term->parent,
85 ];
86 }, $terms) ?? [];
87 }
88
89 /**
90 * @since 3.16.0
91 */
92 public function getSelectedFormCategories(): array
93 {
94 if(!$this->isFormCategoriesEnabled()) {
95 return [];
96 }
97
98 $terms = wp_get_post_terms($this->formId, 'give_forms_category');
99
100 return array_map(function ($term) {
101 return $term->term_id;
102 }, $terms) ?? [];
103 }
104 }
105