/var/www/html_uk/wp-content/plugins/automatewoo/includes/Actions.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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<?php
// phpcs:ignoreFile

namespace AutomateWoo;

if ( ! 
defined'ABSPATH' ) ) exit;

/**
 * @class Actions
 * @since 2.9
 */
class Actions extends Registry {

    
/** @var array */
    
static $includes;

    
/** @var array  */
    
static $loaded = [];


    
/**
     * @return array
     */
    
static function load_includes() {

        
$includes = [
            
'send_email' => 'AutomateWoo\Action_Send_Email',
            
'send_email_plain' => 'AutomateWoo\Action_Send_Email_Plain_Text',
            
'send_email_raw' => 'AutomateWoo\Action_Send_Email_Raw',

            
'customer_change_role' => 'AutomateWoo\Action_Customer_Change_Role',
            
'customer_update_meta' => 'AutomateWoo\Action_Customer_Update_Meta',
            
'customer_add_tags' => 'AutomateWoo\Action_Customer_Add_Tags',
            
'customer_remove_tags' => 'AutomateWoo\Action_Customer_Remove_Tags',

            
'change_order_status' => 'AutomateWoo\Action_Order_Change_Status',
            
'update_order_meta' => 'AutomateWoo\Action_Order_Update_Meta',
            
'resend_order_email' => 'AutomateWoo\Action_Order_Resend_Email',
            
'trigger_order_action' => 'AutomateWoo\Action_Order_Trigger_Action',
            
'order_update_customer_shipping_note' => 'AutomateWoo\Action_Order_Update_Customer_Shipping_Note',
            
'order_add_note' => 'AutomateWoo\Action_Order_Add_Note',
        ];

        
$includes['order_item_update_meta'] = 'AutomateWoo\Action_Order_Item_Update_Meta';

        if ( 
AW()->options()->twilio_integration_enabled ) {
            
$includes'send_sms_twilio' ] = 'AutomateWoo\Action_Send_SMS_Twilio';
        }

        if ( 
Integrations::is_subscriptions_active() ) {
            
$includes['change_subscription_status']            = Action_Subscription_Change_Status::class;
            
$includes['subscription_update_meta']              = Action_Subscription_Update_Meta::class;
            
$includes['subscription_send_invoice']             = Action_Subscription_Send_Invoice::class;
            
$includes['subscription_update_schedule']          = Actions\Subscriptions\UpdateSchedule::class;
            
$includes['subscription_add_product']              = Action_Subscription_Add_Product::class;
            
$includes['subscription_update_product']           = Actions\Subscriptions\UpdateProduct::class;
            
$includes['subscription_remove_product']           = Action_Subscription_Remove_Product::class;
            
$includes['subscription_add_note']                 = Action_Subscription_Add_Note::class;
            
$includes['subscription_add_coupon']               = Action_Subscription_Add_Coupon::class;
            
$includes['subscription_remove_coupon']            = Action_Subscription_Remove_Coupon::class;
            
$includes['subscription_add_shipping']             = Actions\Subscriptions\AddShipping::class;
            
$includes['subscription_update_shipping']          = Actions\Subscriptions\UpdateShipping::class;
            
$includes['subscription_remove_shipping']          = Actions\Subscriptions\RemoveShipping::class;
            
$includes['subscription_update_currency']          = Actions\Subscriptions\UpdateCurrency::class;
            
$includes['subscription_update_end_date']          = Actions\Subscriptions\UpdateEndDate::class;
            
$includes['subscription_update_trial_end_date']    = Actions\Subscriptions\UpdateTrialEndDate::class;
            
$includes['subscription_update_next_payment_date'] = Actions\Subscriptions\UpdateNextPaymentDate::class;
            
$includes['subscription_recalculate_taxes']        = Actions\Subscriptions\RecalculateTaxes::class;
            
$includes['subscription_regenerate_downloads']     = Actions\Subscriptions\RegenerateDownloadPermissions::class;
        }

