Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 14 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
Deactivator | |
0.00% |
0 / 14 |
|
0.00% |
0 / 1 |
12 | |
0.00% |
0 / 1 |
deactivate | |
0.00% |
0 / 14 |
|
0.00% |
0 / 1 |
12 |
1 | <?php |
2 | /** |
3 | * Fired during plugin deactivation |
4 | * |
5 | * @link http://example.com |
6 | * @since 1.0.0 |
7 | * |
8 | * @package BH_WC_Address_Validation |
9 | * @subpackage BH_WC_Address_Validation/includes |
10 | */ |
11 | |
12 | namespace BrianHenryIE\WC_Address_Validation\WP_Includes; |
13 | |
14 | use BrianHenryIE\WC_Address_Validation\WooCommerce\Order_Status; |
15 | |
16 | /** |
17 | * Fired during plugin deactivation. |
18 | * |
19 | * This class defines all code necessary to run during the plugin's deactivation. |
20 | * |
21 | * @since 1.0.0 |
22 | * @package BH_WC_Address_Validation |
23 | * @subpackage BH_WC_Address_Validation/includes |
24 | * @author Brian Henry <BrianHenryIE@gmail.com> |
25 | */ |
26 | class Deactivator { |
27 | |
28 | const DEACTIVATED_BAD_ADDRESS_META_KEY = 'bh-wc-address-validation-was-bad-address'; |
29 | |
30 | /** |
31 | * Changes all orders with bad-address status to on-hold. |
32 | * Add a meta-key indicating they were previously bad-address which is checked when reactivated. |
33 | * |
34 | * @since 1.0.0 |
35 | */ |
36 | public static function deactivate(): void { |
37 | |
38 | if ( ! function_exists( 'wc_get_orders' ) ) { |
39 | return; |
40 | } |
41 | |
42 | /** @var \WC_Order[] $orders */ |
43 | $orders = wc_get_orders( |
44 | array( |
45 | 'limit' => -1, |
46 | 'status' => array( 'wc-' . Order_Status::BAD_ADDRESS_STATUS ), |
47 | 'paginate' => false, |
48 | ) |
49 | ); |
50 | |
51 | foreach ( $orders as $order ) { |
52 | $order_note = 'Changed from Bad Address on plugin deactivation.'; |
53 | $order->set_status( 'on-hold', $order_note ); |
54 | $order->add_meta_data( self::DEACTIVATED_BAD_ADDRESS_META_KEY, gmdate( DATE_ATOM ), true ); |
55 | $order->save(); |
56 | } |
57 | } |
58 | } |