PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.18.0
GiveWP – Donation Plugin and Fundraising Platform v2.18.0
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 / Pages / Reports.php
give / src / Views / Admin / Pages Last commit date
templates 4 years ago Reports.php 4 years ago
Reports.php
129 lines
1 <?php
2
3 /**
4 * Reports Page class
5 *
6 * @package Give
7 */
8
9 namespace Give\Views\Admin\Pages;
10
11 defined('ABSPATH') || exit;
12
13 /**
14 * Manages reports admin page
15 */
16 class Reports
17 {
18 /**
19 * Initialize Reports Admin page
20 */
21 public function init()
22 {
23 add_action('admin_menu', [$this, 'add_page']);
24 add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']);
25 }
26
27 public function __construct()
28 {
29 // Do nothing
30 }
31
32 // Enqueue app scripts
33 public function enqueue_scripts($base)
34 {
35 if ($base !== 'give_forms_page_give-reports') {
36 return;
37 }
38
39 if (isset($_GET['legacy'])) {
40 $script = "
41 jQuery(document).ready(() => {
42 const anchors = [].slice.call(document.querySelectorAll('a[href*=give-reports]'));
43 anchors.forEach((anchor) => {
44 if (anchor.getAttribute('id') === 'new-reports-link') {
45 return;
46 }
47 anchor.setAttribute('href', anchor.getAttribute('href') + '&legacy=true');
48 });
49 });
50 ";
51 wp_add_inline_script('jquery', $script);
52
53 return;
54 }
55
56 wp_enqueue_style(
57 'give-admin-reports-v3-style',
58 GIVE_PLUGIN_URL . 'assets/dist/css/admin-reports.css',
59 [],
60 '0.0.1'
61 );
62 wp_enqueue_script(
63 'give-admin-reports-v3-js',
64 GIVE_PLUGIN_URL . 'assets/dist/js/admin-reports.js',
65 ['wp-element', 'wp-api', 'wp-i18n', 'wp-hooks'],
66 '0.0.2',
67 true
68 );
69 wp_set_script_translations('give-admin-reports-v3-js', 'give');
70
71 wp_localize_script(
72 'give-admin-reports-v3-js',
73 'giveReportsData',
74 [
75 'legacyReportsUrl' => admin_url('/edit.php?post_type=give_forms&page=give-reports&legacy=true'),
76 'allTimeStart' => $this->get_all_time_start(),
77 'currencies' => array_keys(give_get_currencies_list()),
78 'currency' => give_get_currency(),
79 'testMode' => give_is_test_mode(),
80 ]
81 );
82 }
83
84 // Add Reports submenu page to admin menu
85 public function add_page()
86 {
87 $render = [$this, 'render_template'];
88 if (isset($_GET['legacy'])) {
89 $render = [Give()->give_settings, 'output'];
90 }
91
92 add_submenu_page(
93 'edit.php?post_type=give_forms',
94 esc_html__('Donation Reports', 'give'),
95 esc_html__('Reports', 'give'),
96 'view_give_reports',
97 'give-reports',
98 $render
99 );
100 }
101
102 public function render_template()
103 {
104 include_once GIVE_PLUGIN_DIR . 'src/Views/Admin/Pages/templates/reports-template.php';
105 }
106
107 public function get_all_time_start()
108 {
109 $start = date_create('01/01/2015');
110 $end = date_create();
111
112 // Setup donation query args (get sanitized start/end date from request)
113 $args = [
114 'number' => 1,
115 'paged' => 1,
116 'orderby' => 'date',
117 'order' => 'ASC',
118 'start_date' => $start->format('Y-m-d H:i:s'),
119 'end_date' => $end->format('Y-m-d H:i:s'),
120 ];
121
122 // Get array of 50 recent donations
123 $donations = new \Give_Payments_Query($args);
124 $donations = $donations->get_payments();
125
126 return isset($donations[0]) ? $donations[0]->date : $start->format('Y-m-d H:i:s');
127 }
128 }
129