Completed
Branch yet-another-batch-of-ui-fixes (371f49)
by
unknown
30:27 queued 22:46
created
core/db_models/EEM_Form_Section.model.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -152,10 +152,10 @@
 block discarded – undo
152 152
         ];
153 153
         // this model is generally available for reading
154 154
         $restrictions                              = [];
155
-        $restrictions[ EEM_Base::caps_read ]       = new EE_Restriction_Generator_Public();
156
-        $restrictions[ EEM_Base::caps_read_admin ] = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
157
-        $restrictions[ EEM_Base::caps_edit ]       = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
158
-        $restrictions[ EEM_Base::caps_delete ]     = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
155
+        $restrictions[EEM_Base::caps_read]       = new EE_Restriction_Generator_Public();
156
+        $restrictions[EEM_Base::caps_read_admin] = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
157
+        $restrictions[EEM_Base::caps_edit]       = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
158
+        $restrictions[EEM_Base::caps_delete]     = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
159 159
         $this->_cap_restriction_generators         = $restrictions;
160 160
         parent::__construct($timezone);
161 161
         $this->request = $this->getLoader()->getShared('EventEspresso\core\services\request\RequestInterface');
Please login to merge, or discard this patch.
Indentation   +216 added lines, -216 removed lines patch added patch discarded remove patch
@@ -21,244 +21,244 @@
 block discarded – undo
21 21
  */
22 22
 class EEM_Form_Section extends EEM_Base
