PluginProbe ʕ •ᴥ•ʔ
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress / 4.17.3
Paid Membership Plugin, Ecommerce, User Registration Form, Login Form, User Profile & Restrict Content – ProfilePress v4.17.3
4.17.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 2 days ago DigitalProducts 2 months ago Emails 2 weeks ago Models 1 month ago PaymentMethods 2 weeks ago Repositories 2 days ago Services 1 month ago CheckoutFields.php 4 months ago CurrencyFormatter.php 1 month ago Init.php 1 month ago StatSync.php 1 year ago index.php 3 years ago
StatSync.php
75 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 } elseif ($user_id) {
57 CustomerFactory::fromUserId($user_id)->recalculate_stats();
58 }
59 }
60
61 /**
62 * @return self
63 */
64 public static function init()
65 {
66 static $instance = null;
67
68 if (is_null($instance)) {
69 $instance = new self();
70 }
71
72 return $instance;
73 }
74 }
75