PluginProbe
Activity Logs, User Activity Tracking, Multisite Activity Log from Logtivity / 1.20.0
Activity Logs, User Activity Tracking, Multisite Activity Log from Logtivity v1.20.0
3.3.9 3.3.8 trunk 1.0 1.1.0 1.10.0 1.11.0 1.11.1 1.12.0 1.13.0 1.14.0 1.15.0 1.16.0 1.17.0 1.17.1 1.18.0 1.19.0 1.2.0 1.20.0 1.20.1 1.3.0 1.3.1 1.4.0 1.5.0 1.6.0 All 67 releases
logtivity / Logs / Memberpress / Logtivity_Memberpress.php

Logtivity_Memberpress.php in Activity Logs, User Activity Tracking, Multisite Activity Log from Logtivity 1.20.0, at Logs/Memberpress/Logtivity_Memberpress.php

167 lines 4.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 class Logtivity_Memberpress extends Logtivity_Abstract_Logger
4 {
5 public function __construct()
6 {
7 add_action('mepr-event-member-signup-completed', [$this, 'freeSubscriptionCreated']);
8 add_action('mepr-event-subscription-created', [$this, 'subscriptionCreated']);
9 add_action('mepr-event-subscription-paused', [$this, 'subscriptionPaused']);
10 add_action('mepr-event-subscription-resumed', [$this, 'subscriptionResumed']);
11 add_action('mepr-event-subscription-stopped', [$this, 'subscriptionStopped']);
12 add_action('init', [$this, 'profileUpdated']);
13 add_filter('mepr_create_transaction', [$this, 'transactionCreated'], 10, 3);
14 add_filter('mepr_update_transaction', [$this, 'transactionUpdated'], 10, 3);
15 add_action('mepr_email_sent', [$this, 'emailSent'], 10, 3);
16 add_action('mepr-process-options', [$this, 'settingsUpdated'], 10, 1);
17 }
18
19 public function freeSubscriptionCreated($event)
20 {
21 $user = $event->get_data();
22 $subscription = $this->getSubscription($user);
23
24 if (!$subscription) {
25 return;
26 }
27
28 if ($subscription->gateway != 'free') {
29 return;
30 }
31
32 $product = $subscription->product();
33
34 return (new Logtivity_Logger($user->ID))
35 ->setAction('Free Subscription Created')
36 ->setContext($product->post_title)
37 ->addMeta('Subscription ID', $subscription->id)
38 ->send();
39 }
40
41 protected function getSubscription($user)
42 {
43 foreach ($user->subscriptions() as $subscription) {
44 return $subscription;
45 }
46
47 return null;
48 }
49
50 public function subscriptionCreated($event)
51 {
52 $subscription = $event->get_data();
53 $user = $subscription->user();
54 $product = $subscription->product();
55 $paymentMethod = $subscription->payment_method();
56
57 return (new Logtivity_Logger($user->ID))
58 ->setAction('Subscription Created')
59 ->setContext($product->post_title)
60 ->addMeta('Transaction Total', $subscription->total)
61 ->addMeta('Payment Method', $paymentMethod->name)
62 ->addMeta('Subscription ID', $subscription->id)
63 ->send();
64 }
65
66 public function subscriptionPaused($event)
67 {
68 $subscription = $event->get_data();
69 $product = $subscription->product();
70
71 return Logtivity_Logger::log()
72 ->setAction('Subscription Paused')
73 ->setContext($product->post_title)
74 ->addMeta('Subscription ID', $subscription->id)
75 ->send();
76 }
77
78 public function subscriptionResumed($event)
79 {
80 $subscription = $event->get_data();
81 $product = $subscription->product();
82
83 return Logtivity_Logger::log()
84 ->setAction('Subscription Resumed')
85 ->setContext($product->post_title)
86 ->addMeta('Subscription ID', $subscription->id)
87 ->send();
88 }
89
90 public function subscriptionStopped($event)
91 {
92 $subscription = $event->get_data();
93 $product = $subscription->product();
94
95 return Logtivity_Logger::log()
96 ->setAction('Subscription Stopped')
97 ->setContext($product->post_title)
98 ->addMeta('Subscription ID', $subscription->id)
99 ->send();
100 }
101
102 public function profileUpdated()
103 {
104 if( MeprUtils::is_post_request() &&
105 isset($_POST['mepr-process-account']) && $_POST['mepr-process-account'] == 'Y' &&
106 isset($_POST['mepr_account_nonce']) && wp_verify_nonce($_POST['mepr_account_nonce'], 'update_account') ) {
107 $user = new Logtivity_Wp_User;
108
109 return Logtivity_Logger::log()
110 ->setAction('Profile Updated')
111 ->setContext($user->getRole())
112 ->send();
113 }
114 }
115
116 public function transactionCreated($rowId, $args, $user_id)
117 {
118 (new Logtivity_Logger($user_id))
119 ->setAction('Transaction Created')
120 ->setContext($args['status'])
121 ->addMeta('Total', $args['total'])
122 ->addMeta('Transaction ID', $rowId)
123 ->addMeta('Transaction Type', $args['txn_type'])
124 ->addMeta('Subscription ID', $args['subscription_id'])
125 ->addMeta('Product ID', $args['product_id'])
126 ->send();
127
128 return $rowId;
129 }
130
131 public function transactionUpdated($rowId, $args, $user_id)
132 {
133 $log = (new Logtivity_Logger($user_id))
134 ->setAction('Transaction Updated')
135 ->setContext($args['status']);
136
137 if ($args['total'] != '0') {
138 $log->addMeta('Total', $args['total']);
139 }
140
141 $log->addMeta('Transaction ID', $args['id'])
142 ->addMeta('Transaction Type', $args['txn_type'])
143 ->addMeta('Subscription ID', $args['subscription_id'])
144 ->addMeta('Product ID', $args['product_id'])
145 ->send();
146
147 return $rowId;
148 }
149
150 public function emailSent($MeprBaseEmail, $values, $attachments)
151 {
152 (new Logtivity_Logger())
153 ->setAction(strip_tags($MeprBaseEmail->title) . ' Sent')
154 ->setContext($MeprBaseEmail->to)
155 ->send();
156 }
157
158 public function settingsUpdated($postData)
159 {
160 Logtivity::log()
161 ->setAction('Settings Updated')
162 ->setContext('Memberpress')
163 ->send();
164 }
165 }
166
167 $Logtivity_Memberpress = new Logtivity_Memberpress;