23 23
 {
24
-    public const APPLIES_TO_ALL         = 'all';
24
+	public const APPLIES_TO_ALL         = 'all';
25 25
 
26
-    public const APPLIES_TO_PRIMARY     = 'primary';
26
+	public const APPLIES_TO_PRIMARY     = 'primary';
27 27
 
28
-    public const APPLIES_TO_PURCHASER   = 'purchaser';
28
+	public const APPLIES_TO_PURCHASER   = 'purchaser';
29 29
 
30
-    public const APPLIES_TO_REGISTRANTS = 'registrants';
30
+	public const APPLIES_TO_REGISTRANTS = 'registrants';
31 31
 
32
-    /**
33
-     * @var EEM_Form_Section
34
-     */
35
-    protected static $_instance;
32
+	/**
33
+	 * @var EEM_Form_Section
34
+	 */
35
+	protected static $_instance;
36 36
 
37
-    /**
38
-     * @var RequestInterface
39
-     */
40
-    private $request;
37
+	/**
38
+	 * @var RequestInterface
39
+	 */
40
+	private $request;
41 41
 
42
-    /**
43
-     * @var array
44
-     */
45
-    private $valid_applies_to_options;
42
+	/**
43
+	 * @var array
44
+	 */
45
+	private $valid_applies_to_options;
46 46
 
47 47
 
48
-    /**
49
-     * EEM_Form_Section constructor.
50
-     *
51
-     * @param FormStatus  $form_status
52
-     * @param string|null $timezone
53
-     * @throws EE_Error
54
-     */
55
-    protected function __construct(FormStatus $form_status, ?string $timezone)
56
-    {
57
-        $this->valid_applies_to_options = apply_filters(
58
-            'FHEE__EEM_Form_Section__valid_applies_to_options',
59
-            [
60
-                EEM_Form_Section::APPLIES_TO_ALL         => esc_html__('All Registrants', 'event_espresso'),
61
-                EEM_Form_Section::APPLIES_TO_PRIMARY     => esc_html__('Primary Registrant Only', 'event_espresso'),
62
-                EEM_Form_Section::APPLIES_TO_PURCHASER   => esc_html__('Purchasing Agent', 'event_espresso'),
63
-                EEM_Form_Section::APPLIES_TO_REGISTRANTS => esc_html__('Additional Registrants', 'event_espresso'),
64
-            ]
65
-        );
48
+	/**
49
+	 * EEM_Form_Section constructor.
50
+	 *
51
+	 * @param FormStatus  $form_status
52
+	 * @param string|null $timezone
53
+	 * @throws EE_Error
54
+	 */
55
+	protected function __construct(FormStatus $form_status, ?string $timezone)
56
+	{
57
+		$this->valid_applies_to_options = apply_filters(
58
+			'FHEE__EEM_Form_Section__valid_applies_to_options',
59
+			[
60
+				EEM_Form_Section::APPLIES_TO_ALL         => esc_html__('All Registrants', 'event_espresso'),
61
+				EEM_Form_Section::APPLIES_TO_PRIMARY     => esc_html__('Primary Registrant Only', 'event_espresso'),
62
+				EEM_Form_Section::APPLIES_TO_PURCHASER   => esc_html__('Purchasing Agent', 'event_espresso'),
63
+				EEM_Form_Section::APPLIES_TO_REGISTRANTS => esc_html__('Additional Registrants', 'event_espresso'),
64
+			]
65
+		);
66 66
 
67
-        $this->singular_item = esc_html__('Form Section', 'event_espresso');
68
-        $this->plural_item   = esc_html__('Form Sections', 'event_espresso');
67
+		$this->singular_item = esc_html__('Form Section', 'event_espresso');
68
+		$this->plural_item   = esc_html__('Form Sections', 'event_espresso');
69 69
 
70
-        $this->_tables          = [
71
-            'Form_Section' => new EE_Primary_Table('esp_form_section', 'FSC_UUID'),
72
-        ];
73
-        $this->_fields          = [
74
-            'Form_Section' => [
75
-                'FSC_UUID'      => new EE_Primary_Key_String_Field(
76
-                    'FSC_UUID',
77
-                    esc_html__('Form Section UUID (universally unique identifier)', 'event_espresso')
78
-                ),
79
-                'FSC_appliesTo' => new EE_Enum_Text_Field(
80
-                    'FSC_appliesTo',
81
-                    esc_html(
82
-                        sprintf(
83
-                            /* translators: 1 class name */
84
-                            __(
85
-                                'Form user type that this form section should be presented to. Values correspond to the %s constants.',
86
-                                'event_espresso'
87
-                            ),
88
-                            'EEM_Form_Section::APPLIES_TO_*'
89
-                        )
90
-                    ),
91
-                    false,
92
-                    EEM_Form_Section::APPLIES_TO_ALL,
93
-                    $this->valid_applies_to_options
94
-                ),
95
-                'FSC_attributes' => new EE_JSON_Field(
96
-                    'FSC_attributes',
97
-                    esc_html__(
98
-                        'JSON string of HTML attributes, such as class, to be applied to this form section\'s container.',
99
-                        'event_espresso'
100
-                    ),
101
-                    false,
102
-                    '{}'
103
-                ),
104
-                'FSC_belongsTo' => new EE_Plain_Text_Field(
105
-                    'FSC_belongsTo',
106
-                    esc_html__('UUID of parent form section that this one belongs to.', 'event_espresso'),
107
-                    false,
108
-                    ''
109
-                ),
110
-                'FSC_label' => new EE_JSON_Field(
111
-                    'FSC_label',
112
-                    esc_html__(
113
-                        'JSON string of properties pertaining to a form section\'s label.',
114
-                        'event_espresso'
115
-                    ),
116
-                    false,
117
-                    '{}'
118
-                ),
119
-                'FSC_order'     => new EE_Integer_Field(
120
-                    'FSC_order',
121
-                    esc_html__('Order in which form section appears in a form.', 'event_espresso'),
122
-                    false,
123
-                    0
124
-                ),
125
-                'FSC_status'    => new EE_Enum_Text_Field(
126
-                    'FSC_status',
127
-                    esc_html(
128
-                        sprintf(
129
-                            /* translators: 1 class name */
130
-                            __(
131
-                                'Whether form section is active, archived, shared, trashed, or used as a default on new forms. Values correspond to the %1$s class constants.',
132
-                                'event_espresso'
133
-                            ),
134
-                            'EventEspresso\core\services\form\meta\FormStatus'
135
-                        )
136
-                    ),
137
-                    false,
138
-                    FormStatus::ACTIVE,
139
-                    $form_status->validStatusOptions()
140
-                ),
141
-                'FSC_wpUser'    => new EE_WP_User_Field(
142
-                    'FSC_wpUser',
143
-                    esc_html__('ID of the WP User that created this form section.', 'event_espresso'),
144
-                    false
145
-                ),
146
-            ],
147
-        ];
148
-        $this->_model_relations = [
149
-            'Form_Element' => new EE_Has_Many_Relation(),
150
-            'Form_Submission' => new EE_Has_Many_Relation(),
151
-            'WP_User'    => new EE_Belongs_To_Relation(),
152
-        ];
153
-        // this model is generally available for reading
154
-        $restrictions                              = [];
155
-        $restrictions[ EEM_Base::caps_read ]       = new EE_Restriction_Generator_Public();
156
-        $restrictions[ EEM_Base::caps_read_admin ] = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
157
-        $restrictions[ EEM_Base::caps_edit ]       = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
158
-        $restrictions[ EEM_Base::caps_delete ]     = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
159
-        $this->_cap_restriction_generators         = $restrictions;
160
-        parent::__construct($timezone);
161
-        $this->request = $this->getLoader()->getShared('EventEspresso\core\services\request\RequestInterface');
162
-    }
70
+		$this->_tables          = [
71
+			'Form_Section' => new EE_Primary_Table('esp_form_section', 'FSC_UUID'),
72
+		];
73
+		$this->_fields          = [
74
+			'Form_Section' => [
75
+				'FSC_UUID'      => new EE_Primary_Key_String_Field(
76
+					'FSC_UUID',
77
+					esc_html__('Form Section UUID (universally unique identifier)', 'event_espresso')
78
+				),
79
+				'FSC_appliesTo' => new EE_Enum_Text_Field(
80
+					'FSC_appliesTo',
81
+					esc_html(
82
+						sprintf(
83
+							/* translators: 1 class name */
84
+							__(
85
+								'Form user type that this form section should be presented to. Values correspond to the %s constants.',
86
+								'event_espresso'
87
+							),
88
+							'EEM_Form_Section::APPLIES_TO_*'
89
+						)
90
+					),
91
+					false,
92
+					EEM_Form_Section::APPLIES_TO_ALL,
93
+					$this->valid_applies_to_options
94
+				),
95
+				'FSC_attributes' => new EE_JSON_Field(
96
+					'FSC_attributes',
97
+					esc_html__(
98
+						'JSON string of HTML attributes, such as class, to be applied to this form section\'s container.',
99
+						'event_espresso'
100
+					),
101
+					false,
102
+					'{}'
103
+				),
104
+				'FSC_belongsTo' => new EE_Plain_Text_Field(
105
+					'FSC_belongsTo',
106
+					esc_html__('UUID of parent form section that this one belongs to.', 'event_espresso'),
107
+					false,
108
+					''
109
+				),
110
+				'FSC_label' => new EE_JSON_Field(
111
+					'FSC_label',
112
+					esc_html__(
113
+						'JSON string of properties pertaining to a form section\'s label.',
114
+						'event_espresso'
115
+					),
116
+					false,
117
+					'{}'
118
+				),
119
+				'FSC_order'     => new EE_Integer_Field(
120
+					'FSC_order',
121
+					esc_html__('Order in which form section appears in a form.', 'event_espresso'),
122
+					false,
123
+					0
124
+				),
125
+				'FSC_status'    => new EE_Enum_Text_Field(
126
+					'FSC_status',
127
+					esc_html(
128
+						sprintf(
129
+							/* translators: 1 class name */
130
+							__(
131
+								'Whether form section is active, archived, shared, trashed, or used as a default on new forms. Values correspond to the %1$s class constants.',
132
+								'event_espresso'
133
+							),
134
+							'EventEspresso\core\services\form\meta\FormStatus'
135
+						)
136
+					),
137
+					false,
138
+					FormStatus::ACTIVE,
139
+					$form_status->validStatusOptions()
140
+				),
141
+				'FSC_wpUser'    => new EE_WP_User_Field(
142
+					'FSC_wpUser',
143
+					esc_html__('ID of the WP User that created this form section.', 'event_espresso'),
144
+					false
145
+				),
146
+			],
147
+		];
148
+		$this->_model_relations = [
149
+			'Form_Element' => new EE_Has_Many_Relation(),
150
+			'Form_Submission' => new EE_Has_Many_Relation(),
151
+			'WP_User'    => new EE_Belongs_To_Relation(),
152
+		];
153
+		// this model is generally available for reading
154
+		$restrictions                              = [];
155
+		$restrictions[ EEM_Base::caps_read ]       = new EE_Restriction_Generator_Public();
156
+		$restrictions[ EEM_Base::caps_read_admin ] = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
157
+		$restrictions[ EEM_Base::caps_edit ]       = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
158
+		$restrictions[ EEM_Base::caps_delete ]     = new EE_Restriction_Generator_Reg_Form('FSC_applies_to');
159
+		$this->_cap_restriction_generators         = $restrictions;
160
+		parent::__construct($timezone);
161
+		$this->request = $this->getLoader()->getShared('EventEspresso\core\services\request\RequestInterface');
162
+	}
163 163
 
164 164
 
165
-    /**
166
-     * @param array $query_params
167
-     * @return array
168
-     */
169
-    private function addDefaultWhereConditions(array $query_params): array
170
-    {
171
-        // might need to add a way to identify GQL requests for admin domains
172
-        $admin_request                            = $this->request->isAdmin() || $this->request->isAdminAjax();
173
-        $query_params['default_where_conditions'] = $admin_request
174
-            ? EEM_Base::default_where_conditions_none
175
-            : EEM_Base::default_where_conditions_all;
176
-        return $query_params;
177
-    }
165
+	/**
166
+	 * @param array $query_params
167
+	 * @return array
168
+	 */
169
+	private function addDefaultWhereConditions(array $query_params): array
170
+	{
171
+		// might need to add a way to identify GQL requests for admin domains
172
+		$admin_request                            = $this->request->isAdmin() || $this->request->isAdminAjax();
173
+		$query_params['default_where_conditions'] = $admin_request
174
+			? EEM_Base::default_where_conditions_none
175
+			: EEM_Base::default_where_conditions_all;
176
+		return $query_params;
177
+	}
178 178
 
179 179
 
180
-    /**
181
-     * form sections should always be sorted in ascending order via the FSC_order field
182
-     *
183
-     * @param array $query_params
184
-     * @return array
185
-     */
186
-    private function addOrderByQueryParams(array $query_params): array
187
-    {
188
-        $query_params['order_by'] = ['FSC_order' => 'ASC'];
189
-        return $query_params;
190
-    }
180
+	/**
181
+	 * form sections should always be sorted in ascending order via the FSC_order field
182
+	 *
183
+	 * @param array $query_params
184
+	 * @return array
185
+	 */
186
+	private function addOrderByQueryParams(array $query_params): array
187
+	{
188
+		$query_params['order_by'] = ['FSC_order' => 'ASC'];
189
+		return $query_params;
190
+	}
191 191
 
192 192
 
193
-    /**
194
-     * returns an array of Form Sections that should be added by default to new Events
195
-     *
196
-     * @return EE_Form_Section[]
197
-     * @throws EE_Error
198
-     */
199
-    public function getDefaultFormSections(): array
200
-    {
201
-        return $this->getFormSections(['FSC_status' => FormStatus::DEFAULT]);
202
-    }
193
+	/**
194
+	 * returns an array of Form Sections that should be added by default to new Events
195
+	 *
196
+	 * @return EE_Form_Section[]
197
+	 * @throws EE_Error
198
+	 */
199
+	public function getDefaultFormSections(): array
200
+	{
201
+		return $this->getFormSections(['FSC_status' => FormStatus::DEFAULT]);
202
+	}
203 203
 
204 204
 
205
-    /**
206
-     * returns an array of Form Sections for the specified parent Form Section
207
-     *
208
-     * @param string $FSC_UUID
209
-     * @return EE_Form_Section[]
210
-     * @throws EE_Error
211
-     */
212
-    public function getChildFormSections(string $FSC_UUID): array
213
-    {
214
-        return $this->getFormSections(['FSC_belongsTo' => $FSC_UUID]);
215
-    }
205
+	/**
206
+	 * returns an array of Form Sections for the specified parent Form Section
207
+	 *
208
+	 * @param string $FSC_UUID
209
+	 * @return EE_Form_Section[]
210
+	 * @throws EE_Error
211
+	 */
212
+	public function getChildFormSections(string $FSC_UUID): array
213
+	{
214
+		return $this->getFormSections(['FSC_belongsTo' => $FSC_UUID]);
215
+	}
216 216
 
217 217
 
218
-    /**
219
-     * @return EE_Form_Section[]
220
-     * @throws EE_Error
221
-     */
222
-    public function getFormSections(array $where_params): array
223
-    {
224
-        $query_params = $this->addDefaultWhereConditions([$where_params]);
225
-        $query_params = $this->addOrderByQueryParams($query_params);
226
-        return $this->get_all($query_params);
227
-    }
218
+	/**
219
+	 * @return EE_Form_Section[]
220
+	 * @throws EE_Error
221
+	 */
222
+	public function getFormSections(array $where_params): array
223
+	{
224
+		$query_params = $this->addDefaultWhereConditions([$where_params]);
225
+		$query_params = $this->addOrderByQueryParams($query_params);
226
+		return $this->get_all($query_params);
227
+	}
228 228
 
229 229
 
230
-    /**
231
-     * returns an array of Form Sections for the specified Event
232
-     *
233
-     * @param EE_Event $event
234
-     * @return EE_Form_Section[]
235
-     * @throws EE_Error
236
-     * @throws ReflectionException
237
-     */
238
-    public function getFormSectionsForEvent(EE_Event $event): array
239
-    {
240
-        $FSC_UUID = $event->registrationFormUuid();
241
-        return ! empty($FSC_UUID)
242
-            ? $this->getFormSections(
243
-                [
244
-                    'OR' => [
245
-                        'FSC_UUID'      => $FSC_UUID, // top level form
246
-                        'FSC_belongsTo' => $FSC_UUID, // child form sections
247
-                    ]
248
-                ]
249
-            )
250
-            : [];
251
-    }
230
+	/**
231
+	 * returns an array of Form Sections for the specified Event
232
+	 *
233
+	 * @param EE_Event $event
234
+	 * @return EE_Form_Section[]
235
+	 * @throws EE_Error
236
+	 * @throws ReflectionException
237
+	 */
238
+	public function getFormSectionsForEvent(EE_Event $event): array
239
+	{
240
+		$FSC_UUID = $event->registrationFormUuid();
241
+		return ! empty($FSC_UUID)
242
+			? $this->getFormSections(
243
+				[
244
+					'OR' => [
245
+						'FSC_UUID'      => $FSC_UUID, // top level form
246
+						'FSC_belongsTo' => $FSC_UUID, // child form sections
247
+					]
248
+				]
249
+			)
250
+			: [];
251
+	}
252 252
 
253 253
 
254
-    /**
255
-     * @param bool $constants_only
256
-     * @return array
257
-     */
258
-    public function validAppliesToOptions(bool $constants_only = false): array
259
-    {
260
-        return $constants_only
261
-            ? array_keys($this->valid_applies_to_options)
262
-            : $this->valid_applies_to_options;
263
-    }
254
+	/**
255
+	 * @param bool $constants_only
256
+	 * @return array
257
+	 */
258
+	public function validAppliesToOptions(bool $constants_only = false): array
259
+	{
260
+		return $constants_only
261
+			? array_keys($this->valid_applies_to_options)
262
+			: $this->valid_applies_to_options;
263
+	}
264 264
 }
