This project does not seem to handle request data directly as such no vulnerable execution paths were found.
include
, or for example
via PHP's auto-loading mechanism.
These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
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 | View Code Duplication | case 'donation': |
|
0 ignored issues
–
show
|
|||
30 | $progress = $goal ? round( ( $income / $goal ) * 100, 2 ) : 0; |
||
31 | $progress_bar_value = $income >= $goal ? 100 : $progress; |
||
32 | break; |
||
33 | |||
34 | View Code Duplication | case 'donors': |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
35 | $progress_bar_value = $goal ? round( ( $income / $goal ) * 100, 2 ) : 0; |
||
36 | $progress = $progress_bar_value; |
||
37 | break; |
||
38 | |||
39 | View Code Duplication | case 'percentage': |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
40 | $progress = $goal ? round( ( $income / $goal ) * 100, 2 ) : 0; |
||
41 | $progress_bar_value = $income >= $goal ? 100 : $progress; |
||
42 | break; |
||
43 | |||
44 | View Code Duplication | default: |
|
0 ignored issues
–
show
This code seems to be duplicated across your project.
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation. You can also find more detailed suggestions in the “Code” section of your repository. ![]() |
|||
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 | // Get formatted amount. |
||
94 | $income = give_human_format_large_amount( give_format_amount( $income, $income_format_args ), array( 'currency' => $form_currency ) ); |
||
95 | $goal = give_human_format_large_amount( give_format_amount( $goal, $goal_format_args ), array( 'currency' => $form_currency ) ); |
||
96 | |||
97 | echo sprintf( /* translators: 1: amount of income raised 2: goal target amount. */ |
||
0 ignored issues
–
show
|
|||
98 | __( '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> raised', 'give' ), give_currency_filter( $income, array( 'form_id' => $form_id ) ), give_currency_filter( $goal, array( 'form_id' => $form_id ) ) ); |
||
0 ignored issues
–
show
|
|||
99 | |||
100 | elseif ( 'percentage' === $goal_format ) : |
||
101 | |||
102 | echo sprintf( /* translators: %s: percentage of the amount raised compared to the goal target */ |
||
0 ignored issues
–
show
|
|||
103 | __( '<span class="give-percentage">%s%%</span> funded', 'give' ), round( $progress ) ); |
||
0 ignored issues
–
show
|
|||
104 | |||
105 | elseif ( 'donation' === $goal_format ) : |
||
106 | |||
107 | echo sprintf( /* translators: 1: total number of donations completed 2: total number of donations set as goal */ |
||
0 ignored issues
–
show
|
|||
108 | _n( '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donation', '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donations', $goal, 'give' ), $income, $goal ); |
||
0 ignored issues
–
show
|
|||
109 | |||
110 | elseif ( 'donors' === $goal_format ) : |
||
111 | |||
112 | echo sprintf( /* translators: 1: total number of donors completed 2: total number of donors set as goal */ |
||
0 ignored issues
–
show
|
|||
113 | _n( '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donation', '<span class="income">%1$s</span> of <span class="goal-text">%2$s</span> donors', $goal, 'give' ), $income, $goal ); |
||
0 ignored issues
–
show
|
|||
114 | |||
115 | endif; |
||
116 | ?> |
||
117 | </div> |
||
118 | <?php endif; ?> |
||
119 | |||
120 | |||
121 | <?php if ( ! empty( $show_bar ) ) : ?> |
||
122 | <div class="give-progress-bar" role="progressbar" aria-valuemin="0" aria-valuemax="100" |
||
123 | aria-valuenow="<?php echo esc_attr( $progress_bar_value ); ?>"> |
||
124 | <span style="width: <?php echo esc_attr( $progress_bar_value ); ?>%;<?php if ( ! empty( $color ) ) { |
||
125 | echo 'background-color:' . $color; |
||
0 ignored issues
–
show
|
|||
126 | } ?>"></span> |
||
127 | </div><!-- /.give-progress-bar --> |
||
128 | <?php endif; ?> |
||
129 | |||
130 | </div><!-- /.goal-progress --> |
||
131 |
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.