PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.0.3
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.0.3
4.17.2 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 / Membership / StatSync.php
wp-user-avatar / src / Membership Last commit date
Controllers 4 years ago Emails 4 years ago Models 4 years ago PaymentMethods 4 years ago Repositories 4 years ago Services 4 years ago CheckoutFields.php 4 years ago CurrencyFormatter.php 4 years ago Init.php 4 years ago StatSync.php 4 years ago index.php 4 years ago
StatSync.php
77 lines
1 <?php
2
3 namespace ProfilePress\Core\Membership;
4
5 use ProfilePress\Core\Membership\Models\Customer\CustomerFactory;
6 use ProfilePress\Core\Membership\Models\Order\OrderEntity;
7 use ProfilePress\Core\Membership\Models\Order\OrderFactory;
8
9 class StatSync
10 {
11 public function __construct()
12 {
13 add_action('ppress_customer_updated', function ($customer_id) {
14 $this->core_actions(false, $customer_id);
15 });
16
17 add_action('ppress_order_completed', function (OrderEntity $order) {
18 $this->core_actions(false, $order->customer_id);
19 });
20
21 add_action('ppress_order_added', function ($result, OrderEntity $order) {
22 $this->core_actions(false, $order->customer_id);
23 }, 10, 2);
24
25 add_action('ppress_order_updated', function ($result, OrderEntity $order) {
26 $this->core_actions(false, $order->customer_id);
27 }, 10, 2);
28
29 add_action('ppress_order_deleted', function ($order_id) {
30 $this->core_actions(
31 false,
32 OrderFactory::fromId($order_id)->get_customer_id()
33 );
34 });
35
36 add_action('wp_login', function ($user_login, $user) {
37
38 if ($user instanceof \WP_User) {
39 $user_id = $user->ID;
40 } else {
41 $user = get_user_by('login', $user_login);
42 $user_id = $user->exists() ? $user->ID : get_current_user_id();
43 }
44
45 self::core_actions($user_id);
46
47 }, 10, 2);
48 }
49
50 public function core_actions($user_id = false, $customer_id = false)
51 {
52 $user_id = false !== $user_id ? absint($user_id) : get_current_user_id();
53
54 if ($customer_id) {
55 CustomerFactory::fromId($customer_id)->recalculate_stats();
56 } else {
57 if ($user_id) {
58 CustomerFactory::fromUserId($user_id)->recalculate_stats();
59 }
60 }
61 }
62
63 /**
64 * @return self
65 */
66 public static function init()
67 {
68 static $instance = null;
69
70 if (is_null($instance)) {
71 $instance = new self();
72 }
73
74 return $instance;
75 }
76 }
77