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 / DonationSummary / SummaryView.php
give / src / DonationSummary Last commit date
resources 3 years ago Assets.php 1 year ago ServiceProvider.php 5 months ago SummaryView.php 5 months 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 4.14.0 load frontend assets
60 * @since 2.17.0
61 */
62 public function render()
63 {
64 give(Assets::class)->loadFrontendAssets();
65
66 do_action( 'give_donation_summary_top' );
67 include 'resources/views/summary.php';
68 do_action( 'give_donation_summary_bottom' );
69 }
70
71 public function getPrimaryColor()
72 {
73 return $this->templateOptions['visual_appearance']['primary_color'];
74 }
75
76 /**
77 * @since 2.17.0
78 * @return string
79 */
80 public function getFormTemplateLocation()
81 {
82 if (isset($this->templateOptions['payment_information']) && isset($this->templateOptions['payment_information']['donation_summary_location'])) {
83 return $this->templateOptions['payment_information']['donation_summary_location'];
84 }
85
86 return 'give_donation_form_before_submit'; // Default location.
87 }
88
89 /**
90 * @since 2.17.0
91 * @return string
92 */
93 public function getSummaryHeading()
94 {
95 if (isset($this->templateOptions['payment_information']) && isset($this->templateOptions['payment_information']['donation_summary_heading'])) {
96 return $this->templateOptions['payment_information']['donation_summary_heading'];
97 }
98
99 return '';
100 }
101
102 /**
103 * @since 2.17.0
104 * @return bool
105 */
106 public function isDonationSummaryEnabled()
107 {
108 return isset($this->templateOptions['payment_information'])
109 && isset($this->templateOptions['payment_information']['donation_summary_enabled'])
110 && give_is_setting_enabled($this->templateOptions['payment_information']['donation_summary_enabled']);
111 }
112
113 /**
114 * @since 2.17.0
115 * @return bool
116 */
117 protected function isFeeRecoveryEnabled()
118 {
119 if (class_exists('\GiveFeeRecovery\Helpers\Form\Form')) {
120 return \GiveFeeRecovery\Helpers\Form\Form::canRecoverFee($this->formID);
121 }
122
123 return false;
124 }
125
126 /**
127 * @since 2.19.0 - remove check for Give_Recurring
128 * @return bool
129 * @since 2.17.0
130 */
131 protected function isRecurringEnabled()
132 {
133 return give_recurring_is_recurring($this->formID);
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