PluginProbe
Activity Logs, User Activity Tracking, Multisite Activity Log from Logtivity / 1.0
Activity Logs, User Activity Tracking, Multisite Activity Log from Logtivity v1.0
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 1.6.1 All 66 releases
logtivity / Logs / Memberpress / Logtivity_Memberpress.php

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

93 lines 2.5 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 }
13
14 public function freeSubscriptionCreated($event)
15 {
16 $user = $event->get_data();
17 $subscription = $this->getSubscription($user);
18
19 if (!$subscription) {
20 return;
21 }
22
23 if ($subscription->gateway != 'free') {
24 return;
25 }
26
27 $product = $subscription->product();
28
29 return (new Logtivity_Logger($user->ID))
30 ->setAction('Memberpress. Free Subscription Created')
31 ->addMeta('Membership Product', $product->post_title)
32 ->send();
33 }
34
35 protected function getSubscription($user)
36 {
37 foreach ($user->subscriptions() as $subscription) {
38 return $subscription;
39 }
40
41 return null;
42 }
43
44 public function subscriptionCreated($event)
45 {
46 $subscription = $event->get_data();
47 $user = $subscription->user();
48 $product = $subscription->product();
49 $paymentMethod = $subscription->payment_method();
50
51 return (new Logtivity_Logger($user->ID))
52 ->setAction('Memberpress. Subscription Created')
53 ->addMeta('Transaction Total', $subscription->total)
54 ->addMeta('Membership Product', $product->post_title)
55 ->addMeta('Payment Method', $paymentMethod->name)
56 ->send();
57 }
58
59 public function subscriptionPaused($event)
60 {
61 $subscription = $event->get_data();
62 $product = $subscription->product();
63
64 return Logtivity_Logger::log()
65 ->setAction('Memberpress. Subscription Paused')
66 ->addMeta('Membership Product', $product->post_title)
67 ->send();
68 }
69
70 public function subscriptionResumed($event)
71 {
72 $subscription = $event->get_data();
73 $product = $subscription->product();
74
75 return Logtivity_Logger::log()
76 ->setAction('Memberpress. Subscription Resumed')
77 ->addMeta('Membership Product', $product->post_title)
78 ->send();
79 }
80
81 public function subscriptionStopped($event)
82 {
83 $subscription = $event->get_data();
84 $product = $subscription->product();
85
86 return Logtivity_Logger::log()
87 ->setAction('Memberpress. Subscription Stopped')
88 ->addMeta('Membership Product', $product->post_title)
89 ->send();
90 }
91 }
92
93 $Logtivity_Memberpress = new Logtivity_Memberpress;