PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.33
OttoKit: All-in-One Automation Platform v1.1.33
1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / profilepress / triggers / subscription-activated.php
suretriggers / src / Integrations / profilepress / triggers Last commit date
customer-updated.php 10 months ago subscription-activated.php 10 months ago
subscription-activated.php
98 lines
1 <?php
2 /**
3 * SubscriptionActivated.
4 *
5 * @category SubscriptionActivated
6 * @package SureTriggers
7 * @since 1.1.5
8 */
9
10 namespace SureTriggers\Integrations\ProfilePress\Triggers;
11
12 use SureTriggers\Controllers\AutomationController;
13 use SureTriggers\Traits\SingletonLoader;
14 use SureTriggers\Models\Utilities;
15
16 if ( ! class_exists( 'SubscriptionActivated' ) ) :
17
18 /**
19 * SubscriptionActivated
20 */
21 class SubscriptionActivated {
22
23 /**
24 * Integration type.
25 *
26 * @var string
27 */
28 public $integration = 'ProfilePress';
29
30 /**
31 * Trigger name.
32 *
33 * @var string
34 */
35 public $trigger = 'profilepress_subscription_activated';
36
37 use SingletonLoader;
38
39 /**
40 * Constructor
41 */
42 public function __construct() {
43 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
44 }
45
46 /**
47 * Register trigger.
48 *
49 * @param array $triggers trigger data.
50 * @return array
51 */
52 public function register( $triggers ) {
53 $triggers[ $this->integration ][ $this->trigger ] = [
54 'label' => __( 'A ProfilePress subscription is activated', 'suretriggers' ),
55 'action' => $this->trigger,
56 'common_action' => 'ppress_subscription_activated',
57 'function' => [ $this, 'trigger_listener' ],
58 'priority' => 10,
59 'accepted_args' => 1, // Hook passes SubscriptionEntity.
60 ];
61 return $triggers;
62 }
63
64 /**
65 * Trigger listener
66 *
67 * @param object $subscription Subscription.
68 * @return void|array
69 */
70 public function trigger_listener( $subscription ) {
71 if ( ! class_exists( '\ProfilePress\Core\Membership\Models\Subscription\SubscriptionEntity' ) ) {
72 return [
73 'status' => 'error',
74 'response' => __( 'ProfilePress Subscription Entity class not found. Please ensure ProfilePress is properly installed.', 'suretriggers' ),
75
76 ];
77 }
78
79 $subscription_data = Utilities::object_to_array( $subscription );
80
81 // Pass subscription object directly.
82 $context = [
83 'subscription' => $subscription_data,
84 ];
85
86 AutomationController::sure_trigger_handle_trigger(
87 [
88 'trigger' => $this->trigger,
89 'context' => $context,
90 ]
91 );
92 }
93 }
94
95 SubscriptionActivated::get_instance();
96
97 endif;
98