Please login to merge, or discard this patch.
services/graphql/connection_resolvers/FormElementConnectionResolver.php 2 patches
Indentation   +118 added lines, -118 removed lines patch added patch discarded remove patch
@@ -14,122 +14,122 @@
 block discarded – undo
14 14
  */
15 15
 class FormElementConnectionResolver extends AbstractConnectionResolver
16 16
 {
17
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
18
-    public function get_loader_name(): string
19
-    {
20
-        return 'espresso_formElement';
21
-    }
22
-
23
-    /**
24
-     * @return EEM_Form_Element
25
-     * @throws EE_Error
26
-     * @throws InvalidArgumentException
27
-     * @throws InvalidDataTypeException
28
-     * @throws InvalidInterfaceException
29
-     * @throws ReflectionException
30
-     */
31
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
32
-    public function get_query(): EEM_Form_Element
33
-    {
34
-        return EEM_Form_Element::instance();
35
-    }
36
-
37
-
38
-    /**
39
-     * Return an array of item IDs from the query
40
-     *
41
-     * @return array
42
-     */
43
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
44
-    public function get_ids(): array
45
-    {
46
-        $results = $this->query->get_col($this->query_args);
47
-        return ! empty($results) ? $results : [];
48
-    }
49
-
50
-
51
-    /**
52
-     * Here, we map the args from the input, then we make sure that we're only querying
53
-     * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
54
-     * handle batch resolution of the posts.
55
-     *
56
-     * @return array
57
-     * @throws InvalidArgumentException
58
-     * @throws InvalidDataTypeException
59
-     * @throws InvalidInterfaceException
60
-     */
61
-    // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
62
-    public function get_query_args(): array
63
-    {
64
-        $where_params = [];
65
-        $query_args   = [];
66
-
67
-        $query_args['limit'] = $this->getLimit();
68
-
69
-        // Avoid multiple entries by join.
70
-        $query_args['group_by'] = 'FIN_UUID';
71
-
72
-        /**
73
-        * Collect the input fields and sanitize them to prepare them for sending to the Query
74
-        */
75
-        $input_fields = [];
76
-        if (! empty($this->args['where'])) {
77
-            $input_fields = $this->sanitizeInputFields($this->args['where']);
78
-
79
-            // Use the proper operator.
80
-            if (! empty($input_fields['FSC_UUID']) && is_array($input_fields['FSC_UUID'])) {
81
-                $input_fields['FSC_UUID'] = ['IN', $input_fields['FSC_UUID']];
82
-            }
83
-            if (! empty($input_fields['FIN_status']) && is_array($input_fields['FIN_status'])) {
84
-                $input_fields['FIN_status'] = ['IN', $input_fields['FIN_status']];
85
-            }
86
-        }
87
-
88
-        /**
89
-         * Merge the input_fields with the default query_args
90
-         */
91
-        if (! empty($input_fields)) {
92
-            $where_params = array_merge($where_params, $input_fields);
93
-        }
94
-
95
-        $where_params = apply_filters(
96
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__form_element_where_params',
97
-            $where_params,
98
-            $this->source,
99
-            $this->args
100
-        );
101
-
102
-        if (! empty($where_params)) {
103
-            $query_args[] = $where_params;
104
-        }
105
-
106
-
107
-        /**
108
-         * Return the $query_args
109
-         */
110
-        return apply_filters(
111
-            'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__form_element_query_args',
112
-            $query_args,
113
-            $this->source,
114
-            $this->args
115
-        );
116
-    }
117
-
118
-    /**
119
-     * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
120
-     * friendly keys.
121
-     *
122
-     * @param array $where_args
123
-     * @return array
124
-     */
125
-    public function sanitizeInputFields(array $where_args): array
126
-    {
127
-        return $this->sanitizeWhereArgsForInputFields(
128
-            $where_args,
129
-            [
130
-                'belongsTo' => 'FSC_UUID',
131
-                'status'    => 'FIN_status',
132
-            ]
133
-        );
134
-    }
17
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
18
+	public function get_loader_name(): string
19
+	{
20
+		return 'espresso_formElement';
21
+	}
22
+
23
+	/**
24
+	 * @return EEM_Form_Element
25
+	 * @throws EE_Error
26
+	 * @throws InvalidArgumentException
27
+	 * @throws InvalidDataTypeException
28
+	 * @throws InvalidInterfaceException
29
+	 * @throws ReflectionException
30
+	 */
31
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
32
+	public function get_query(): EEM_Form_Element
33
+	{
34
+		return EEM_Form_Element::instance();
35
+	}
36
+
37
+
38
+	/**
39
+	 * Return an array of item IDs from the query
40
+	 *
41
+	 * @return array
42
+	 */
43
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
44
+	public function get_ids(): array
45
+	{
46
+		$results = $this->query->get_col($this->query_args);
47
+		return ! empty($results) ? $results : [];
48
+	}
49
+
50
+
51
+	/**
52
+	 * Here, we map the args from the input, then we make sure that we're only querying
53
+	 * for IDs. The IDs are then passed down the resolve tree, and deferred resolvers
54
+	 * handle batch resolution of the posts.
55
+	 *
56
+	 * @return array
57
+	 * @throws InvalidArgumentException
58
+	 * @throws InvalidDataTypeException
59
+	 * @throws InvalidInterfaceException
60
+	 */
61
+	// phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
62
+	public function get_query_args(): array
63
+	{
64
+		$where_params = [];
65
+		$query_args   = [];
66
+
67
+		$query_args['limit'] = $this->getLimit();
68
+
69
+		// Avoid multiple entries by join.
70
+		$query_args['group_by'] = 'FIN_UUID';
71
+
72
+		/**
73
+		 * Collect the input fields and sanitize them to prepare them for sending to the Query
74
+		 */
75
+		$input_fields = [];
76
+		if (! empty($this->args['where'])) {
77
+			$input_fields = $this->sanitizeInputFields($this->args['where']);
78
+
79
+			// Use the proper operator.
80
+			if (! empty($input_fields['FSC_UUID']) && is_array($input_fields['FSC_UUID'])) {
81
+				$input_fields['FSC_UUID'] = ['IN', $input_fields['FSC_UUID']];
82
+			}
83
+			if (! empty($input_fields['FIN_status']) && is_array($input_fields['FIN_status'])) {
84
+				$input_fields['FIN_status'] = ['IN', $input_fields['FIN_status']];
85
+			}
86
+		}
87
+
88
+		/**
89
+		 * Merge the input_fields with the default query_args
90
+		 */
91
+		if (! empty($input_fields)) {
92
+			$where_params = array_merge($where_params, $input_fields);
93
+		}
94
+
95
+		$where_params = apply_filters(
96
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__form_element_where_params',
97
+			$where_params,
98
+			$this->source,
99
+			$this->args
100
+		);
101
+
102
+		if (! empty($where_params)) {
103
+			$query_args[] = $where_params;
104
+		}
105
+
106
+
107
+		/**
108
+		 * Return the $query_args
109
+		 */
110
+		return apply_filters(
111
+			'FHEE__EventEspresso_core_domain_services_graphql_connection_resolvers__form_element_query_args',
112
+			$query_args,
113
+			$this->source,
114
+			$this->args
115
+		);
116
+	}
117
+
118
+	/**
119
+	 * This sets up the "allowed" args, and translates the GraphQL-friendly keys to model
120
+	 * friendly keys.
121
+	 *
122
+	 * @param array $where_args
123
+	 * @return array
124
+	 */
125
+	public function sanitizeInputFields(array $where_args): array
126
+	{
127
+		return $this->sanitizeWhereArgsForInputFields(
128
+			$where_args,
129
+			[
130
+				'belongsTo' => 'FSC_UUID',
131
+				'status'    => 'FIN_status',
132
+			]
133
+		);
134
+	}
135 135
 }