        if ( 
Integrations::is_memberships_enabled() ) {
            
$includes'memberships_change_plan' ] = 'AutomateWoo\Action_Memberships_Change_Plan';
            
$includes'memberships_delete_user_membership' ] = 'AutomateWoo\Action_Memberships_Delete_User_Membership';
            
$includes'memberships_change_status' ] = 'AutomateWoo\Action_Memberships_Change_Status';
        }

        if ( 
Options::mailchimp_enabled() ) {
            
$includes'mailchimp_subscribe' ] = 'AutomateWoo\Action_Mailchimp_Subscribe';
            
$includes'mailchimp_unsubscribe' ] = 'AutomateWoo\Action_Mailchimp_Unsubscribe';
            
$includes'mailchimp_update_contact_field' ] = 'AutomateWoo\Action_Mailchimp_Update_Contact_Field';
            
$includes'mailchimp_add_to_group' ] = 'AutomateWoo\Action_Mailchimp_Add_To_Group';
            
$includes'mailchimp_remove_from_group' ] = 'AutomateWoo\Action_Mailchimp_Remove_From_Group';
            
$includes'mailchimp_update_tags' ] = 'AutomateWoo\Actions\Mailchimp_Update_Tags';
        }

        if ( 
Integrations::is_mailpoet_api_active() ) {
            
$includes'mailpoet_subscribe' ] = 'AutomateWoo\Action_Mailpoet_Subscribe';
            
$includes'mailpoet_unsubscribe' ] = 'AutomateWoo\Action_Mailpoet_Unsubscribe';
        }

        if ( 
AW()->options()->campaign_monitor_enabled ) {
            
$includes'campaign_monitor_add_subscriber' ] = 'AutomateWoo\Action_Campaign_Monitor_Add_Subscriber';
            
$includes'campaign_monitor_remove_subscriber' ] = 'AutomateWoo\Action_Campaign_Monitor_Remove_Subscriber';
        }

        if ( 
AW()->options()->active_campaign_integration_enabled ) {
            
$includes'add_user_to_active_campaign_list' ] = 'AutomateWoo\Action_Active_Campaign_Create_Contact';
            
$includes'active_campaign_add_tag' ] = 'AutomateWoo\Action_Active_Campaign_Add_Tag';
            
$includes'active_campaign_remove_tag' ] = 'AutomateWoo\Action_Active_Campaign_Remove_Tag';
            
$includes'active_campaign_update_custom_field' ] = 'AutomateWoo\Action_Active_Campaign_Update_Contact_Field';
        }

        
$includes'clear_queued_events' ] = 'AutomateWoo\Action_Clear_Queued_Events';
        
$includes'change_workflow_status' ] = 'AutomateWoo\Action_Change_Workflow_Status';

        
$includes'custom_function' ] = 'AutomateWoo\Action_Custom_Function';
        
$includes'update_product_meta' ] = 'AutomateWoo\Action_Update_Product_Meta';
        
$includes'change_post_status' ] = 'AutomateWoo\Action_Change_Post_Status';

        
$includes'add_to_mad_mimi_list' ] = 'AutomateWoo\Action_Add_To_Mad_Mimi_List';

        return 
apply_filters'automatewoo/actions'$includes );
    }

    
/**
     * Get all actions.
     *
     * @return Action[]
     */
    
public static function get_all() {
        return 
parent::get_all();
    }

    
/**
     * Get a single action.
     *
     * @param string $name
     *
     * @return Action|false
     */
    
public static function get$name ) {
        return 
parent::get$name );
    }

    
/**
     * Runs after a valid action is loaded.
     *
     * @param string $action_name
     * @param Action $action
     */
    
public static function after_loaded$action_name$action ) {
        
$action->set_name$action_name );
    }

    
/**
     * Checks that a trigger object is valid.
     *
     * @param mixed $item
     *
     * @since 4.9.0
     *
     * @return bool
     */
    
public static function is_item_valid$item ) {
        return 
$item instanceof Action;
    }

}