/var/www/html_uk/wp-content/plugins/automatewoo/includes/Async_Events/Subscription_Created.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php

namespace AutomateWoo\Async_Events;

defined'ABSPATH' ) || exit;

/**
 * Class Subscription_Created
 *
 * @since 4.8.0
 * @package AutomateWoo
 */
class Subscription_Created extends Abstract_Async_Event {

    use 
UniqueEventsForRequestHelper;

    
/**
     * Init the event.
     */
    
public function init() {
        
add_action'woocommerce_checkout_subscription_created', [ $this'handle_subscription_created' ], 20 );
        
add_action'wcs_api_subscription_created', [ $this'handle_subscription_created' ], 20 );
        
// Note: this action was added in WCS 2.4.1
        
add_action'woocommerce_admin_created_subscription', [ $this'handle_subscription_created' ], 20 );
    }

    
/**
     * Handle subscription created.
     *
     * @param \WC_Subscription|int $subscription
     */
    
public function handle_subscription_created$subscription ) {
        
$subscription wcs_get_subscription$subscription );
        if ( ! 
$subscription ) {
            return;
        }

        if ( 
$this->check_item_is_unique_for_event$subscription->get_id() ) ) {
            return;
        }
        
$this->record_event_added_for_item$subscription->get_id() );

        
$this->create_async_event( [ $subscription->get_id() ] );
    }
}