PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
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 / src / Views / Admin / DashboardWidgets / Reports.php
give / src / Views / Admin / DashboardWidgets Last commit date
templates 4 years ago Reports.php 1 year ago
Reports.php
108 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 /**
50 * Enqueue app scripts
51 *
52 * @since 4.0.0 Replace "new form" with "new campaign form" link
53 */
54 public function enqueue_scripts($base)
55 {
56 if ($base !== 'index.php') {
57 return;
58 }
59
60 wp_enqueue_script(
61 'give-admin-reports-widget-js',
62 GIVE_PLUGIN_URL . 'build/assets/dist/js/admin-reports-widget.js',
63 ['wp-element', 'wp-api', 'wp-i18n'],
64 GIVE_VERSION,
65 true
66 );
67 wp_localize_script(
68 'give-admin-reports-widget-js',
69 'giveReportsData',
70 [
71 'newFormUrl' => admin_url('edit.php?post_type=give_forms&page=give-campaigns&new=campaign'),
72 'allTimeStart' => $this->get_all_time_start(),
73 'currency' => give_get_currency(),
74 'testMode' => give_is_test_mode(),
75 'assetsUrl' => GIVE_PLUGIN_URL . 'build/assets/dist',
76 ]
77 );
78 wp_set_script_translations( 'give-admin-reports-widget-js', 'give' );
79 }
80
81 public function get_all_time_start()
82 {
83 $start = date_create('01/01/2015');
84 $end = date_create();
85
86 // Setup donation query args (get sanitized start/end date from request)
87 $args = [
88 'number' => 1,
89 'paged' => 1,
90 'orderby' => 'date',
91 'order' => 'ASC',
92 'start_date' => $start->format('Y-m-d H:i:s'),
93 'end_date' => $end->format('Y-m-d H:i:s'),
94 ];
95
96 // Get array of 50 recent donations
97 $donations = new \Give_Payments_Query($args);
98 $donations = $donations->get_payments();
99
100 return isset($donations[0]) ? $donations[0]->date : $start->format('Y-m-d H:i:s');
101 }
102
103 public function render_template()
104 {
105 include_once GIVE_PLUGIN_DIR . 'src/Views/Admin/DashboardWidgets/templates/reports-template.php';
106 }
107 }
108