PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 2.3.1
GiveWP – Donation Plugin and Fundraising Platform v2.3.1
4.18.0 4.17.0 4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 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 All 257 releases
give / includes / admin / dashboard-widgets.php

dashboard-widgets.php in GiveWP – Donation Plugin and Fundraising Platform 2.3.1, at includes/admin/dashboard-widgets.php

160 lines 4.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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_dashboard_sales_widget' );
26 }
27 }
28
29 add_action( 'wp_dashboard_setup', 'give_register_dashboard_widgets', 10 );
30
31 /**
32 * Sales Summary Dashboard Widget
33 *
34 * Builds and renders the statistics dashboard widget. This widget displays the current month's donations.
35 *
36 * @since 1.0
37 * @return void
38 */
39 function give_dashboard_sales_widget() {
40
41 if ( ! current_user_can( apply_filters( 'give_dashboard_stats_cap', 'view_give_reports' ) ) ) {
42 return;
43 }
44 $stats = new Give_Payment_Stats(); ?>
45
46 <div class="give-dashboard-widget">
47
48 <div class="give-dashboard-today give-clearfix">
49 <h3 class="give-dashboard-date-today"><?php echo date_i18n( _x( 'F j, Y', 'dashboard widget', 'give' ) ); ?></h3>
50
51 <p class="give-dashboard-happy-day"><?php
52 printf(
53 /* translators: %s: day of the week */
54 __( 'Happy %s!', 'give' ),
55 date_i18n( 'l', current_time( 'timestamp' ) )
56 );
57 ?></p>
58
59 <p class="give-dashboard-today-earnings"><?php
60 $earnings_today = $stats->get_earnings( 0, 'today', false );
61 echo give_currency_filter( give_format_amount( $earnings_today, array( 'sanitize' => false ) ) );
62 ?></p>
63
64 <p class="give-donations-today"><?php
65 $donations_today = $stats->get_sales( 0, 'today', false );
66 printf(
67 /* translators: %s: daily donation count */
68 __( '%s donations today', 'give' ),
69 give_format_amount( $donations_today, array( 'decimal' => false, 'sanitize' => false ) )
70 );
71 ?></p>
72
73 </div>
74
75
76 <table class="give-table-stats">
77 <thead style="display: none;">
78 <tr>
79 <th><?php _e( 'This Week', 'give' ); ?></th>
80 <th><?php _e( 'This Month', 'give' ); ?></th>
81 <th><?php _e( 'Past 30 Days', 'give' ); ?></th>
82 </tr>
83 </thead>
84 <tbody>
85 <tr id="give-table-stats-tr-1">
86 <td>
87 <p class="give-dashboard-stat-total"><?php echo give_currency_filter( give_format_amount( $stats->get_earnings( 0, 'this_week' ), array( 'sanitize' => false ) ) ); ?></p>
88
89 <p class="give-dashboard-stat-total-label"><?php _e( 'This Week', 'give' ); ?></p>
90 </td>
91 <td>
92 <p class="give-dashboard-stat-total"><?php echo give_currency_filter( give_format_amount( $stats->get_earnings( 0, 'this_month' ), array( 'sanitize' => false ) ) ); ?></p>
93
94 <p class="give-dashboard-stat-total-label"><?php _e( 'This Month', 'give' ); ?></p>
95 </td>
96 </tr>
97 <tr id="give-table-stats-tr-2">
98 <td>
99 <p class="give-dashboard-stat-total"><?php echo give_currency_filter( give_format_amount( $stats->get_earnings( 0, 'last_month' ), array( 'sanitize' => false ) ) ) ?></p>
100
101 <p class="give-dashboard-stat-total-label"><?php _e( 'Last Month', 'give' ); ?></p>
102 </td>
103 <td>
104 <p class="give-dashboard-stat-total"><?php echo give_currency_filter( give_format_amount( $stats->get_earnings( 0, 'this_quarter' ), array( 'sanitize' => false ) ) ) ?></p>
105
106 <p class="give-dashboard-stat-total-label"><?php _e( 'This Quarter', 'give' ); ?></p>
107 </td>
108 </tr>
109 </tbody>
110 </table>
111
112 </div>
113
114 <?php
115 }
116
117 /**
118 * Add donation forms count to dashboard "At a glance" widget
119 *
120 * @since 1.0
121 *
122 * @param $items
123 *
124 * @return array
125 */
126 function give_dashboard_at_a_glance_widget( $items ) {
127
128 $num_posts = wp_count_posts( 'give_forms' );
129
130 if ( $num_posts && $num_posts->publish ) {
131
132 $text = sprintf(
133 /* translators: %s: number of posts published */
134 _n( '%s Give Form', '%s Give Forms', $num_posts->publish, 'give' ),
135 $num_posts->publish
136 );
137
138 $text = sprintf( $text, number_format_i18n( $num_posts->publish ) );
139
140 if ( current_user_can( 'edit_give_forms', get_current_user_id() ) ) {
141 $text = sprintf(
142 '<a class="give-forms-count" href="%1$s">%2$s</a>',
143 admin_url( 'edit.php?post_type=give_forms' ),
144 $text
145 );
146 } else {
147 $text = sprintf(
148 '<span class="give-forms-count">%1$s</span>',
149 $text
150 );
151 }
152
153 $items[] = $text;
154 }
155
156 return $items;
157 }
158
159 add_filter( 'dashboard_glance_items', 'give_dashboard_at_a_glance_widget', 1, 1 );
160