PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.17.1
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.17.1
4.17.1 4.17.0 4.16.19 4.16.18 4.16.17 4.16.16 trunk 1.0 1.0.1 1.0.2 1.1 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.5a 1.1.6 1.1.7 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4 1.4.1 1.4.2 1.5 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.7 1.7.1 1.7.2 1.8 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.1.9 2.2.10 2.2.11 2.2.12 2.2.13 2.2.14 2.2.15 2.2.16 2.2.2 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 3.0 3.1 3.1.1 3.1.10 3.1.11 3.1.12 3.1.13 3.1.14 3.1.15 3.1.16 3.1.17 3.1.18 3.1.19 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.10 3.2.11 3.2.12 3.2.13 3.2.14 3.2.15 3.2.16 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.2.8 3.2.9 4.0.0 4.0.1 4.0.2 4.0.3 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.13.3 4.13.4 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.15.0 4.15.1 4.15.10 4.15.11 4.15.12 4.15.13 4.15.14 4.15.15 4.15.16 4.15.17 4.15.18 4.15.19 4.15.2 4.15.20 4.15.20.1 4.15.21 4.15.22 4.15.23 4.15.24 4.15.25 4.15.3 4.15.4 4.15.5 4.15.6 4.15.7 4.15.8 4.15.9 4.16.0 4.16.1 4.16.10 4.16.11 4.16.12 4.16.13 4.16.14 4.16.15 4.16.2 4.16.3 4.16.4 4.16.5 4.16.6 4.16.7 4.16.8 4.16.9 4.2.0 4.3.0 4.3.1 4.3.2 4.4.0 4.4.1 4.5.0 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.6.0 4.7.0 4.8.0 4.9.0
wp-user-avatar / src / Admin / SettingsPages / Membership / DashboardPage / Revenue.php
wp-user-avatar / src / Admin / SettingsPages / Membership / DashboardPage Last commit date
AbstractReport.php 3 years ago Orders.php 3 years ago PaymentMethods.php 3 years ago Refunds.php 4 years ago ReportFilterData.php 4 years ago ReportInterval.php 4 years ago Revenue.php 4 years ago SettingsPage.php 1 year ago Taxes.php 4 years ago TopPlans.php 4 years ago index.php 4 years ago
Revenue.php
59 lines
1 <?php
2
3 namespace ProfilePress\Core\Admin\SettingsPages\Membership\DashboardPage;
4
5 use ProfilePress\Core\Membership\Models\Order\OrderStatus;
6
7 class Revenue extends AbstractReport
8 {
9 public function get_total($start_date = '', $end_date = '')
10 {
11 static $bucket = [];
12
13 $cache_key = md5('revenue_get_total' . $start_date . $end_date);
14
15 if ( ! isset($bucket[$cache_key])) {
16 $start_date = ! empty($start_date) ? $start_date : '';
17 $end_date = ! empty($end_date) ? $end_date : '';
18
19 $where_clause = $this->get_where_clause(false, $start_date, $end_date);
20
21 $bucket[$cache_key] = $this->wpdb()->get_var(
22 $this->wpdb()->prepare(
23 "SELECT SUM(total) FROM {$this->db_table} WHERE status = %s AND $where_clause", OrderStatus::COMPLETED
24 )
25 );
26 }
27
28 return ! $bucket[$cache_key] ? 0 : $bucket[$cache_key];
29 }
30
31 public function get_data()
32 {
33 $result = $this->wpdb()->get_results(
34 $this->wpdb()->prepare(
35 "SELECT SUM(total) AS order_total, {$this->get_date_column()} FROM {$this->db_table} WHERE status = %s AND {$this->get_where_clause($groupBy=true)}",
36 OrderStatus::COMPLETED
37 ),
38 'ARRAY_A'
39 );
40
41 $dataset_data = [];
42
43 foreach ($this->get_labels() as $datetime => $label) {
44
45 $data = $this->get_interval_data($result, $datetime);
46
47 $dataset_data[] = ! empty($data) ? ppress_sanitize_amount(reset($data)['order_total']) : 0;
48 }
49
50 return [
51 [
52 'data' => $dataset_data,
53 'borderColor' => 'rgb(54, 162, 235)',
54 'backgroundColor' => 'rgba(54, 162, 235, 0.5)',
55 'fill' => true
56 ]
57 ];
58 }
59 }