PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.18.0
GiveWP – Donation Plugin and Fundraising Platform v2.18.0
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 / DonationSummary / SummaryView.php
give / src / DonationSummary Last commit date
resources 4 years ago Assets.php 4 years ago ServiceProvider.php 4 years ago SummaryView.php 4 years ago
SummaryView.php
145 lines
1 <?php
2
3 namespace Give\DonationSummary;
4
5 use Give\Helpers\Form\Template;
6
7 /**
8 * @since 2.17.0
9 */
10 class SummaryView
11 {
12
13 /**
14 * @since 2.17.0
15 * @var int
16 */
17 protected $formID;
18
19 /**
20 * @since 2.18.0
21 * @var string
22 */
23 protected $template;
24
25 /**
26 * @since 2.17.0
27 * @var array
28 */
29 protected $templateOptions;
30
31 /**
32 * @since 2.17.0
33 *
34 * @param int $formID
35 */
36 public function __invoke($formID)
37 {
38 $this->formID = $formID;
39 $this->template = Template::getActiveID($formID);
40 $this->templateOptions = Template::getOptions($formID);
41
42 /**
43 * @hook give_donation_form_user_info
44 * @hook give_donation_form_before_submit
45 */
46 add_action($this->getFormTemplateLocation(), [$this, 'maybeRender']);
47 }
48
49 public function maybeRender()
50 {
51 if ($this->isDonationSummaryEnabled()) {
52 if (in_array(Template::getActiveID($this->formID), [ 'sequoia', 'classic'])) {
53 $this->render();
54 }
55 }
56 }
57
58 /**
59 * @since 2.17.0
60 */
61 public function render()
62 {
63 do_action( 'give_donation_summary_top' );
64 include 'resources/views/summary.php';
65 do_action( 'give_donation_summary_bottom' );
66 }
67
68 public function getPrimaryColor()
69 {
70 return $this->templateOptions['visual_appearance']['primary_color'];
71 }
72
73 /**
74 * @since 2.17.0
75 * @return string
76 */
77 public function getFormTemplateLocation()
78 {
79 if (isset($this->templateOptions['payment_information']) && isset($this->templateOptions['payment_information']['donation_summary_location'])) {
80 return $this->templateOptions['payment_information']['donation_summary_location'];
81 }
82
83 return 'give_donation_form_before_submit'; // Default location.
84 }
85
86 /**
87 * @since 2.17.0
88 * @return string
89 */
90 public function getSummaryHeading()
91 {
92 if (isset($this->templateOptions['payment_information']) && isset($this->templateOptions['payment_information']['donation_summary_heading'])) {
93 return $this->templateOptions['payment_information']['donation_summary_heading'];
94 }
95
96 return '';
97 }
98
99 /**
100 * @since 2.17.0
101 * @return bool
102 */
103 public function isDonationSummaryEnabled()
104 {
105 return isset($this->templateOptions['payment_information'])
106 && isset($this->templateOptions['payment_information']['donation_summary_enabled'])
107 && give_is_setting_enabled($this->templateOptions['payment_information']['donation_summary_enabled']);
108 }
109
110 /**
111 * @since 2.17.0
112 * @return bool
113 */
114 protected function isFeeRecoveryEnabled()
115 {
116 if (class_exists('\GiveFeeRecovery\Helpers\Form\Form')) {
117 return \GiveFeeRecovery\Helpers\Form\Form::canRecoverFee($this->formID);
118 }
119
120 return false;
121 }
122
123 /**
124 * @since 2.17.0
125 * @return bool
126 */
127 protected function isRecurringEnabled()
128 {
129 if (class_exists('\Give_Recurring')) {
130 return Give_Recurring()->is_recurring($this->formID);
131 }
132
133 return false;
134 }
135
136 /**
137 * @since 2.18.0
138 * @return bool
139 */
140 protected function isMultiStep()
141 {
142 return $this->template === 'sequoia';
143 }
144 }
145