PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / trunk
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress vtrunk
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 / ExportPage / PlansExport.php
wp-user-avatar / src / Admin / SettingsPages / Membership / ExportPage Last commit date
views 2 years ago AbstractExport.php 11 months ago CustomersExport.php 5 months ago OrdersExport.php 2 years ago PlansExport.php 2 years ago ProductSalesExport.php 2 years ago SalesEarningsExport.php 2 years ago SettingsPage.php 1 year ago SubscriptionsExport.php 2 years ago index.php 2 years ago
PlansExport.php
95 lines
1 <?php
2
3 namespace ProfilePress\Core\Admin\SettingsPages\Membership\ExportPage;
4
5 use ProfilePress\Core\Base;
6 use ProfilePress\Core\Membership\Models\Order\OrderStatus;
7
8 class PlansExport extends AbstractExport
9 {
10 protected function headers()
11 {
12 return [
13 __('Plan ID', 'wp-user-avatar'),
14 __('Name', 'wp-user-avatar'),
15 __('Description', 'wp-user-avatar'),
16 __('User Role', 'wp-user-avatar'),
17 __('Order Note', 'wp-user-avatar'),
18 __('Price', 'wp-user-avatar'),
19 __('Billing Frequency', 'wp-user-avatar'),
20 __('Subscription Length', 'wp-user-avatar'),
21 __('Total Payments', 'wp-user-avatar'),
22 __('Signup Fee', 'wp-user-avatar'),
23 __('Free Trial', 'wp-user-avatar'),
24 __('Active', 'wp-user-avatar'),
25 __('Sales', 'wp-user-avatar'),
26 __('Earnings', 'wp-user-avatar')
27 ];
28 }
29
30 public function get_data($page = 1, $limit = 9999)
31 {
32 global $wpdb;
33
34 $plan_id = $this->form['plan_id'] ?? '';
35
36 $orders_table = Base::orders_db_table();
37 $plans_table = Base::subscription_plans_db_table();
38
39 $replacements = [OrderStatus::COMPLETED, OrderStatus::COMPLETED, 1];
40 $sql = "
41 SELECT
42 pp.id,
43 pp.name,
44 pp.description,
45 pp.user_role,
46 pp.order_note,
47 pp.price,
48 pp.billing_frequency,
49 pp.subscription_length,
50 pp.total_payments,
51 pp.signup_fee,
52 pp.free_trial,
53 pp.status AS is_active,
54 (
55 SELECT
56 count(id)
57 FROM
58 $orders_table AS po
59 WHERE
60 po.plan_id = pp.id
61 AND po.status = %s) AS sales, (
62 SELECT
63 SUM(ppo.total)
64 FROM
65 $orders_table AS ppo
66 WHERE
67 ppo.plan_id = pp.id
68 AND ppo.status = %s) AS earnings
69 FROM
70 $plans_table AS pp
71 WHERE 1 = %d
72 ";
73
74 if ( ! empty($plan_id)) {
75 $replacements[] = intval($plan_id);
76 $sql .= " AND pp.id = %d";
77 }
78
79 $page = max(1, intval($page));
80
81 $offset = ($page - 1) * intval($limit);
82
83 if ($limit > 0) {
84 $sql .= " LIMIT %d";
85 $replacements[] = $limit;
86 }
87
88 if ($offset > 0) {
89 $sql .= " OFFSET %d";
90 $replacements[] = $offset;
91 }
92
93 return $wpdb->get_results($wpdb->prepare($sql, $replacements), ARRAY_A);
94 }
95 }