PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 1.2.6
JetFormBuilder — Dynamic Blocks Form Builder v1.2.6
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / includes / classes / condition-helper.php
jetformbuilder / includes / classes Last commit date
attributes-trait.php 4 years ago condition-helper.php 4 years ago curl-helper.php 4 years ago factory.php 4 years ago gallery.php 4 years ago get-icon-trait.php 4 years ago get-template-trait.php 4 years ago instance-trait.php 4 years ago listing-filter-manager.php 4 years ago listing-filter.php 4 years ago messages-helper-trait.php 4 years ago tools.php 4 years ago
condition-helper.php
96 lines
1 <?php
2
3
4 namespace Jet_Form_Builder\Classes;
5
6
7 use Jet_Form_Builder\Actions\Action_Handler;
8 use Jet_Form_Builder\Actions\Types\Base;
9 use Jet_Form_Builder\Exceptions\Condition_Exception;
10 use Jet_Form_Builder\Presets\Types\Dynamic_Preset;
11
12 class Condition_Helper {
13
14 private $conditions;
15 private $action_handler;
16
17 public function __construct( Base $action, Action_Handler $action_handler ) {
18 $this->conditions = $action->conditions;
19 $this->action_handler = $action_handler;
20
21 $this->check_all();
22 }
23
24 public function check_all() {
25 $request = $this->action_handler->request_data;
26
27 foreach ( $this->conditions as $condition ) {
28 if ( ( $condition['execute'] && ! $this->check( $condition ) )
29 || ( ! $condition['execute'] && $this->check( $condition ) )
30 ) {
31 throw new Condition_Exception( '', array(
32 'condition' => $condition,
33 'field' => isset( $request[ $condition['field'] ] ) ? $request[ $condition['field'] ] : null,
34 ) );
35 }
36 }
37 }
38
39 public function check( $condition ) {
40 $request = $this->action_handler->request_data;
41 $compare = $this->get_parsed_value( $condition );
42
43 switch ( $condition['operator'] ) {
44 case 'equal':
45 if ( isset( $request[ $condition['field'] ] ) ) {
46 return $request[ $condition['field'] ] == $compare;
47 }
48 break;
49 case 'greater':
50 if ( isset( $request[ $condition['field'] ] ) ) {
51 return $request[ $condition['field'] ] > $compare;
52 }
53 break;
54 case 'less':
55 if ( isset( $request[ $condition['field'] ] ) ) {
56 return $request[ $condition['field'] ] < $compare;
57 }
58 break;
59 case 'between':
60 if ( isset( $request[ $condition['field'] ] ) ) {
61 $compare_values = array_map( 'trim', explode( ',', $compare ) );
62
63 if ( count( $compare_values ) != 2 ) {
64 return false;
65 }
66
67 return ( $compare_values[0] < $request[ $condition['field'] ] && $compare_values[1] > $request[ $condition['field'] ] );
68 }
69 break;
70 case 'one_of':
71 if ( isset( $request[ $condition['field'] ] ) ) {
72 $compare_values = array_map( 'trim', explode( ',', $compare ) );
73
74 if ( ! is_array( $compare_values ) ) {
75 return false;
76 }
77
78 return ( in_array( $request[ $condition['field'] ], $compare_values ) );
79 }
80 break;
81 case 'contain':
82 if ( isset( $request[ $condition['field'] ] ) ) {
83 return ( strpos( $request[ $condition['field'] ], $compare ) !== false );
84 }
85 break;
86 }
87
88 return false;
89 }
90
91 private function get_parsed_value( $condition ) {
92 return ( new Dynamic_Preset )->parse_value( $condition );
93 }
94
95
96 }