diff --git a/src/ConvertKit_API_Traits.php b/src/ConvertKit_API_Traits.php index b629c56..4c8766f 100644 --- a/src/ConvertKit_API_Traits.php +++ b/src/ConvertKit_API_Traits.php @@ -1606,12 +1606,20 @@ public function filter_subscribers( $option['type'] = $condition['type']; } - if (array_key_exists('count_greater_than', $condition) && $condition['count_greater_than'] !== null) { - $option['count_greater_than'] = $condition['count_greater_than']; + if (array_key_exists('count_greater_than', $condition) && is_numeric($condition['count_greater_than'])) { + $option['count_greater_than'] = (int) $condition['count_greater_than']; } - if (array_key_exists('count_less_than', $condition) && $condition['count_less_than'] !== null) { - $option['count_less_than'] = $condition['count_less_than']; + if (array_key_exists('count_greater_than_or_equal', $condition) && is_numeric($condition['count_greater_than_or_equal'])) { + $option['count_greater_than_or_equal'] = (int) $condition['count_greater_than_or_equal']; + } + + if (array_key_exists('count_less_than', $condition) && is_numeric($condition['count_less_than'])) { + $option['count_less_than'] = (int) $condition['count_less_than']; + } + + if (array_key_exists('count_less_than_or_equal', $condition) && is_numeric($condition['count_less_than_or_equal'])) { + $option['count_less_than_or_equal'] = (int) $condition['count_less_than_or_equal']; } if (array_key_exists('after', $condition) && $condition['after'] instanceof \DateTime) { @@ -1626,6 +1634,30 @@ public function filter_subscribers( $option['states'] = (array) $condition['states']; } + if (array_key_exists('subscriber_custom_field_id', $condition) && is_numeric($condition['subscriber_custom_field_id'])) { + $option['subscriber_custom_field_id'] = (int) $condition['subscriber_custom_field_id']; + } + + if (array_key_exists('value', $condition) && $condition['value'] !== null) { + $option['value'] = $condition['value']; + } + + if (array_key_exists('comparison', $condition) && $condition['comparison'] !== null) { + $option['comparison'] = $condition['comparison']; + } + + if (array_key_exists('latitude', $condition) && is_numeric($condition['latitude'])) { + $option['latitude'] = (float) $condition['latitude']; + } + + if (array_key_exists('longitude', $condition) && is_numeric($condition['longitude'])) { + $option['longitude'] = (float) $condition['longitude']; + } + + if (array_key_exists('radius', $condition) && $condition['radius'] !== null) { + $option['radius'] = $condition['radius']; + } + if (array_key_exists('any', $condition) && !empty($condition['any'])) { $option['any'] = (array) $condition['any']; }