PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.5.8
GiveWP – Donation Plugin and Fundraising Platform v2.5.8
4.16.3 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 / includes / admin / dashboard-widgets.php
give / includes / admin Last commit date
add-ons 6 years ago donors 6 years ago emails 6 years ago forms 6 years ago payments 6 years ago reports 7 years ago settings 6 years ago shortcodes 6 years ago tools 6 years ago upgrades 6 years ago views 6 years ago abstract-admin-settings-page.php 6 years ago admin-actions.php 6 years ago admin-filters.php 7 years ago admin-footer.php 6 years ago admin-pages.php 6 years ago class-addon-activation-banner.php 6 years ago class-admin-settings.php 6 years ago class-api-keys-table.php 7 years ago class-blank-slate.php 6 years ago class-give-admin.php 6 years ago class-give-html-elements.php 7 years ago class-give-welcome.php 6 years ago class-i18n-module.php 6 years ago dashboard-widgets.php 6 years ago give-metabox-functions.php 6 years ago import-functions.php 7 years ago misc-functions.php 6 years ago plugins.php 6 years ago setting-page-functions.php 6 years ago welcome.php 6 years ago
dashboard-widgets.php
212 lines
1 <?php
2 /**
3 * Dashboard Widgets
4 *
5 * @package Give
6 * @subpackage Admin/Dashboard
7 * @copyright Copyright (c) 2016, GiveWP
8 * @license https://opensource.org/licenses/gpl-license GNU Public License
9 * @since 1.0
10 */
11
12 // Exit if accessed directly.
13 if ( ! defined( 'ABSPATH' ) ) {
14 exit;
15 }
16
17 /**
18 * Registers the dashboard widgets
19 *
20 * @since 1.0
21 * @return void
22 */
23 function give_register_dashboard_widgets() {
24 if ( current_user_can( apply_filters( 'give_dashboard_stats_cap', 'view_give_reports' ) ) ) {
25 wp_add_dashboard_widget( 'give_dashboard_sales', __( 'Give: Donation Statistics', 'give' ), 'give_render_dashboard_stats_widget' );
26 }
27 }
28
29 add_action( 'wp_dashboard_setup', 'give_register_dashboard_widgets', 10 );
30
31
32 /**
33 * Sales Summary Dashboard Widget render callback
34 * Note: only for internal use
35 *
36 * Builds and renders the ajaxify statistics dashboard widget.
37 * This widget displays the current month's donations.
38 *
39 * @since 2.4.0
40 * @return void
41 */
42 function give_render_dashboard_stats_widget() {
43 if ( ! current_user_can( apply_filters( 'give_dashboard_stats_cap', 'view_give_reports' ) ) ) {
44 return;
45 }
46
47 ?>
48 <div id="give-dashboard-sales-widget">
49 <span class="spinner is-active" style="float: none;margin: auto 50%;padding-bottom: 15px;"></span>
50
51 <script>
52 jQuery(document).ready(function () {
53 jQuery.ajax({
54 url: ajaxurl,
55 data: {
56 action: 'give_render_dashboard_stats_widget'
57 },
58 success: function (response) {
59 jQuery('#give-dashboard-sales-widget').html(response);
60 }
61 });
62 })
63 </script>
64 </div>
65 <?php
66 }
67
68 /**
69 * Ajax handler for dashboard statistic widget render
70 * Note: only for internal use
71 *
72 * @since 2.4.0
73 */
74 function give_ajax_render_dashboard_stats_widget(){
75 ob_start();
76 give_dashboard_stats_widget();
77
78 wp_send_json( ob_get_clean() );
79
80 }
81 add_action( 'wp_ajax_give_render_dashboard_stats_widget', 'give_ajax_render_dashboard_stats_widget' );
82
83 /**
84 * Sales Summary Dashboard Widget
85 *
86 * Builds and renders the statistics dashboard widget. This widget displays the current month's donations.
87 *
88 * @since 1.0
89 * @return void
90 */
91 function give_dashboard_stats_widget() {
92
93 if ( ! current_user_can( apply_filters( 'give_dashboard_stats_cap', 'view_give_reports' ) ) ) {
94 return;
95 }
96 $stats = new Give_Payment_Stats(); ?>
97
98 <div class="give-dashboard-widget">
99
100 <div class="give-dashboard-today give-clearfix">
101 <h3 class="give-dashboard-date-today"><?php echo date_i18n( _x( 'F j, Y', 'dashboard widget', 'give' ) ); ?></h3>
102
103 <p class="give-dashboard-happy-day"><?php
104 printf(
105 /* translators: %s: day of the week */
106 __( 'Happy %s!', 'give' ),
107 date_i18n( 'l', current_time( 'timestamp' ) )
108 );
109 ?></p>
110
111 <p class="give-dashboard-today-earnings"><?php
112 $earnings_today = $stats->get_earnings( 0, 'today', false );
113 echo give_currency_filter( give_format_amount( $earnings_today, array( 'sanitize' => false ) ) );
114 ?></p>
115
116 <p class="give-donations-today"><?php
117 $donations_today = $stats->get_sales( 0, 'today', false );
118 printf(
119 /* translators: %s: daily donation count */
120 __( '%s donations today', 'give' ),
121 give_format_amount( $donations_today, array( 'decimal' => false, 'sanitize' => false ) )
122 );
123 ?></p>
124
125 </div>
126
127
128 <table class="give-table-stats">
129 <thead style="display: none;">
130 <tr>
131 <th><?php _e( 'This Week', 'give' ); ?></th>
132 <th><?php _e( 'This Month', 'give' ); ?></th>
133 <th><?php _e( 'Past 30 Days', 'give' ); ?></th>
134 </tr>
135 </thead>
136 <tbody>
137 <tr id="give-table-stats-tr-1">
138 <td>
139 <p class="give-dashboard-stat-total"><?php echo give_currency_filter( give_format_amount( $stats->get_earnings( 0, 'this_week' ), array( 'sanitize' => false ) ) ); ?></p>
140
141 <p class="give-dashboard-stat-total-label"><?php _e( 'This Week', 'give' ); ?></p>
142 </td>
143 <td>
144 <p class="give-dashboard-stat-total"><?php echo give_currency_filter( give_format_amount( $stats->get_earnings( 0, 'this_month' ), array( 'sanitize' => false ) ) ); ?></p>
145
146 <p class="give-dashboard-stat-total-label"><?php _e( 'This Month', 'give' ); ?></p>
147 </td>
148 </tr>
149 <tr id="give-table-stats-tr-2">
150 <td>
151 <p class="give-dashboard-stat-total"><?php echo give_currency_filter( give_format_amount( $stats->get_earnings( 0, 'last_month' ), array( 'sanitize' => false ) ) ) ?></p>
152
153 <p class="give-dashboard-stat-total-label"><?php _e( 'Last Month', 'give' ); ?></p>
154 </td>
155 <td>
156 <p class="give-dashboard-stat-total"><?php echo give_currency_filter( give_format_amount( $stats->get_earnings( 0, 'this_quarter' ), array( 'sanitize' => false ) ) ) ?></p>
157
158 <p class="give-dashboard-stat-total-label"><?php _e( 'This Quarter', 'give' ); ?></p>
159 </td>
160 </tr>
161 </tbody>
162 </table>
163
164 </div>
165
166 <?php
167 }
168
169 /**
170 * Add donation forms count to dashboard "At a glance" widget
171 *
172 * @since 1.0
173 *
174 * @param $items
175 *
176 * @return array
177 */
178 function give_dashboard_at_a_glance_widget( $items ) {
179
180 $num_posts = wp_count_posts( 'give_forms' );
181
182 if ( $num_posts && $num_posts->publish ) {
183
184 $text = sprintf(
185 /* translators: %s: number of posts published */
186 _n( '%s GiveWP Form', '%s GiveWP Forms', $num_posts->publish, 'give' ),
187 $num_posts->publish
188 );
189
190 $text = sprintf( $text, number_format_i18n( $num_posts->publish ) );
191
192 if ( current_user_can( 'edit_give_forms', get_current_user_id() ) ) {
193 $text = sprintf(
194 '<a class="give-forms-count" href="%1$s">%2$s</a>',
195 admin_url( 'edit.php?post_type=give_forms' ),
196 $text
197 );
198 } else {
199 $text = sprintf(
200 '<span class="give-forms-count">%1$s</span>',
201 $text
202 );
203 }
204
205 $items[] = $text;
206 }
207
208 return $items;
209 }
210
211 add_filter( 'dashboard_glance_items', 'give_dashboard_at_a_glance_widget', 1, 1 );
212