PluginProbe
SellKit – Funnel builder and checkout optimizer for WooCommerce to sell more, faster / 1.7.2
SellKit – Funnel builder and checkout optimizer for WooCommerce to sell more, faster v1.7.2
2.7.0 2.6.0 trunk 1.1.0 1.1.4 1.2.1 1.2.2 1.2.3 1.2.5 1.2.9 1.3.1 1.3.2 1.5.0 1.5.1 1.5.4 1.5.7 1.5.8 1.5.9 1.6.2 1.6.5 1.6.8 1.7.2 1.7.4 1.7.5 1.7.9 All 43 releases
sellkit / includes / contact-segmentation / conditions / shipping-city.php

shipping-city.php in SellKit – Funnel builder and checkout optimizer for WooCommerce to sell more, faster 1.7.2, at includes/contact-segmentation/conditions/shipping-city.php

90 lines 1.6 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Sellkit\Contact_Segmentation\Conditions;
4
5 use Sellkit\Contact_Segmentation\Conditions\Condition_Base;
6 use Sellkit\Contact_Segmentation\Operators;
7
8 defined( 'ABSPATH' ) || die();
9
10 /**
11 * Class Shipping City.
12 *
13 * @package Sellkit\Contact_Segmentation\Conditions
14 * @since 1.1.0
15 */
16 class Shipping_City extends Condition_Base {
17
18 /**
19 * Condition name.
20 *
21 * @since 1.1.0
22 */
23 public function get_name() {
24 return 'shipping-city';
25 }
26
27 /**
28 * Condition title.
29 *
30 * @since 1.1.0
31 */
32 public function get_title() {
33 return esc_html__( 'Past Order Shipping City', 'sellkit' );
34 }
35
36 /**
37 * Condition type.
38 *
39 * @since 1.1.0
40 */
41 public function get_type() {
42 return self::SELLKIT_TEXT_CONDITION_VALUE;
43 }
44
45 /**
46 * It is pro feature or not.
47 *
48 * @since 1.1.0
49 */
50 public function is_pro() {
51 return true;
52 }
53
54
55 /**
56 * If it's valid or not.
57 *
58 * @since 1.1.0
59 * @param array $condition_value Condition value.
60 * @param string $operator_name Operator name.
61 * @return bool
62 */
63 public function is_valid( $condition_value, $operator_name ) {
64 $operator = Operators::$operators[ $operator_name ];
65 $is_not_validation = [];
66
67 foreach ( $this->data['shipping_city'] as $city ) {
68 $is_valid = $operator->is_valid( $city, $condition_value );
69
70 if ( 'is-not' === $operator_name ) {
71 $is_not_validation[] = $is_valid;
72 }
73
74 if ( $is_valid && 'is-not' !== $operator_name ) {
75 return true;
76 }
77 }
78
79 if (
80 'is-not' === $operator_name &&
81 1 === count( array_unique( $is_not_validation ) ) &&
82 true === $is_not_validation[0]
83 ) {
84 return true;
85 }
86
87 return false;
88 }
89 }
90