PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.7.2
GiveWP – Donation Plugin and Fundraising Platform v2.7.2
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 / templates / shortcode-goal.php
give / templates Last commit date
emails 6 years ago global 6 years ago receipt 7 years ago single-give-form 6 years ago email-login-form.php 6 years ago history-donations.php 6 years ago payment-processing.php 6 years ago shortcode-donor-wall.php 6 years ago shortcode-form-grid.php 6 years ago shortcode-goal.php 6 years ago shortcode-login.php 6 years ago shortcode-profile-editor.php 6 years ago shortcode-receipt.php 6 years ago shortcode-register.php 8 years ago shortcode-totals-progress.php 6 years ago single-give-form.php 6 years ago
shortcode-goal.php
214 lines
1 <?php
2 /**
3 * This template is used to display the goal with [give_goal]
4 */
5
6 $form = new Give_Donate_Form( $form_id );
7 $goal_option = give_get_meta( $form->ID, '_give_goal_option', true );
8
9 // Sanity check - ensure form has pass all condition to show goal.
10 if ( ( isset( $args['show_goal'] ) && ! filter_var( $args['show_goal'], FILTER_VALIDATE_BOOLEAN ) )
11 || empty( $form->ID )
12 || ( is_singular( 'give_forms' ) && ! give_is_setting_enabled( $goal_option ) )
13 || ! give_is_setting_enabled( $goal_option ) || 0 === $form->goal ) {
14 return false;
15 }
16
17 $goal_format = give_get_form_goal_format( $form_id );
18 $price = give_get_meta( $form_id, '_give_set_price', true );
19 $color = give_get_meta( $form_id, '_give_goal_color', true );
20 $show_text = isset( $args['show_text'] ) ? filter_var( $args['show_text'], FILTER_VALIDATE_BOOLEAN ) : true;
21 $show_bar = isset( $args['show_bar'] ) ? filter_var( $args['show_bar'], FILTER_VALIDATE_BOOLEAN ) : true;
22 $goal_progress_stats = give_goal_progress_stats( $form );
23
24 $income = $goal_progress_stats['raw_actual'];
25 $goal = $goal_progress_stats['raw_goal'];
26
27 switch ( $goal_format ) {
28
29 case 'donation':
30 $progress = $goal ? round( ( $income / $goal ) * 100, 2 ) : 0;
31 $progress_bar_value = $income >= $goal ? 100 : $progress;
32 break;
33
34 case 'donors':
35 $progress_bar_value = $goal ? round( ( $income / $goal ) * 100, 2 ) : 0;
36 $progress = $progress_bar_value;
37 break;
38
39 case 'percentage':
40 $progress = $goal ? round( ( $income / $goal ) * 100, 2 ) : 0;
41 $progress_bar_value = $income >= $goal ? 100 : $progress;
42 break;
43
44 default:
45 $progress = $goal ? round( ( $income / $goal ) * 100, 2 ) : 0;
46 $progress_bar_value = $income >= $goal ? 100 : $progress;
47 break;
48
49 }
50
51 /**
52 * Filter the goal progress output
53 *
54 * @since 1.8.8
55 */
56 $progress = apply_filters( 'give_goal_amount_funded_percentage_output', $progress, $form_id, $form );
57 ?>
58 <div class="give-goal-progress">
59 <?php if ( ! empty( $show_text ) ) : ?>
60 <div class="raised">
61 <?php
62 if ( 'amount' === $goal_format ) :
63
64 /**
65 * Filter the give currency.
66 *
67 * @since 1.8.17
68 */
69 $form_currency = apply_filters( 'give_goal_form_currency', give_get_currency( $form_id ), $form_id );
70
71 /**
72 * Filter the income formatting arguments.
73 *
74 * @since 1.8.17
75 */
76 $income_format_args = apply_filters(
77 'give_goal_income_format_args',
78 array(
79 'sanitize' => false,
80 'currency' => $form_currency,
81 'decimal' => false,
82 ),
83 $form_id
84 );
85
86 /**
87 * Filter the goal formatting arguments.
88 *
89 * @since 1.8.17
90 */
91 $goal_format_args = apply_filters(
92 'give_goal_amount_format_args',
93 array(
94 'sanitize' => false,
95 'currency' => $form_currency,
96 'decimal' => false,
97 ),
98 $form_id
99 );
100
101 /**
102 * This filter will be used to convert the goal amounts to different currencies.
103 *
104 * @since 2.5.4
105 *
106 * @param array $amounts List of goal amounts.
107 * @param int $form_id Donation Form ID.
108 */
109 $goal_amounts = apply_filters(
110 'give_goal_amounts',
111 array(
112 $form_currency => $goal,
113 ),
114 $form_id
115 );
116
117 /**
118 * This filter will be used to convert the income amounts to different currencies.
119 *
120 * @since 2.5.4
121 *
122 * @param array $amounts List of goal amounts.
123 * @param int $form_id Donation Form ID.
124 */
125 $income_amounts = apply_filters(
126 'give_goal_raised_amounts',
127 array(
128 $form_currency => $income,
129 ),
130 $form_id
131 );
132
133 // Get human readable donation amount.
134 $income = give_human_format_large_amount( give_format_amount( $income, $income_format_args ), array( 'currency' => $form_currency ) );
135 $goal = give_human_format_large_amount( give_format_amount( $goal, $goal_format_args ), array( 'currency' => $form_currency ) );
136
137 // Format the human readable donation amount.
138 $formatted_income = give_currency_filter(
139 $income,
140 array(
141 'form_id' => $form_id,
142 )
143 );
144
145 $formatted_goal = give_currency_filter(
146 $goal,
147 array(
148 'form_id' => $form_id,
149 )
150 );
151
152 echo sprintf(
153 /* translators: 1: amount of income raised 2: goal target amount. */
154 __( '<span class="income" data-amounts="%1$s">%2$s</span> of <span class="goal-text" data-amounts="%3$s">%4$s</span> raised', 'give' ),
155 esc_attr( wp_json_encode( $income_amounts, JSON_PRETTY_PRINT ) ),
156 esc_attr( $formatted_income ),
157 esc_attr( wp_json_encode( $goal_amounts, JSON_PRETTY_PRINT ) ),
158 esc_attr( $formatted_goal )
159 );
160
161 elseif ( 'percentage' === $goal_format ) :
162
163 echo sprintf( /* translators: %s: percentage of the amount raised compared to the goal target */
164 __( '<span class="give-percentage">%s%%</span> funded', 'give' ),
165 round( $progress )
166 );
167
168 elseif ( 'donation' === $goal_format ) :
169
170 echo sprintf( /* translators: 1: total number of donations completed 2: total number of donations set as goal */
171 _n(
172 '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donation',
173 '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donations',
174 $goal,
175 'give'
176 ),
177 give_format_amount( $income, array( 'decimal' => false ) ),
178 give_format_amount( $goal, array( 'decimal' => false ) )
179 );
180
181 elseif ( 'donors' === $goal_format ) :
182
183 echo sprintf( /* translators: 1: total number of donors completed 2: total number of donors set as goal */
184 _n(
185 '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donor',
186 '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donors',
187 $goal,
188 'give'
189 ),
190 give_format_amount( $income, array( 'decimal' => false ) ),
191 give_format_amount( $goal, array( 'decimal' => false ) )
192 );
193
194 endif;
195 ?>
196 </div>
197 <?php endif; ?>
198
199
200 <?php if ( ! empty( $show_bar ) ) : ?>
201 <div class="give-progress-bar" role="progressbar" aria-valuemin="0" aria-valuemax="100"
202 aria-valuenow="<?php echo esc_attr( $progress_bar_value ); ?>">
203 <span style="width: <?php echo esc_attr( $progress_bar_value ); ?>%;
204 <?php
205 if ( ! empty( $color ) ) {
206 echo 'background-color:' . $color;
207 }
208 ?>
209 "></span>
210 </div><!-- /.give-progress-bar -->
211 <?php endif; ?>
212
213 </div><!-- /.goal-progress -->
214