PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.6.0
GiveWP – Donation Plugin and Fundraising Platform v2.6.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 / templates / shortcode-goal.php
give / templates Last commit date
emails 8 years ago global 7 years ago receipt 7 years ago single-give-form 7 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 7 years ago shortcode-form-grid.php 8 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 8 years ago single-give-form.php 8 years ago
shortcode-goal.php
202 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( 'give_goal_income_format_args', array(
77 'sanitize' => false,
78 'currency' => $form_currency,
79 'decimal' => false,
80 ), $form_id );
81
82 /**
83 * Filter the goal formatting arguments.
84 *
85 * @since 1.8.17
86 */
87 $goal_format_args = apply_filters( 'give_goal_amount_format_args', array(
88 'sanitize' => false,
89 'currency' => $form_currency,
90 'decimal' => false,
91 ), $form_id );
92
93 /**
94 * This filter will be used to convert the goal amounts to different currencies.
95 *
96 * @since 2.5.4
97 *
98 * @param array $amounts List of goal amounts.
99 * @param int $form_id Donation Form ID.
100 */
101 $goal_amounts = apply_filters(
102 'give_goal_amounts',
103 array(
104 $form_currency => $goal,
105 ),
106 $form_id
107 );
108
109 /**
110 * This filter will be used to convert the income amounts to different currencies.
111 *
112 * @since 2.5.4
113 *
114 * @param array $amounts List of goal amounts.
115 * @param int $form_id Donation Form ID.
116 */
117 $income_amounts = apply_filters(
118 'give_goal_raised_amounts',
119 array(
120 $form_currency => $income,
121 ),
122 $form_id
123 );
124
125 // Get human readable donation amount.
126 $income = give_human_format_large_amount( give_format_amount( $income, $income_format_args ), array( 'currency' => $form_currency ) );
127 $goal = give_human_format_large_amount( give_format_amount( $goal, $goal_format_args ), array( 'currency' => $form_currency ) );
128
129 // Format the human readable donation amount.
130 $formatted_income = give_currency_filter(
131 $income,
132 array(
133 'form_id' => $form_id,
134 )
135 );
136
137 $formatted_goal = give_currency_filter(
138 $goal,
139 array(
140 'form_id' => $form_id,
141 )
142 );
143
144 echo sprintf(
145 /* translators: 1: amount of income raised 2: goal target amount. */
146 __( '<span class="income" data-amounts="%1$s">%2$s</span> of <span class="goal-text" data-amounts="%3$s">%4$s</span> raised', 'give' ),
147 esc_attr( wp_json_encode( $income_amounts, JSON_PRETTY_PRINT ) ),
148 esc_attr( $formatted_income ),
149 esc_attr( wp_json_encode( $goal_amounts, JSON_PRETTY_PRINT ) ),
150 esc_attr( $formatted_goal )
151 );
152
153 elseif ( 'percentage' === $goal_format ) :
154
155 echo sprintf( /* translators: %s: percentage of the amount raised compared to the goal target */
156 __( '<span class="give-percentage">%s%%</span> funded', 'give' ),
157 round( $progress )
158 );
159
160 elseif ( 'donation' === $goal_format ) :
161
162 echo sprintf( /* translators: 1: total number of donations completed 2: total number of donations set as goal */
163 _n(
164 '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donation',
165 '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donations',
166 $goal,
167 'give'
168 ),
169 give_format_amount( $income, array( 'decimal' => false ) ),
170 give_format_amount( $goal, array( 'decimal' => false ) )
171 );
172
173 elseif ( 'donors' === $goal_format ) :
174
175 echo sprintf( /* translators: 1: total number of donors completed 2: total number of donors set as goal */
176 _n(
177 '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donor',
178 '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donors',
179 $goal,
180 'give'
181 ),
182 give_format_amount( $income, array( 'decimal' => false ) ),
183 give_format_amount( $goal, array( 'decimal' => false ) )
184 );
185
186 endif;
187 ?>
188 </div>
189 <?php endif; ?>
190
191
192 <?php if ( ! empty( $show_bar ) ) : ?>
193 <div class="give-progress-bar" role="progressbar" aria-valuemin="0" aria-valuemax="100"
194 aria-valuenow="<?php echo esc_attr( $progress_bar_value ); ?>">
195 <span style="width: <?php echo esc_attr( $progress_bar_value ); ?>%;<?php if ( ! empty( $color ) ) {
196 echo 'background-color:' . $color;
197 } ?>"></span>
198 </div><!-- /.give-progress-bar -->
199 <?php endif; ?>
200
201 </div><!-- /.goal-progress -->
202