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
|
<?php // phpcs:ignoreFile
namespace AutomateWoo\Rules;
use AutomateWoo\Logic_Helper;
defined( 'ABSPATH' ) || exit;
/** * @class Product */ class Product extends Product_Select_Rule_Abstract {
public $data_item = 'product';
function init() { parent::init();
$this->title = __( 'Product - Product', 'automatewoo' ); $this->compare_types = $this->get_is_or_not_compare_types(); }
/** * @param \WC_Product|\WC_Product_Variation $product * @param $compare * @param $expected * @return bool */ function validate( $product, $compare, $expected ) { $expected_product = wc_get_product( absint( $expected ) );
if ( ! $expected_product ) { return false; }
$match = Logic_Helper::match_products( $product, $expected_product );
switch ( $compare ) { case 'is': return $match; case 'is_not': return ! $match; } }
}
|