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