PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 3.19.4
GiveWP – Donation Plugin and Fundraising Platform v3.19.4
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 / src / Views / Admin / DashboardWidgets / Reports.php
give / src / Views / Admin / DashboardWidgets Last commit date
templates 4 years ago Reports.php 2 years ago
Reports.php
104 lines
1 <?php
2
3 /**
4 * Reports Dashboard Widgets class
5 *
6 * @package Give
7 */
8
9 namespace Give\Views\Admin\DashboardWidgets;
10
11 defined('ABSPATH') || exit;
12
13 /**
14 * Manages reports dashboard widget view
15 */
16 class Reports
17 {
18 /**
19 * Initialize Reports Dashboard Widget
20 */
21 public function init()
22 {
23 add_action('wp_dashboard_setup', [$this, 'add_dashboard_widget']);
24 add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']);
25 }
26
27 // Add dashboard widget
28
29 public function add_dashboard_widget()
30 {
31 $reportsURL = admin_url('/edit.php?post_type=give_forms&page=give-reports');
32 $reportsStr = __(
33 'GiveWP Donations: Reports',
34 'give'
35 ) . '<a class="givewp-reports-link" href="' . $reportsURL . '">' . __(
36 'Visit Reports',
37 'give'
38 ) . '</a>';
39
40 if (current_user_can(apply_filters('give_dashboard_stats_cap', 'view_give_reports'))) {
41 wp_add_dashboard_widget(
42 'givewp_reports_widget',
43 $reportsStr,
44 [$this, 'render_template']
45 );
46 }
47 }
48
49 // Enqueue app scripts
50 public function enqueue_scripts($base)
51 {
52 if ($base !== 'index.php') {
53 return;
54 }
55
56 wp_enqueue_script(
57 'give-admin-reports-widget-js',
58 GIVE_PLUGIN_URL . 'assets/dist/js/admin-reports-widget.js',
59 ['wp-element', 'wp-api', 'wp-i18n'],
60 GIVE_VERSION,
61 true
62 );
63 wp_localize_script(
64 'give-admin-reports-widget-js',
65 'giveReportsData',
66 [
67 'newFormUrl' => admin_url('/post-new.php?post_type=give_forms'),
68 'allTimeStart' => $this->get_all_time_start(),
69 'currency' => give_get_currency(),
70 'testMode' => give_is_test_mode(),
71 'assetsUrl' => GIVE_PLUGIN_URL . 'assets/dist',
72 ]
73 );
74 wp_set_script_translations( 'give-admin-reports-widget-js', 'give' );
75 }
76
77 public function get_all_time_start()
78 {
79 $start = date_create('01/01/2015');
80 $end = date_create();
81
82 // Setup donation query args (get sanitized start/end date from request)
83 $args = [
84 'number' => 1,
85 'paged' => 1,
86 'orderby' => 'date',
87 'order' => 'ASC',
88 'start_date' => $start->format('Y-m-d H:i:s'),
89 'end_date' => $end->format('Y-m-d H:i:s'),
90 ];
91
92 // Get array of 50 recent donations
93 $donations = new \Give_Payments_Query($args);
94 $donations = $donations->get_payments();
95
96 return isset($donations[0]) ? $donations[0]->date : $start->format('Y-m-d H:i:s');
97 }
98
99 public function render_template()
100 {
101 include_once GIVE_PLUGIN_DIR . 'src/Views/Admin/DashboardWidgets/templates/reports-template.php';
102 }
103 }
104