Please login to merge, or discard this patch.
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -73,14 +73,14 @@  discard block
 block discarded – undo
73 73
         * Collect the input fields and sanitize them to prepare them for sending to the Query
74 74
         */
75 75
         $input_fields = [];
76
-        if (! empty($this->args['where'])) {
76
+        if ( ! empty($this->args['where'])) {
77 77
             $input_fields = $this->sanitizeInputFields($this->args['where']);
78 78
 
79 79
             // Use the proper operator.
80
-            if (! empty($input_fields['FSC_UUID']) && is_array($input_fields['FSC_UUID'])) {
80
+            if ( ! empty($input_fields['FSC_UUID']) && is_array($input_fields['FSC_UUID'])) {
81 81
                 $input_fields['FSC_UUID'] = ['IN', $input_fields['FSC_UUID']];
82 82
             }
83
-            if (! empty($input_fields['FIN_status']) && is_array($input_fields['FIN_status'])) {
83
+            if ( ! empty($input_fields['FIN_status']) && is_array($input_fields['FIN_status'])) {
84 84
                 $input_fields['FIN_status'] = ['IN', $input_fields['FIN_status']];
85 85
             }
86 86
         }
@@ -88,7 +88,7 @@  discard block
 block discarded – undo
88 88
         /**
89 89
          * Merge the input_fields with the default query_args
90 90
          */
91
-        if (! empty($input_fields)) {
91
+        if ( ! empty($input_fields)) {
92 92
             $where_params = array_merge($where_params, $input_fields);
93 93
         }
94 94
 
@@ -99,7 +99,7 @@  discard block
 block discarded – undo
99 99
             $this->args
100 100
         );
101 101
 
102
-        if (! empty($where_params)) {
102
+        if ( ! empty($where_params)) {
103 103
             $query_args[] = $where_params;
104 104
         }
105 105
 
Please login to merge, or discard this patch.
core/domain/services/graphql/mutators/FormElementDelete.php 2 patches
Indentation   +41 added lines, -41 removed lines patch added patch discarded remove patch
@@ -11,48 +11,48 @@
 block discarded – undo
11 11
 class FormElementDelete extends EntityMutator
12 12
 {
13 13
 
14
-    /**
15
-     * Defines the mutation data modification closure.
16
-     *
17
-     * @param EEM_Form_Element $model
18
-     * @return callable
19
-     */
20
-    public static function mutateAndGetPayload(EEM_Form_Element $model)
21
-    {
22
-        /**
23
-         * Deletes an entity.
24
-         *
25
-         * @param array       $input   The input for the mutation
26
-         * @param AppContext  $context The AppContext passed down to all resolvers
27
-         * @param ResolveInfo $info    The ResolveInfo passed down to all resolvers
28
-         * @return array
29
-         */
30
-        return static function (array $input, AppContext $context, ResolveInfo $info) use ($model): array {
31
-            try {
32
-                /** @var EE_Form_Element $entity */
33
-                $entity = EntityMutator::getEntityFromInputData($model, $input);
14
+	/**
15
+	 * Defines the mutation data modification closure.
16
+	 *
17
+	 * @param EEM_Form_Element $model
18
+	 * @return callable
19
+	 */
20
+	public static function mutateAndGetPayload(EEM_Form_Element $model)
21
+	{
22
+		/**
23
+		 * Deletes an entity.
24
+		 *
25
+		 * @param array       $input   The input for the mutation
26
+		 * @param AppContext  $context The AppContext passed down to all resolvers
27
+		 * @param ResolveInfo $info    The ResolveInfo passed down to all resolvers
28
+		 * @return array
29
+		 */
30
+		return static function (array $input, AppContext $context, ResolveInfo $info) use ($model): array {
31
+			try {
32
+				/** @var EE_Form_Element $entity */
33
+				$entity = EntityMutator::getEntityFromInputData($model, $input);
34 34
 
35
-                $result = $entity->delete();
36
-                EntityMutator::validateResults($result);
35
+				$result = $entity->delete();
36
+				EntityMutator::validateResults($result);
37 37
 
38
-                do_action(
39
-                    'AHEE__EventEspresso_core_domain_services_graphql_mutators_form_element_delete',
40
-                    $entity,
41
-                    $input
42
-                );
43
-            } catch (Exception $exception) {
44
-                EntityMutator::handleExceptions(
45
-                    $exception,
46
-                    esc_html__(
47
-                        'The form element could not be deleted because of the following error(s)',
48
-                        'event_espresso'
49
-                    )
50
-                );
51
-            }
38
+				do_action(
39
+					'AHEE__EventEspresso_core_domain_services_graphql_mutators_form_element_delete',
40
+					$entity,
41
+					$input
42
+				);
43
+			} catch (Exception $exception) {
44
+				EntityMutator::handleExceptions(
45
+					$exception,
46
+					esc_html__(
47
+						'The form element could not be deleted because of the following error(s)',
48
+						'event_espresso'
49
+					)
50
+				);
51
+			}
52 52
 
53
-            return [
54
-                'deleted' => $entity,
55
-            ];
56
-        };
57
-    }
53
+			return [
54
+				'deleted' => $entity,
55
+			];
56
+		};
57
+	}
58 58
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -27,7 +27,7 @@
 block discarded – undo
27 27
          * @param ResolveInfo $info    The ResolveInfo passed down to all resolvers
28 28
          * @return array
29 29
          */
30
-        return static function (array $input, AppContext $context, ResolveInfo $info) use ($model): array {
30
+        return static function(array $input, AppContext $context, ResolveInfo $info) use ($model): array {
31 31
             try {
32 32
                 /** @var EE_Form_Element $entity */
33 33
                 $entity = EntityMutator::getEntityFromInputData($model, $input);
Please login to merge, or discard this patch.
core/domain/services/graphql/mutators/FormElementCreate.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@
 block discarded – undo
29 29
          * @param ResolveInfo $info    The ResolveInfo passed down to all resolvers
30 30
          * @return array
31 31
          */
32
-        return static function (array $input, AppContext $context, ResolveInfo $info) use ($model): array {
32
+        return static function(array $input, AppContext $context, ResolveInfo $info) use ($model): array {
33 33
             $id = null;
34 34
             try {
35 35
                 EntityMutator::checkPermissions($model);
Please login to merge, or discard this patch.
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -11,51 +11,51 @@
 block discarded – undo
11 11
 
12 12
 class FormElementCreate extends EntityMutator
13 13
 {
14
-    /**
15
-     * Defines the mutation data modification closure.
16
-     *
17
-     * @param EEM_Form_Element $model
18
-     * @return callable
19
-     */
20
-    public static function mutateAndGetPayload(EEM_Form_Element $model)
21
-    {
22
-        /**
23
-         * Creates an entity.
24
-         *
25
-         * @param array       $input   The input for the mutation
26
-         * @param AppContext  $context The AppContext passed down to all resolvers
27
-         * @param ResolveInfo $info    The ResolveInfo passed down to all resolvers
28
-         * @return array
29
-         */
30
-        return static function (array $input, AppContext $context, ResolveInfo $info) use ($model): array {
31
-            $id = null;
32
-            try {
33
-                EntityMutator::checkPermissions($model);
14
+	/**
15
+	 * Defines the mutation data modification closure.
16
+	 *
17
+	 * @param EEM_Form_Element $model
18
+	 * @return callable
19
+	 */
20
+	public static function mutateAndGetPayload(EEM_Form_Element $model)
21
+	{
22
+		/**
23
+		 * Creates an entity.
24
+		 *
25
+		 * @param array       $input   The input for the mutation
26
+		 * @param AppContext  $context The AppContext passed down to all resolvers
27
+		 * @param ResolveInfo $info    The ResolveInfo passed down to all resolvers
28
+		 * @return array
29
+		 */
30
+		return static function (array $input, AppContext $context, ResolveInfo $info) use ($model): array {
31
+			$id = null;
32
+			try {
33
+				EntityMutator::checkPermissions($model);
34 34
 
35
-                $args = FormElementMutation::prepareFields($input);
35
+				$args = FormElementMutation::prepareFields($input);
36 36
 
37
-                $entity = EE_Form_Element::new_instance($args);
38
-                $id = $entity->save();
39
-                EntityMutator::validateResults($id);
37
+				$entity = EE_Form_Element::new_instance($args);
38
+				$id = $entity->save();
39
+				EntityMutator::validateResults($id);
40 40
 
41
-                do_action(
42
-                    'AHEE__EventEspresso_core_domain_services_graphql_mutators_form_element_create',
43
-                    $entity,
44
-                    $input
45
-                );
46
-            } catch (Exception $exception) {
47
-                EntityMutator::handleExceptions(
48
-                    $exception,
49
-                    esc_html__(
50
-                        'The form element could not be created because of the following error(s)',
51
-                        'event_espresso'
52
-                    )
53
-                );
54
-            }
41
+				do_action(
42
+					'AHEE__EventEspresso_core_domain_services_graphql_mutators_form_element_create',
43
+					$entity,
44
+					$input
45
+				);
46
+			} catch (Exception $exception) {
47
+				EntityMutator::handleExceptions(
48
+					$exception,
49
+					esc_html__(
50
+						'The form element could not be created because of the following error(s)',
51
+						'event_espresso'
52
+					)
53
+				);
54
+			}
55 55
 
56
-            return [
57
-                'id' => $id,
58
-            ];
59
-        };
60
-    }
56
+			return [
57
+				'id' => $id,
58
+			];
59
+		};
60
+	}
61 61
 }
Please login to merge, or discard this patch.
core/domain/services/graphql/mutators/FormElementUpdate.php 2 patches
Indentation   +44 added lines, -44 removed lines patch added patch discarded remove patch
@@ -14,52 +14,52 @@
 block discarded – undo
14 14
 class FormElementUpdate extends EntityMutator
15 15
 {
16 16
 
17
-    /**
18
-     * Defines the mutation data modification closure.
19
-     *
20
-     * @param EEM_Form_Element $model
21
-     * @return callable
22
-     */
23
-    public static function mutateAndGetPayload(EEM_Form_Element $model)
24
-    {
25
-        /**
26
-         * Updates an entity.
27
-         *
28
-         * @param array       $input   The input for the mutation
29
-         * @param AppContext  $context The AppContext passed down to all resolvers
30
-         * @param ResolveInfo $info    The ResolveInfo passed down to all resolvers
31
-         * @return array
32
-         * @throws EE_Error
33
-         * @throws ReflectionException
34
-         */
35
-        return static function (array $input, AppContext $context, ResolveInfo $info) use ($model): array {
36
-            try {
37
-                /** @var EE_Form_Element $entity */
38
-                $entity = EntityMutator::getEntityFromInputData($model, $input);
17
+	/**
18
+	 * Defines the mutation data modification closure.
19
+	 *
20
+	 * @param EEM_Form_Element $model
21
+	 * @return callable
22
+	 */
23
+	public static function mutateAndGetPayload(EEM_Form_Element $model)
24
+	{
25
+		/**
26
+		 * Updates an entity.
27
+		 *
28
+		 * @param array       $input   The input for the mutation
29
+		 * @param AppContext  $context The AppContext passed down to all resolvers
30
+		 * @param ResolveInfo $info    The ResolveInfo passed down to all resolvers
31
+		 * @return array
32
+		 * @throws EE_Error
33
+		 * @throws ReflectionException
34
+		 */
35
+		return static function (array $input, AppContext $context, ResolveInfo $info) use ($model): array {
36
+			try {
37
+				/** @var EE_Form_Element $entity */
38
+				$entity = EntityMutator::getEntityFromInputData($model, $input);
39 39
 
40
-                $args = FormElementMutation::prepareFields($input);
40
+				$args = FormElementMutation::prepareFields($input);
41 41
 
42
-                // Update the entity
43
-                $entity->save($args);
42
+				// Update the entity
43
+				$entity->save($args);
44 44
 
45
-                do_action(
46
-                    'AHEE__EventEspresso_core_domain_services_graphql_mutators_form_element_update',
47
-                    $entity,
48
-                    $input
49
-                );
50
-            } catch (Exception $exception) {
51
-                EntityMutator::handleExceptions(
52
-                    $exception,
53
-                    esc_html__(
54
-                        'The form element could not be updated because of the following error(s)',
55
-                        'event_espresso'
56
-                    )
57
-                );
58
-            }
45
+				do_action(
46
+					'AHEE__EventEspresso_core_domain_services_graphql_mutators_form_element_update',
47
+					$entity,
48
+					$input
49
+				);
50
+			} catch (Exception $exception) {
51
+				EntityMutator::handleExceptions(
52
+					$exception,
53
+					esc_html__(
54
+						'The form element could not be updated because of the following error(s)',
55
+						'event_espresso'
56
+					)
57
+				);
58
+			}
59 59
 
60
-            return [
61
-                'id' => $entity->UUID(),
62
-            ];
63
-        };
64
-    }
60
+			return [
61
+				'id' => $entity->UUID(),
62
+			];
63
+		};
64
+	}
65 65
 }
Please login to merge, or discard this patch.
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -32,7 +32,7 @@
 block discarded – undo
32 32
          * @throws EE_Error
33 33
          * @throws ReflectionException
34 34
          */
35
-        return static function (array $input, AppContext $context, ResolveInfo $info) use ($model): array {
35
+        return static function(array $input, AppContext $context, ResolveInfo $info) use ($model): array {
36 36
             try {
37 37
                 /** @var EE_Form_Element $entity */
38 38
                 $entity = EntityMutator::getEntityFromInputData($model, $input);
Please login to merge, or discard this patch.
core/domain/services/graphql/data/mutations/FormSectionMutation.php 2 patches
Spacing   +1 added lines, -1 removed lines patch added patch discarded remove patch
@@ -49,7 +49,7 @@
 block discarded – undo
49 49
             $args['FSC_status'] = sanitize_text_field($input['status']);
50 50
         }
51 51
 
52
-        if (! empty($input['wpUser'])) {
52
+        if ( ! empty($input['wpUser'])) {
53 53
             $parts = Relay::fromGlobalId(sanitize_text_field($input['wpUser']));
54 54
             $args['FSC_wpUser'] = ! empty($parts['id']) ? $parts['id'] : null;
55 55
         }
Please login to merge, or discard this patch.
Indentation   +41 added lines, -41 removed lines patch added patch discarded remove patch
@@ -14,54 +14,54 @@
 block discarded – undo
14 14
  */
15 15
 class FormSectionMutation
16 16
 {
17
-    /**
18
-     * Maps the GraphQL input to a format that the model functions can use
19
-     *
20
-     * @param array $input Data coming from the GraphQL mutation query input
21
-     * @return array
22
-     */
23
-    public static function prepareFields(array $input): array
24
-    {
25
-        $args = [];
17
+	/**
18
+	 * Maps the GraphQL input to a format that the model functions can use
19
+	 *
20
+	 * @param array $input Data coming from the GraphQL mutation query input
21
+	 * @return array
22
+	 */
23
+	public static function prepareFields(array $input): array
24
+	{
25
+		$args = [];
26 26
 
27
-        if (isset($input['id'])) {
28
-            $args['FSC_UUID'] = sanitize_text_field($input['id']);
29
-        }
27
+		if (isset($input['id'])) {
28
+			$args['FSC_UUID'] = sanitize_text_field($input['id']);
29
+		}
30 30
 
31
-        if (isset($input['appliesTo'])) {
32
-            $args['FSC_appliesTo'] = sanitize_text_field($input['appliesTo']);
33
-        }
31
+		if (isset($input['appliesTo'])) {
32
+			$args['FSC_appliesTo'] = sanitize_text_field($input['appliesTo']);
33
+		}
34 34
 
35
-        if (isset($input['attributes'])) {
36
-            $args['FSC_attributes'] = Attributes::fromJson(sanitize_text_field($input['attributes']))->toJson();
37
-        }
35
+		if (isset($input['attributes'])) {
36
+			$args['FSC_attributes'] = Attributes::fromJson(sanitize_text_field($input['attributes']))->toJson();
37
+		}
38 38
 
39
-        if (isset($input['belongsTo'])) {
40
-            $args['FSC_belongsTo'] = sanitize_text_field($input['belongsTo']);
41
-        }
39
+		if (isset($input['belongsTo'])) {
40
+			$args['FSC_belongsTo'] = sanitize_text_field($input['belongsTo']);
41
+		}
42 42
 
43
-        if (isset($input['label'])) {
44
-            $args['FSC_label'] = FormLabel::fromJson(sanitize_text_field($input['label']))->toJson();
45
-        }
43
+		if (isset($input['label'])) {
44
+			$args['FSC_label'] = FormLabel::fromJson(sanitize_text_field($input['label']))->toJson();
45
+		}
46 46
 
47
-        // order can be 0
48
-        if (array_key_exists('order', $input)) {
49
-            $args['FSC_order'] = absint($input['order']);
50
-        }
47
+		// order can be 0
48
+		if (array_key_exists('order', $input)) {
49
+			$args['FSC_order'] = absint($input['order']);
50
+		}
51 51
 
52
-        if (isset($input['status'])) {
53
-            $args['FSC_status'] = sanitize_text_field($input['status']);
54
-        }
52
+		if (isset($input['status'])) {
53
+			$args['FSC_status'] = sanitize_text_field($input['status']);
54
+		}
55 55
 
56
-        if (! empty($input['wpUser'])) {
57
-            $parts = Relay::fromGlobalId(sanitize_text_field($input['wpUser']));
58
-            $args['FSC_wpUser'] = ! empty($parts['id']) ? $parts['id'] : null;
59
-        }
56
+		if (! empty($input['wpUser'])) {
57
+			$parts = Relay::fromGlobalId(sanitize_text_field($input['wpUser']));
58
+			$args['FSC_wpUser'] = ! empty($parts['id']) ? $parts['id'] : null;
59
+		}
60 60
 
61
-        return apply_filters(
62
-            'FHEE__EventEspresso_core_domain_services_graphql_data_mutations__form_section_args',
63
-            $args,
64
-            $input
65
-        );
66
-    }
61
+		return apply_filters(
62
+			'FHEE__EventEspresso_core_domain_services_graphql_data_mutations__form_section_args',
63
+			$args,
64
+			$input
65
+		);
66
+	}
67 67
 }
Please login to merge, or discard this patch.
core/domain/services/graphql/data/loaders/FormElementLoader.php 1 patch
Indentation   +22 added lines, -22 removed lines patch added patch discarded remove patch
@@ -15,27 +15,27 @@
 block discarded – undo
15 15
  */
16 16
 class FormElementLoader extends AbstractLoader
17 17
 {
18
-    /**
19
-     * @return EEM_Base
20
-     * @throws EE_Error
21
-     * @throws InvalidArgumentException
22
-     * @throws InvalidDataTypeException
23
-     * @throws InvalidInterfaceException
24
-     * @throws ReflectionException
25
-     */
26
-    protected function getQuery(): EEM_Base
27
-    {
28
-        return EEM_Form_Element::instance();
29
-    }
18
+	/**
19
+	 * @return EEM_Base
20
+	 * @throws EE_Error
21
+	 * @throws InvalidArgumentException
22
+	 * @throws InvalidDataTypeException
23
+	 * @throws InvalidInterfaceException
24
+	 * @throws ReflectionException
25
+	 */
26
+	protected function getQuery(): EEM_Base
27
+	{
28
+		return EEM_Form_Element::instance();
29
+	}
30 30
 
31
-    /**
32
-     * @param array $keys
33
-     * @return array
34
-     */
35
-    protected function getWhereParams(array $keys): array
36
-    {
37
-        return [
38
-            'FIN_UUID' => ['IN', $keys],
39
-        ];
40
-    }
31
+	/**
32
+	 * @param array $keys
33
+	 * @return array
34
+	 */
35
+	protected function getWhereParams(array $keys): array
36
+	{
37
+		return [
38
+			'FIN_UUID' => ['IN', $keys],
39
+		];
40
+	}
41 41
 }
Please login to merge, or discard this patch.
core/services/form/meta/JsonableInterface.php 1 patch
Indentation   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -11,15 +11,15 @@
 block discarded – undo
11 11
  */
12 12
 interface JsonableInterface
13 13
 {
14
-    /**
15
-     * @param string $json
16
-     * @return mixed
17
-     */
18
-    public static function fromJson(string $json);
14
+	/**
15
+	 * @param string $json
16
+	 * @return mixed
17
+	 */
18
+	public static function fromJson(string $json);
19 19
 
20 20
 
21
-    /**
22
-     * @return string
23
-     */
24
-    public function toJson(): string;
21
+	/**
22
+	 * @return string
23
+	 */
24
+	public function toJson(): string;
25 25
 }
Please login to merge, or discard this patch.
core/services/form/meta/Attributes.php 2 patches
Spacing   +4 added lines, -4 removed lines patch added patch discarded remove patch
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
         $attributes = $json_data_handler->decodeJson($json);
104 104
         /** @var InputTypes */
105 105
         $element_types = LoaderFactory::getShared('EventEspresso\core\services\form\meta\InputTypes');
106
-        return LoaderFactory::getNew(Attributes::class, [ $json_data_handler, $attributes, $element_types ]);
106
+        return LoaderFactory::getNew(Attributes::class, [$json_data_handler, $attributes, $element_types]);
107 107
     }
108 108
 
109 109
 
@@ -136,7 +136,7 @@  discard block
 block discarded – undo
136 136
             $valid_types = $this->input_types->validTypeOptions();
137 137
             return in_array($value, $valid_types, true) ?: Text::TYPE_TEXT;
138 138
         }
139
-        $type = $this->attribute_types[ $attribute ] ?? 'string';
139
+        $type = $this->attribute_types[$attribute] ?? 'string';
140 140
         switch ($type) {
141 141
             case 'bool':
142 142
                 return filter_var($value, FILTER_VALIDATE_BOOLEAN);
@@ -174,7 +174,7 @@  discard block
 block discarded – undo
174 174
     public function addAttribute(string $attribute, $value): void
175 175
     {
176 176
         if (array_key_exists($attribute, $this->attribute_types)) {
177
-            $this->attributes[ $attribute ] = $this->sanitize($attribute, $value);
177
+            $this->attributes[$attribute] = $this->sanitize($attribute, $value);
178 178
         }
179 179
     }
180 180
 
@@ -184,7 +184,7 @@  discard block
 block discarded – undo
184 184
      */
185 185
     public function removeAttribute(string $attribute): void
186 186
     {
187
-        unset($this->attributes[ $attribute ]);
187
+        unset($this->attributes[$attribute]);
188 188
     }
189 189
 
190 190
 
Please login to merge, or discard this patch.
Indentation   +180 added lines, -180 removed lines patch added patch discarded remove patch
@@ -16,184 +16,184 @@
 block discarded – undo
16 16
  */
17 17
 class Attributes implements JsonableInterface
18 18
 {
19
-    /**
20
-     * @var JsonDataHandler
21
-     */
22
-    private $json_data_handler;
23
-
24
-    /**
25
-     * @var InputTypes
26
-     */
27
-    private $input_types;
28
-
29
-    /**
30
-     * @var array
31
-     */
32
-    private $attributes = [];
33
-
34
-    /**
35
-     * @var array
36
-     */
37
-    private $attribute_types = [
38
-        'accept'          => 'string',
39
-        'accesskey'       => 'string',
40
-        'alt'             => 'string',
41
-        'autocomplete'    => 'bool',
42
-        'autofocus'       => 'bool',
43
-        'checked'         => 'bool',
44
-        // Custom HTML classes to be applied to the form input's container
45
-        'class'           => 'string',
46
-        'contenteditable' => 'bool',
47
-        'dir'             => 'string',
48
-        'disabled'        => 'bool',
49
-        'height'          => 'string',
50
-        'hidden'          => 'bool',
51
-        'id'              => 'string',
52
-        'list'            => 'string',
53
-        // Maximum numeric value allowed for form input answer.
54
-        'max'             => 'int',
55
-        // Maximum characters allowed for form input answer.
56
-        'maxlength'       => 'int',
57
-        // Minimum numeric value allowed for form input answer.
58
-        'min'             => 'int',
59
-        'multiple'        => 'bool',
60
-        'name'            => 'string',
61
-        'pattern'         => 'string',
62
-        // Example text displayed within an input to assist users with completing the form.
63
-        'placeholder'     => 'string',
64
-        'readonly'        => 'bool',
65
-        'size'            => 'int',
66
-        'spellcheck'      => 'bool',
67
-        'step'            => 'float',
68
-        'style'           => 'string',
69
-        'tabindex'        => 'int',
70
-        'title'           => 'string',
71
-        'translate'       => 'bool',
72
-        // Form input type. Values correspond to the Input::TYPE_* constants.
73
-        'type'            => 'string',
74
-        'value'           => 'string',
75
-        'width'           => 'string',
76
-    ];
77
-
78
-
79
-    /**
80
-     * Attributes constructor.
81
-     *
82
-     * @param JsonDataHandler $json_data_handler
83
-     * @param InputTypes      $element_types
84
-     * @param array           $attributes
85
-     */
86
-    public function __construct(JsonDataHandler $json_data_handler, array $attributes, InputTypes $element_types)
87
-    {
88
-        $this->json_data_handler = $json_data_handler;
89
-        $this->input_types       = $element_types;
90
-        $this->setAttributes($attributes);
91
-    }
92
-
93
-
94
-    /**
95
-     * @param string $json
96
-     * @return Attributes
97
-     */
98
-    public static function fromJson(string $json): Attributes
99
-    {
100
-        $json_data_handler = new JsonDataHandler();
101
-        $json_data_handler->configure(JsonDataHandler::DATA_TYPE_ARRAY);
102
-        $attributes = $json_data_handler->decodeJson($json);
103
-        /** @var InputTypes */
104
-        $element_types = LoaderFactory::getShared('EventEspresso\core\services\form\meta\InputTypes');
105
-        return LoaderFactory::getNew(Attributes::class, [ $json_data_handler, $attributes, $element_types ]);
106
-    }
107
-
108
-
109
-    /**
110
-     * @return array
111
-     */
112
-    public function toArray(): array
113
-    {
114
-        return $this->attributes();
115
-    }
116
-
117
-
118
-    /**
119
-     * @return string
120
-     */
121
-    public function toJson(): string
122
-    {
123
-        return $this->json_data_handler->encodeData($this->attributes());
124
-    }
125
-
126
-
127
-    /**
128
-     * @param string                $attribute
129
-     * @param bool|float|int|string $value
130
-     * @return bool|float|int|string
131
-     */
132
-    private function sanitize(string $attribute, $value)
133
-    {
134
-        if ($attribute === 'type') {
135
-            $valid_types = $this->input_types->validTypeOptions();
136
-            return in_array($value, $valid_types, true) ?: Text::TYPE_TEXT;
137
-        }
138
-        $type = $this->attribute_types[ $attribute ] ?? 'string';
139
-        switch ($type) {
140
-            case 'bool':
141
-                return filter_var($value, FILTER_VALIDATE_BOOLEAN);
142
-            case 'int':
143
-                return filter_var($value, FILTER_SANITIZE_NUMBER_INT);
144
-            case 'float':
145
-                return filter_var($value, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
146
-            case 'string':
147
-            default:
148
-                return filter_var(
149
-                    $value,
150
-                    FILTER_SANITIZE_STRING,
151
-                    FILTER_FLAG_ENCODE_LOW | FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_AMP
152
-                );
153
-        }
154
-    }
155
-
156
-
157
-    /**
158
-     * Custom HTML classes to be applied to this form input's help text.
159
-     * returns a concatenated string unless $as_array is set to true
160
-     *
161
-     * @return array
162
-     */
163
-    public function attributes(): array
164
-    {
165
-        return $this->attributes;
166
-    }
167
-
168
-
169
-    /**
170
-     * @param string                $attribute
171
-     * @param bool|float|int|string $value
172
-     */
173
-    public function addAttribute(string $attribute, $value): void
174
-    {
175
-        if (array_key_exists($attribute, $this->attribute_types)) {
176
-            $this->attributes[ $attribute ] = $this->sanitize($attribute, $value);
177
-        }
178
-    }
179
-
180
-
181
-    /**
182
-     * @param string $attribute
183
-     */
184
-    public function removeAttribute(string $attribute): void
185
-    {
186
-        unset($this->attributes[ $attribute ]);
187
-    }
188
-
189
-
190
-    /**
191
-     * @param array $attributes array where keys are the attribute name and values are the attribute's value
192
-     */
193
-    public function setAttributes(array $attributes): void
194
-    {
195
-        foreach ($attributes as $attribute => $value) {
196
-            $this->addAttribute($attribute, $value);
197
-        }
198
-    }
19
+	/**
20
+	 * @var JsonDataHandler
21
+	 */
22
+	private $json_data_handler;
23
+
24
+	/**
25
+	 * @var InputTypes
26
+	 */
27
+	private $input_types;
28
+
29
+	/**
30
+	 * @var array
31
+	 */
32
+	private $attributes = [];
33
+
34
+	/**
35
+	 * @var array
36
+	 */
37
+	private $attribute_types = [
38
+		'accept'          => 'string',
39
+		'accesskey'       => 'string',
40
+		'alt'             => 'string',
41
+		'autocomplete'    => 'bool',
42
+		'autofocus'       => 'bool',
43
+		'checked'         => 'bool',
44
+		// Custom HTML classes to be applied to the form input's container
45
+		'class'           => 'string',
46
+		'contenteditable' => 'bool',
47
+		'dir'             => 'string',
48
+		'disabled'        => 'bool',
49
+		'height'          => 'string',
50
+		'hidden'          => 'bool',
51
+		'id'              => 'string',
52
+		'list'            => 'string',
53
+		// Maximum numeric value allowed for form input answer.
54
+		'max'             => 'int',
55
+		// Maximum characters allowed for form input answer.
56
+		'maxlength'       => 'int',
57
+		// Minimum numeric value allowed for form input answer.
58
+		'min'             => 'int',
59
+		'multiple'        => 'bool',
60
+		'name'            => 'string',
61
+		'pattern'         => 'string',
62
+		// Example text displayed within an input to assist users with completing the form.
63
+		'placeholder'     => 'string',
64
+		'readonly'        => 'bool',
65
+		'size'            => 'int',
66
+		'spellcheck'      => 'bool',
67
+		'step'            => 'float',
68
+		'style'           => 'string',
69
+		'tabindex'        => 'int',
70
+		'title'           => 'string',
71
+		'translate'       => 'bool',
72
+		// Form input type. Values correspond to the Input::TYPE_* constants.
73
+		'type'            => 'string',
74
+		'value'           => 'string',
75
+		'width'           => 'string',
76
+	];
77
+
78
+
79
+	/**
80
+	 * Attributes constructor.
81
+	 *
82
+	 * @param JsonDataHandler $json_data_handler
83
+	 * @param InputTypes      $element_types
84
+	 * @param array           $attributes
85
+	 */
86
+	public function __construct(JsonDataHandler $json_data_handler, array $attributes, InputTypes $element_types)
87
+	{
88
+		$this->json_data_handler = $json_data_handler;
89
+		$this->input_types       = $element_types;
90
+		$this->setAttributes($attributes);
91
+	}
92
+
93
+
94
+	/**
95
+	 * @param string $json
96
+	 * @return Attributes
97
+	 */
98
+	public static function fromJson(string $json): Attributes
99
+	{
100
+		$json_data_handler = new JsonDataHandler();
101
+		$json_data_handler->configure(JsonDataHandler::DATA_TYPE_ARRAY);
102
+		$attributes = $json_data_handler->decodeJson($json);
103
+		/** @var InputTypes */
104
+		$element_types = LoaderFactory::getShared('EventEspresso\core\services\form\meta\InputTypes');
105
+		return LoaderFactory::getNew(Attributes::class, [ $json_data_handler, $attributes, $element_types ]);
106
+	}
107
+
108
+
109
+	/**
110
+	 * @return array
111
+	 */
112
+	public function toArray(): array
113
+	{
114
+		return $this->attributes();
115
+	}
116
+
117
+
118
+	/**
119
+	 * @return string
120
+	 */
121
+	public function toJson(): string
122
+	{
123
+		return $this->json_data_handler->encodeData($this->attributes());
124
+	}
125
+
126
+
127
+	/**
128
+	 * @param string                $attribute
129
+	 * @param bool|float|int|string $value
130
+	 * @return bool|float|int|string
131
+	 */
132
+	private function sanitize(string $attribute, $value)
133
+	{
134
+		if ($attribute === 'type') {
135
+			$valid_types = $this->input_types->validTypeOptions();
136
+			return in_array($value, $valid_types, true) ?: Text::TYPE_TEXT;
137
+		}
138
+		$type = $this->attribute_types[ $attribute ] ?? 'string';
139
+		switch ($type) {
140
+			case 'bool':
141
+				return filter_var($value, FILTER_VALIDATE_BOOLEAN);
142
+			case 'int':
143
+				return filter_var($value, FILTER_SANITIZE_NUMBER_INT);
144
+			case 'float':
145
+				return filter_var($value, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);
146
+			case 'string':
147
+			default:
148
+				return filter_var(
149
+					$value,
150
+					FILTER_SANITIZE_STRING,
151
+					FILTER_FLAG_ENCODE_LOW | FILTER_FLAG_ENCODE_HIGH | FILTER_FLAG_ENCODE_AMP
152
+				);
153
+		}
154
+	}
155
+
156
+
157
+	/**
158
+	 * Custom HTML classes to be applied to this form input's help text.
159
+	 * returns a concatenated string unless $as_array is set to true
160
+	 *
161
+	 * @return array
162
+	 */
163
+	public function attributes(): array
164
+	{
165
+		return $this->attributes;
166
+	}
167
+
168
+
169
+	/**
170
+	 * @param string                $attribute
171
+	 * @param bool|float|int|string $value
172
+	 */
173
+	public function addAttribute(string $attribute, $value): void
174
+	{
175
+		if (array_key_exists($attribute, $this->attribute_types)) {
176
+			$this->attributes[ $attribute ] = $this->sanitize($attribute, $value);
177
+		}
178
+	}
179
+
180
+
181
+	/**
182
+	 * @param string $attribute
183
+	 */
184
+	public function removeAttribute(string $attribute): void
185
+	{
186
+		unset($this->attributes[ $attribute ]);
187
+	}
188
+
189
+
190
+	/**
191
+	 * @param array $attributes array where keys are the attribute name and values are the attribute's value
192
+	 */
193
+	public function setAttributes(array $attributes): void
194
+	{
195
+		foreach ($attributes as $attribute => $value) {
196
+			$this->addAttribute($attribute, $value);
197
+		}
198
+	}
199 199
 }
Please login to merge, or discard this patch.