Completed
Branch master (59af22)
by
unknown
07:35 queued 03:06
created
core/services/orm/tree_traversal/RelationNode.php 2 patches
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -98,17 +98,17 @@  discard block
 block discarded – undo
98 98
                     ],
99 99
                 ]
100 100
             );
101
-            $new_item_nodes     = [];
101
+            $new_item_nodes = [];
102 102
 
103 103
             // Add entity nodes for each of the model objects we fetched.
104 104
             foreach ($related_model_objs as $related_model_obj) {
105
-                $entity_node                                = new ModelObjNode(
105
+                $entity_node = new ModelObjNode(
106 106
                     $related_model_obj->ID(),
107 107
                     $related_model_obj->get_model(),
108 108
                     $this->dont_traverse_models
109 109
                 );
110
-                $this->nodes[ $related_model_obj->ID() ]    = $entity_node;
111
-                $new_item_nodes[ $related_model_obj->ID() ] = $entity_node;
110
+                $this->nodes[$related_model_obj->ID()]    = $entity_node;
111
+                $new_item_nodes[$related_model_obj->ID()] = $entity_node;
112 112
             }
113 113
             $num_identified += count($new_item_nodes);
114 114
             if ($num_identified < $model_objects_to_identify) {
@@ -135,7 +135,7 @@  discard block
 block discarded – undo
135 135
     protected function allChildrenComplete()
136 136
     {
137 137
         foreach ($this->nodes as $model_obj_node) {
138
-            if (! $model_obj_node->isComplete()) {
138
+            if ( ! $model_obj_node->isComplete()) {
139 139
                 return false;
140 140
             }
141 141
         }
@@ -153,7 +153,7 @@  discard block
 block discarded – undo
153 153
     protected function visitAlreadyDiscoveredNodes($model_obj_nodes, $work_budget)
154 154
     {
155 155
         $work_done = 0;
156
-        if (! $model_obj_nodes) {
156
+        if ( ! $model_obj_nodes) {
157 157
             return 0;
158 158
         }
159 159
         foreach ($model_obj_nodes as $model_obj_node) {
@@ -229,7 +229,7 @@  discard block
 block discarded – undo
229 229
             $relation_settings = null;
230 230
         }
231 231
         if ($relation_settings instanceof EE_Has_Many_Any_Relation) {
232
-            $where_params[ $this->related_model->get_field_containing_related_model_name()->get_name() ] =
232
+            $where_params[$this->related_model->get_field_containing_related_model_name()->get_name()] =
233 233
                 $this->main_model->get_this_model_name();
234 234
         }
235 235
         return $where_params;
@@ -249,7 +249,7 @@  discard block
 block discarded – undo
249 249
             'objs'     => [],
250 250
         ];
251 251
         foreach ($this->nodes as $id => $model_obj_node) {
252
-            $tree['objs'][ $id ] = $model_obj_node->toArray();
252
+            $tree['objs'][$id] = $model_obj_node->toArray();
253 253
         }
254 254
         return $tree;
255 255
     }
Please login to merge, or discard this patch.
Indentation   +303 added lines, -303 removed lines patch added patch discarded remove patch
@@ -24,309 +24,309 @@
 block discarded – undo
24 24
  */
25 25
 class RelationNode extends BaseNode
26 26
 {
27
-    /**
28
-     * @var int
29
-     */
30
-    protected $count;
31
-
32
-    /**
33
-     * @var string|int
34
-     */
35
-    protected $id;
36
-
37
-    /**
38
-     * @var EEM_Base
39
-     */
40
-    protected $main_model;
41
-
42
-    /**
43
-     * @var ModelObjNode[]
44
-     */
45
-    protected $nodes;
46
-
47
-    /**
48
-     * @var EEM_Base
49
-     */
50
-    protected $related_model;
51
-
52
-
53
-
54
-    /**
55
-     * RelationNode constructor.
56
-     *
57
-     * @param          $main_model_obj_id
58
-     * @param EEM_Base $main_model
59
-     * @param EEM_Base $related_model
60
-     * @param array    $dont_traverse_models array of model names we DON'T want to traverse
61
-     */
62
-    public function __construct(
63
-        $main_model_obj_id,
64
-        EEM_Base $main_model,
65
-        EEM_Base $related_model,
66
-        array $dont_traverse_models = []
67
-    ) {
68
-        $this->id                   = $main_model_obj_id;
69
-        $this->main_model           = $main_model;
70
-        $this->related_model        = $related_model;
71
-        $this->nodes                = [];
72
-        $this->dont_traverse_models = $dont_traverse_models;
73
-    }
74
-
75
-
76
-    /**
77
-     * Here is where most of the work happens. We've counted how many related model objects exist, here we identify
78
-     * them (ie, learn their IDs). But its recursive, so we'll also find their related dependent model objects etc.
79
-     *
80
-     * @param int $model_objects_to_identify
81
-     * @return int
82
-     * @throws EE_Error
83
-     * @throws InvalidArgumentException
84
-     * @throws InvalidDataTypeException
85
-     * @throws InvalidInterfaceException
86
-     * @throws ReflectionException
87
-     */
88
-    protected function work($model_objects_to_identify)
89
-    {
90
-        $num_identified = $this->visitAlreadyDiscoveredNodes($this->nodes, $model_objects_to_identify);
91
-        if ($num_identified < $model_objects_to_identify) {
92
-            $related_model_objs = $this->related_model->get_all(
93
-                [
94
-                    $this->whereQueryParams(),
95
-                    'limit' => [
96
-                        count($this->nodes),
97
-                        $model_objects_to_identify - $num_identified,
98
-                    ],
99
-                ]
100
-            );
101
-            $new_item_nodes     = [];
102
-
103
-            // Add entity nodes for each of the model objects we fetched.
104
-            foreach ($related_model_objs as $related_model_obj) {
105
-                $entity_node                                = new ModelObjNode(
106
-                    $related_model_obj->ID(),
107
-                    $related_model_obj->get_model(),
108
-                    $this->dont_traverse_models
109
-                );
110
-                $this->nodes[ $related_model_obj->ID() ]    = $entity_node;
111
-                $new_item_nodes[ $related_model_obj->ID() ] = $entity_node;
112
-            }
113
-            $num_identified += count($new_item_nodes);
114
-            if ($num_identified < $model_objects_to_identify) {
115
-                // And lastly do the work.
116
-                $num_identified += $this->visitAlreadyDiscoveredNodes(
117
-                    $new_item_nodes,
118
-                    $model_objects_to_identify - $num_identified
119
-                );
120
-            }
121
-        }
122
-
123
-        if (count($this->nodes) >= $this->count && $this->allChildrenComplete()) {
124
-            $this->complete = true;
125
-        }
126
-        return $num_identified;
127
-    }
128
-
129
-
130
-    /**
131
-     * Checks if all the identified child nodes are complete or not.
132
-     *
133
-     * @return bool
134
-     */
135
-    protected function allChildrenComplete()
136
-    {
137
-        foreach ($this->nodes as $model_obj_node) {
138
-            if (! $model_obj_node->isComplete()) {
139
-                return false;
140
-            }
141
-        }
142
-        return true;
143
-    }
144
-
145
-
146
-    /**
147
-     * Visits the provided nodes and keeps track of how much work was done, making sure to not go over budget.
148
-     *
149
-     * @param ModelObjNode[] $model_obj_nodes
150
-     * @param                $work_budget
151
-     * @return int
152
-     */
153
-    protected function visitAlreadyDiscoveredNodes($model_obj_nodes, $work_budget)
154
-    {
155
-        $work_done = 0;
156
-        if (! $model_obj_nodes) {
157
-            return 0;
158
-        }
159
-        foreach ($model_obj_nodes as $model_obj_node) {
160
-            if ($work_done >= $work_budget) {
161
-                break;
162
-            }
163
-            $work_done += $model_obj_node->visit($work_budget - $work_done);
164
-        }
165
-        return $work_done;
166
-    }
167
-
168
-
169
-    /**
170
-     * Whether this item has already been initialized
171
-     */
172
-    protected function isDiscovered()
173
-    {
174
-        return $this->count !== null;
175
-    }
176
-
177
-
178
-    /**
179
-     * @return boolean
180
-     */
181
-    public function isComplete()
182
-    {
183
-        if ($this->complete === null) {
184
-            if (count($this->nodes) === $this->count) {
185
-                $this->complete = true;
186
-            } else {
187
-                $this->complete = false;
188
-            }
189
-        }
190
-        return $this->complete;
191
-    }
192
-
193
-
194
-    /**
195
-     * Discovers how many related model objects exist.
196
-     *
197
-     * @return void
198
-     * @throws EE_Error
199
-     * @throws InvalidArgumentException
200
-     * @throws InvalidDataTypeException
201
-     * @throws InvalidInterfaceException
202
-     */
203
-    protected function discover()
204
-    {
205
-        $this->count = $this->related_model->count([$this->whereQueryParams()]);
206
-    }
207
-
208
-
209
-    /**
210
-     * @return array
211
-     * @throws EE_Error
212
-     * @throws InvalidDataTypeException
213
-     * @throws InvalidInterfaceException
214
-     * @throws InvalidArgumentException
215
-     */
216
-    protected function whereQueryParams()
217
-    {
218
-        $where_params = [
219
-            $this->related_model->get_foreign_key_to(
220
-                $this->main_model->get_this_model_name()
221
-            )->get_name() => $this->id,
222
-        ];
223
-        try {
224
-            $relation_settings = $this->main_model->related_settings_for($this->related_model->get_this_model_name());
225
-        } catch (EE_Error $e) {
226
-            // This will happen for has-and-belongs-to-many relations, when this node's related model is that join table
227
-            // which hasn't been explicitly declared in the main model object's model's relations.
228
-            $relation_settings = null;
229
-        }
230
-        if ($relation_settings instanceof EE_Has_Many_Any_Relation) {
231
-            $where_params[ $this->related_model->get_field_containing_related_model_name()->get_name() ] =
232
-                $this->main_model->get_this_model_name();
233
-        }
234
-        return $where_params;
235
-    }
236
-
237
-
238
-    /**
239
-     * @return array
240
-     * @throws EE_Error
241
-     * @throws ReflectionException
242
-     */
243
-    public function toArray()
244
-    {
245
-        $tree = [
246
-            'count'    => $this->count,
247
-            'complete' => $this->isComplete(),
248
-            'objs'     => [],
249
-        ];
250
-        foreach ($this->nodes as $id => $model_obj_node) {
251
-            $tree['objs'][ $id ] = $model_obj_node->toArray();
252
-        }
253
-        return $tree;
254
-    }
255
-
256
-
257
-    /**
258
-     * Gets the IDs of all the model objects to delete; indexed first by model object name.
259
-     *
260
-     * @return array
261
-     * @throws EE_Error
262
-     * @throws ReflectionException
263
-     */
264
-    public function getIds()
265
-    {
266
-        if (empty($this->nodes)) {
267
-            return [];
268
-        }
269
-        $ids = [
270
-            $this->related_model->get_this_model_name() => array_combine(
271
-                array_keys($this->nodes),
272
-                array_keys($this->nodes)
273
-            ),
274
-        ];
275
-        foreach ($this->nodes as $model_obj_node) {
276
-            $ids = array_replace_recursive($ids, $model_obj_node->getIds());
277
-        }
278
-        return $ids;
279
-    }
280
-
281
-
282
-    /**
283
-     * Returns the number of sub-nodes found (ie, related model objects across this relation.)
284
-     *
285
-     * @return int
286
-     */
287
-    public function countSubNodes()
288
-    {
289
-        return count($this->nodes);
290
-    }
291
-
292
-
293
-    /**
294
-     * Don't serialize the models. Just record their names on some dynamic properties.
295
-     *
296
-     * @return array
297
-     */
298
-    public function __sleep()
299
-    {
300
-        $this->m  = $this->main_model->get_this_model_name();
301
-        $this->rm = $this->related_model->get_this_model_name();
302
-        return array_merge(
303
-            [
304
-                'm',
305
-                'rm',
306
-                'id',
307
-                'count',
308
-                'nodes',
309
-            ],
310
-            parent::__sleep()
311
-        );
312
-    }
313
-
314
-
315
-    /**
316
-     * Use the dynamic properties to instantiate the models we use.
317
-     *
318
-     * @throws EE_Error
319
-     * @throws InvalidArgumentException
320
-     * @throws InvalidDataTypeException
321
-     * @throws InvalidInterfaceException
322
-     * @throws ReflectionException
323
-     */
324
-    public function __wakeup()
325
-    {
326
-        $this->main_model    = EE_Registry::instance()->load_model($this->m);
327
-        $this->related_model = EE_Registry::instance()->load_model($this->rm);
328
-        parent::__wakeup();
329
-    }
27
+	/**
28
+	 * @var int
29
+	 */
30
+	protected $count;
31
+
32
+	/**
33
+	 * @var string|int
34
+	 */
35
+	protected $id;
36
+
37
+	/**
38
+	 * @var EEM_Base
39
+	 */
40
+	protected $main_model;
41
+
42
+	/**
43
+	 * @var ModelObjNode[]
44
+	 */
45
+	protected $nodes;
46
+
47
+	/**
48
+	 * @var EEM_Base
49
+	 */
50
+	protected $related_model;
51
+
52
+
53
+
54
+	/**
55
+	 * RelationNode constructor.
56
+	 *
57
+	 * @param          $main_model_obj_id
58
+	 * @param EEM_Base $main_model
59
+	 * @param EEM_Base $related_model
60
+	 * @param array    $dont_traverse_models array of model names we DON'T want to traverse
61
+	 */
62
+	public function __construct(
63
+		$main_model_obj_id,
64
+		EEM_Base $main_model,
65
+		EEM_Base $related_model,
66
+		array $dont_traverse_models = []
67
+	) {
68
+		$this->id                   = $main_model_obj_id;
69
+		$this->main_model           = $main_model;
70
+		$this->related_model        = $related_model;
71
+		$this->nodes                = [];
72
+		$this->dont_traverse_models = $dont_traverse_models;
73
+	}
74
+
75
+
76
+	/**
77
+	 * Here is where most of the work happens. We've counted how many related model objects exist, here we identify
78
+	 * them (ie, learn their IDs). But its recursive, so we'll also find their related dependent model objects etc.
79
+	 *
80
+	 * @param int $model_objects_to_identify
81
+	 * @return int
82
+	 * @throws EE_Error
83
+	 * @throws InvalidArgumentException
84
+	 * @throws InvalidDataTypeException
85
+	 * @throws InvalidInterfaceException
86
+	 * @throws ReflectionException
87
+	 */
88
+	protected function work($model_objects_to_identify)
89
+	{
90
+		$num_identified = $this->visitAlreadyDiscoveredNodes($this->nodes, $model_objects_to_identify);
91
+		if ($num_identified < $model_objects_to_identify) {
92
+			$related_model_objs = $this->related_model->get_all(
93
+				[
94
+					$this->whereQueryParams(),
95
+					'limit' => [
96
+						count($this->nodes),
97
+						$model_objects_to_identify - $num_identified,
98
+					],
99
+				]
100
+			);
101
+			$new_item_nodes     = [];
102
+
103
+			// Add entity nodes for each of the model objects we fetched.
104
+			foreach ($related_model_objs as $related_model_obj) {
105
+				$entity_node                                = new ModelObjNode(
106
+					$related_model_obj->ID(),
107
+					$related_model_obj->get_model(),
108
+					$this->dont_traverse_models
109
+				);
110
+				$this->nodes[ $related_model_obj->ID() ]    = $entity_node;
111
+				$new_item_nodes[ $related_model_obj->ID() ] = $entity_node;
112
+			}
113
+			$num_identified += count($new_item_nodes);
114
+			if ($num_identified < $model_objects_to_identify) {
115
+				// And lastly do the work.
116
+				$num_identified += $this->visitAlreadyDiscoveredNodes(
117
+					$new_item_nodes,
118
+					$model_objects_to_identify - $num_identified
119
+				);
120
+			}
121
+		}
122
+
123
+		if (count($this->nodes) >= $this->count && $this->allChildrenComplete()) {
124
+			$this->complete = true;
125
+		}
126
+		return $num_identified;
127
+	}
128
+
129
+
130
+	/**
131
+	 * Checks if all the identified child nodes are complete or not.
132
+	 *
133
+	 * @return bool
134
+	 */
135
+	protected function allChildrenComplete()
136
+	{
137
+		foreach ($this->nodes as $model_obj_node) {
138
+			if (! $model_obj_node->isComplete()) {
139
+				return false;
140
+			}
141
+		}
142
+		return true;
143
+	}
144
+
145
+
146
+	/**
147
+	 * Visits the provided nodes and keeps track of how much work was done, making sure to not go over budget.
148
+	 *
149
+	 * @param ModelObjNode[] $model_obj_nodes
150
+	 * @param                $work_budget
151
+	 * @return int
152
+	 */
153
+	protected function visitAlreadyDiscoveredNodes($model_obj_nodes, $work_budget)
154
+	{
155
+		$work_done = 0;
156
+		if (! $model_obj_nodes) {
157
+			return 0;
158
+		}
159
+		foreach ($model_obj_nodes as $model_obj_node) {
160
+			if ($work_done >= $work_budget) {
161
+				break;
162
+			}
163
+			$work_done += $model_obj_node->visit($work_budget - $work_done);
164
+		}
165
+		return $work_done;
166
+	}
167
+
168
+
169
+	/**
170
+	 * Whether this item has already been initialized
171
+	 */
172
+	protected function isDiscovered()
173
+	{
174
+		return $this->count !== null;
175
+	}
176
+
177
+
178
+	/**
179
+	 * @return boolean
180
+	 */
181
+	public function isComplete()
182
+	{
183
+		if ($this->complete === null) {
184
+			if (count($this->nodes) === $this->count) {
185
+				$this->complete = true;
186
+			} else {
187
+				$this->complete = false;
188
+			}
189
+		}
190
+		return $this->complete;
191
+	}
192
+
193
+
194
+	/**
195
+	 * Discovers how many related model objects exist.
196
+	 *
197
+	 * @return void
198
+	 * @throws EE_Error
199
+	 * @throws InvalidArgumentException
200
+	 * @throws InvalidDataTypeException
201
+	 * @throws InvalidInterfaceException
202
+	 */
203
+	protected function discover()
204
+	{
205
+		$this->count = $this->related_model->count([$this->whereQueryParams()]);
206
+	}
207
+
208
+
209
+	/**
210
+	 * @return array
211
+	 * @throws EE_Error
212
+	 * @throws InvalidDataTypeException
213
+	 * @throws InvalidInterfaceException
214
+	 * @throws InvalidArgumentException
215
+	 */
216
+	protected function whereQueryParams()
217
+	{
218
+		$where_params = [
219
+			$this->related_model->get_foreign_key_to(
220
+				$this->main_model->get_this_model_name()
221
+			)->get_name() => $this->id,
222
+		];
223
+		try {
224
+			$relation_settings = $this->main_model->related_settings_for($this->related_model->get_this_model_name());
225
+		} catch (EE_Error $e) {
226
+			// This will happen for has-and-belongs-to-many relations, when this node's related model is that join table
227
+			// which hasn't been explicitly declared in the main model object's model's relations.
228
+			$relation_settings = null;
229
+		}
230
+		if ($relation_settings instanceof EE_Has_Many_Any_Relation) {
231
+			$where_params[ $this->related_model->get_field_containing_related_model_name()->get_name() ] =
232
+				$this->main_model->get_this_model_name();
233
+		}
234
+		return $where_params;
235
+	}
236
+
237
+
238
+	/**
239
+	 * @return array
240
+	 * @throws EE_Error
241
+	 * @throws ReflectionException
242
+	 */
243
+	public function toArray()
244
+	{
245
+		$tree = [
246
+			'count'    => $this->count,
247
+			'complete' => $this->isComplete(),
248
+			'objs'     => [],
249
+		];
250
+		foreach ($this->nodes as $id => $model_obj_node) {
251
+			$tree['objs'][ $id ] = $model_obj_node->toArray();
252
+		}
253
+		return $tree;
254
+	}
255
+
256
+
257
+	/**
258
+	 * Gets the IDs of all the model objects to delete; indexed first by model object name.
259
+	 *
260
+	 * @return array
261
+	 * @throws EE_Error
262
+	 * @throws ReflectionException
263
+	 */
264
+	public function getIds()
265
+	{
266
+		if (empty($this->nodes)) {
267
+			return [];
268
+		}
269
+		$ids = [
270
+			$this->related_model->get_this_model_name() => array_combine(
271
+				array_keys($this->nodes),
272
+				array_keys($this->nodes)
273
+			),
274
+		];
275
+		foreach ($this->nodes as $model_obj_node) {
276
+			$ids = array_replace_recursive($ids, $model_obj_node->getIds());
277
+		}
278
+		return $ids;
279
+	}
280
+
281
+
282
+	/**
283
+	 * Returns the number of sub-nodes found (ie, related model objects across this relation.)
284
+	 *
285
+	 * @return int
286
+	 */
287
+	public function countSubNodes()
288
+	{
289
+		return count($this->nodes);
290
+	}
291
+
292
+
293
+	/**
294
+	 * Don't serialize the models. Just record their names on some dynamic properties.
295
+	 *
296
+	 * @return array
297
+	 */
298
+	public function __sleep()
299
+	{
300
+		$this->m  = $this->main_model->get_this_model_name();
301
+		$this->rm = $this->related_model->get_this_model_name();
302
+		return array_merge(
303
+			[
304
+				'm',
305
+				'rm',
306
+				'id',
307
+				'count',
308
+				'nodes',
309
+			],
310
+			parent::__sleep()
311
+		);
312
+	}
313
+
314
+
315
+	/**
316
+	 * Use the dynamic properties to instantiate the models we use.
317
+	 *
318
+	 * @throws EE_Error
319
+	 * @throws InvalidArgumentException
320
+	 * @throws InvalidDataTypeException
321
+	 * @throws InvalidInterfaceException
322
+	 * @throws ReflectionException
323
+	 */
324
+	public function __wakeup()
325
+	{
326
+		$this->main_model    = EE_Registry::instance()->load_model($this->m);
327
+		$this->related_model = EE_Registry::instance()->load_model($this->rm);
328
+		parent::__wakeup();
329
+	}
330 330
 }
331 331
 // End of file RelationNode.php
332 332
 // Location: EventEspresso\core\services\orm\tree_traversal/RelationNode.php
Please login to merge, or discard this patch.
core/libraries/plugin_api/EE_Register_Personal_Data_Exporter.lib.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
      */
30 30
     public static function register(string $addon_name = '', array $setup_args = []): bool
31 31
     {
32
-        self::$exporters[ $addon_name ] = $setup_args;
32
+        self::$exporters[$addon_name] = $setup_args;
33 33
         // add to list of modules to be registered
34 34
         add_filter(
35 35
             'FHEE__EventEspresso_core_services_privacy_export_PersonalDataExporterManager__exporters',
@@ -44,7 +44,7 @@  discard block
 block discarded – undo
44 44
      */
45 45
     public static function deregister(string $addon_name = '')
46 46
     {
47
-        unset(self::$exporters[ $addon_name ]);
47
+        unset(self::$exporters[$addon_name]);
48 48
     }
49 49
 
50 50
 
Please login to merge, or discard this patch.
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -12,57 +12,57 @@
 block discarded – undo
12 12
  */
13 13
 class EE_Register_Personal_Data_Exporter implements EEI_Plugin_API
14 14
 {
15
-    /**
16
-     * FQCN for all privacy policy generators
17
-     *
18
-     * @var array keys are plugin_ids, and values are an array of FQCNs or FQCNs
19
-     */
20
-    protected static $exporters = [];
15
+	/**
16
+	 * FQCN for all privacy policy generators
17
+	 *
18
+	 * @var array keys are plugin_ids, and values are an array of FQCNs or FQCNs
19
+	 */
20
+	protected static $exporters = [];
21 21
 
22 22
 
23
-    /**
24
-     * @param string $addon_name
25
-     * @param array  $setup_args can be the fully qualified namespaces each containing only privacy policies,
26
-     *                           OR fully qualified class names of privacy policies
27
-     * @return bool
28
-     */
29
-    public static function register(string $addon_name = '', array $setup_args = []): bool
30
-    {
31
-        self::$exporters[ $addon_name ] = $setup_args;
32
-        // add to list of modules to be registered
33
-        add_filter(
34
-            'FHEE__EventEspresso_core_services_privacy_export_PersonalDataExporterManager__exporters',
35
-            ['EE_Register_Personal_Data_Exporter', 'addExporters']
36
-        );
37
-        return true;
38
-    }
23
+	/**
24
+	 * @param string $addon_name
25
+	 * @param array  $setup_args can be the fully qualified namespaces each containing only privacy policies,
26
+	 *                           OR fully qualified class names of privacy policies
27
+	 * @return bool
28
+	 */
29
+	public static function register(string $addon_name = '', array $setup_args = []): bool
30
+	{
31
+		self::$exporters[ $addon_name ] = $setup_args;
32
+		// add to list of modules to be registered
33
+		add_filter(
34
+			'FHEE__EventEspresso_core_services_privacy_export_PersonalDataExporterManager__exporters',
35
+			['EE_Register_Personal_Data_Exporter', 'addExporters']
36
+		);
37
+		return true;
38
+	}
39 39
 
40 40
 
41
-    /**
42
-     * @param string $addon_name
43
-     */
44
-    public static function deregister(string $addon_name = '')
45
-    {
46
-        unset(self::$exporters[ $addon_name ]);
47
-    }
41
+	/**
42
+	 * @param string $addon_name
43
+	 */
44
+	public static function deregister(string $addon_name = '')
45
+	{
46
+		unset(self::$exporters[ $addon_name ]);
47
+	}
48 48
 
49 49
 
50
-    /**
51
-     * Adds our personal data exporters registered by add-ons
52
-     *
53
-     * @param string[] $exporters
54
-     * @return string[]
55
-     */
56
-    public static function addExporters(array $exporters): array
57
-    {
58
-        return array_merge($exporters, ...self::$exporters);
59
-    }
50
+	/**
51
+	 * Adds our personal data exporters registered by add-ons
52
+	 *
53
+	 * @param string[] $exporters
54
+	 * @return string[]
55
+	 */
56
+	public static function addExporters(array $exporters): array
57
+	{
58
+		return array_merge($exporters, ...self::$exporters);
59
+	}
60 60
 
61 61
 
62
-    public static function reset(): void
63
-    {
64
-        self::$exporters = [];
65
-    }
62
+	public static function reset(): void
63
+	{
64
+		self::$exporters = [];
65
+	}
66 66
 }
67 67
 // End of file EE_Register_Personal_Data_Exporter.lib.php
68 68
 // Location: ${NAMESPACE}/EE_Register_Personal_Data_Exporter.lib.php
Please login to merge, or discard this patch.
core/libraries/plugin_api/EE_Register_Personal_Data_Eraser.lib.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
      */
30 30
     public static function register(string $addon_name = '', array $setup_args = []): bool
31 31
     {
32
-        self::$erasers[ $addon_name ] = $setup_args;
32
+        self::$erasers[$addon_name] = $setup_args;
33 33
         // add to list of modules to be registered
34 34
         add_filter(
35 35
             'FHEE__EventEspresso_core_services_privacy_erasure_PersonalDataEraserManager__erasers',
@@ -44,7 +44,7 @@  discard block
 block discarded – undo
44 44
      */
45 45
     public static function deregister(string $addon_name = '')
46 46
     {
47
-        unset(self::$erasers[ $addon_name ]);
47
+        unset(self::$erasers[$addon_name]);
48 48
     }
49 49
 
50 50
 
Please login to merge, or discard this patch.
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -12,57 +12,57 @@
 block discarded – undo
12 12
  */
13 13
 class EE_Register_Personal_Data_Eraser implements EEI_Plugin_API
14 14
 {
15
-    /**
16
-     * FQCN for all privacy policy generators
17
-     *
18
-     * @var array keys are plugin_ids, and values are an array of FQCNs or FQCNs
19
-     */
20
-    protected static $erasers = [];
15
+	/**
16
+	 * FQCN for all privacy policy generators
17
+	 *
18
+	 * @var array keys are plugin_ids, and values are an array of FQCNs or FQCNs
19
+	 */
20
+	protected static $erasers = [];
21 21
 
22 22
 
23
-    /**
24
-     * @param string $addon_name
25
-     * @param array  $setup_args can be the fully qualified namespaces each containing only privacy policies,
26
-     *                           OR fully qualified class names of privacy policies
27
-     * @return bool
28
-     */
29
-    public static function register(string $addon_name = '', array $setup_args = []): bool
30
-    {
31
-        self::$erasers[ $addon_name ] = $setup_args;
32
-        // add to list of modules to be registered
33
-        add_filter(
34
-            'FHEE__EventEspresso_core_services_privacy_erasure_PersonalDataEraserManager__erasers',
35
-            ['EE_Register_Personal_Data_Eraser', 'addErasers']
36
-        );
37
-        return true;
38
-    }
23
+	/**
24
+	 * @param string $addon_name
25
+	 * @param array  $setup_args can be the fully qualified namespaces each containing only privacy policies,
26
+	 *                           OR fully qualified class names of privacy policies
27
+	 * @return bool
28
+	 */
29
+	public static function register(string $addon_name = '', array $setup_args = []): bool
30
+	{
31
+		self::$erasers[ $addon_name ] = $setup_args;
32
+		// add to list of modules to be registered
33
+		add_filter(
34
+			'FHEE__EventEspresso_core_services_privacy_erasure_PersonalDataEraserManager__erasers',
35
+			['EE_Register_Personal_Data_Eraser', 'addErasers']
36
+		);
37
+		return true;
38
+	}
39 39
 
40 40
 
41
-    /**
42
-     * @param string $addon_name
43
-     */
44
-    public static function deregister(string $addon_name = '')
45
-    {
46
-        unset(self::$erasers[ $addon_name ]);
47
-    }
41
+	/**
42
+	 * @param string $addon_name
43
+	 */
44
+	public static function deregister(string $addon_name = '')
45
+	{
46
+		unset(self::$erasers[ $addon_name ]);
47
+	}
48 48
 
49 49
 
50
-    /**
51
-     * Adds our personal data erasers registered by add-ons
52
-     *
53
-     * @param string[] $erasers
54
-     * @return string[]
55
-     */
56
-    public static function addErasers(array $erasers): array
57
-    {
58
-        return array_merge($erasers, ...self::$erasers);
59
-    }
50
+	/**
51
+	 * Adds our personal data erasers registered by add-ons
52
+	 *
53
+	 * @param string[] $erasers
54
+	 * @return string[]
55
+	 */
56
+	public static function addErasers(array $erasers): array
57
+	{
58
+		return array_merge($erasers, ...self::$erasers);
59
+	}
60 60
 
61 61
 
62
-    public static function reset(): void
63
-    {
64
-        self::$erasers = [];
65
-    }
62
+	public static function reset(): void
63
+	{
64
+		self::$erasers = [];
65
+	}
66 66
 }
67 67
 // End of file EE_Register_Personal_Data_Eraser.lib.php
68 68
 // Location: ${NAMESPACE}/EE_Register_Personal_Data_Eraser.lib.php
Please login to merge, or discard this patch.
core/libraries/plugin_api/EE_Register_Messages_Shortcode_Library.lib.php 2 patches
Spacing   +9 added lines, -9 removed lines patch added patch discarded remove patch
@@ -65,7 +65,7 @@  discard block
 block discarded – undo
65 65
         }
66 66
 
67 67
         // make sure we don't register twice
68
-        if (isset(self::$_ee_messages_shortcode_registry[ $addon_name ])) {
68
+        if (isset(self::$_ee_messages_shortcode_registry[$addon_name])) {
69 69
             return true;
70 70
         }
71 71
 
@@ -87,7 +87,7 @@  discard block
 block discarded – undo
87 87
             );
88 88
         }
89 89
 
90
-        self::$_ee_messages_shortcode_registry[ $addon_name ] = [
90
+        self::$_ee_messages_shortcode_registry[$addon_name] = [
91 91
             'autoloadpaths'        => (array) $setup_args['autoloadpaths'],
92 92
             'list_type_shortcodes' => ! empty($setup_args['list_type_shortcodes'])
93 93
                 ? (array) $setup_args['list_type_shortcodes'] : [],
@@ -101,19 +101,19 @@  discard block
 block discarded – undo
101 101
         );
102 102
 
103 103
         // add below filters if the required callback is provided.
104
-        if (! empty($setup_args['msgr_validator_callback'])) {
104
+        if ( ! empty($setup_args['msgr_validator_callback'])) {
105 105
             add_filter('FHEE__EE_messenger__get_validator_config', $setup_args['msgr_validator_callback'], 10, 2);
106 106
         }
107 107
 
108
-        if (! empty($setup_args['msgr_template_fields_callback'])) {
108
+        if ( ! empty($setup_args['msgr_template_fields_callback'])) {
109 109
             add_filter('FHEE__EE_messenger__get_template_fields', $setup_args['msgr_template_fields_callback'], 10, 2);
110 110
         }
111 111
 
112
-        if (! empty($setup_args['valid_shortcodes_callback'])) {
112
+        if ( ! empty($setup_args['valid_shortcodes_callback'])) {
113 113
             add_filter('FHEE__EE_Messages_Base__get_valid_shortcodes', $setup_args['valid_shortcodes_callback'], 10, 2);
114 114
         }
115 115
 
116
-        if (! empty($setup_args['list_type_shortcodes'])) {
116
+        if ( ! empty($setup_args['list_type_shortcodes'])) {
117 117
             add_filter(
118 118
                 'FHEE__EEH_Parse_Shortcodes___parse_message_template__list_type_shortcodes',
119 119
                 ['EE_Register_Messages_Shortcode_Library', 'register_list_type_shortcodes'],
@@ -133,7 +133,7 @@  discard block
 block discarded – undo
133 133
      */
134 134
     public static function deregister(string $addon_name = '')
135 135
     {
136
-        unset(self::$_ee_messages_shortcode_registry[ $addon_name ]);
136
+        unset(self::$_ee_messages_shortcode_registry[$addon_name]);
137 137
     }
138 138
 
139 139
 
@@ -148,7 +148,7 @@  discard block
 block discarded – undo
148 148
     public static function register_msgs_autoload_paths(array $paths): array
149 149
     {
150 150
         $autoload_paths = [];
151
-        if (! empty(self::$_ee_messages_shortcode_registry)) {
151
+        if ( ! empty(self::$_ee_messages_shortcode_registry)) {
152 152
             foreach (self::$_ee_messages_shortcode_registry as $st_reg) {
153 153
                 if (empty($st_reg['autoloadpaths'])) {
154 154
                     continue;
@@ -176,7 +176,7 @@  discard block
 block discarded – undo
176 176
         }
177 177
         $shortcodes = [];
178 178
         foreach (self::$_ee_messages_shortcode_registry as $sc_reg) {
179
-            if (! empty($sc_reg['list_type_shortcodes'])) {
179
+            if ( ! empty($sc_reg['list_type_shortcodes'])) {
180 180
                 $shortcodes[] = $sc_reg['list_type_shortcodes'];
181 181
             }
182 182
         }
Please login to merge, or discard this patch.
Indentation   +176 added lines, -176 removed lines patch added patch discarded remove patch
@@ -10,180 +10,180 @@
 block discarded – undo
10 10
  */
11 11
 class EE_Register_Messages_Shortcode_Library implements EEI_Plugin_API
12 12
 {
13
-    /**
14
-     * holds values for registered messages shortcode libraries
15
-     *
16
-     * @var array
17
-     */
18
-    protected static $_ee_messages_shortcode_registry = [];
19
-
20
-
21
-    /**
22
-     * Helper method for registering a new shortcodes library class for the messages system.
23
-     *
24
-     * Note this is not used for adding shortcodes to existing libraries.  It's for registering anything
25
-     * related to registering a new EE_{shortcode_library_name}_Shortcodes.lib.php class.
26
-     *
27
-     * @param string $addon_name    What is the name of this shortcode library (e.g. 'question_list');
28
-     * @param array  $setup_args    An array of arguments provided for registering the new messages shortcode library.
29
-     *                              {
30
-     *
31
-     * @type array $autoloadpaths                       An array of paths to add to the messages autoloader
32
-     *                                                  for the new shortcode library class file.
33
-     * @type string $msgr_validator_callback            Callback for a method that will register the library with the
34
-     *                                                  messenger _validator_config. Optional.
35
-     * @type string  $msgr_template_fields_callback     Callback for changing adding the _template_fields property for
36
-     *                                                  messenger. For example, the shortcode library may add a new
37
-     *                                                  field to the message templates. Optional.
38
-     * @type string  $valid_shortcodes_callback         Callback for message types _valid_shortcodes array setup.
39
-     *                                                  Optional.
40
-     * @type array $list_type_shortcodes                If there are any specific shortcodes with this message
41
-     *                                                  shortcode library that should be considered "list type"
42
-     *                                                  then include them in an array.
43
-     *                                                  List Type shortcodes are shortcodes that have a corresponding
44
-     *                                                  field that indicates how they are parsed. Optional.
45
-     *                              }
46
-     * @return bool
47
-     * @throws EE_Error
48
-     * @throws EE_Error
49
-     * @since    4.3.0
50
-     *
51
-     */
52
-    public static function register(string $addon_name = '', array $setup_args = []): bool
53
-    {
54
-
55
-        // required fields MUST be present, so let's make sure they are.
56
-        if (empty($addon_name) || ! is_array($setup_args) || empty($setup_args['autoloadpaths'])) {
57
-            throw new EE_Error(
58
-                esc_html__(
59
-                    'In order to register a messages shortcode library with EE_Register_Messages_Shortcode_Library::register, you must include a "name" (a unique identifier for this set of message shortcodes), and an array containing the following keys: : "autoload_paths"',
60
-                    'event_espresso'
61
-                )
62
-            );
63
-        }
64
-
65
-        // make sure we don't register twice
66
-        if (isset(self::$_ee_messages_shortcode_registry[ $addon_name ])) {
67
-            return true;
68
-        }
69
-
70
-        // make sure this was called in the right place!
71
-        if (
72
-            ! did_action('EE_Brewing_Regular___messages_caf')
73
-            || did_action('AHEE__EE_System__perform_activations_upgrades_and_migrations')
74
-        ) {
75
-            EE_Error::doing_it_wrong(
76
-                __METHOD__,
77
-                sprintf(
78
-                    esc_html__(
79
-                        'Should be only called on the "EE_Brewing_Regular___messages_caf" hook (Trying to register a library named %s).',
80
-                        'event_espresso'
81
-                    ),
82
-                    $addon_name
83
-                ),
84
-                '4.3.0'
85
-            );
86
-        }
87
-
88
-        self::$_ee_messages_shortcode_registry[ $addon_name ] = [
89
-            'autoloadpaths'        => (array) $setup_args['autoloadpaths'],
90
-            'list_type_shortcodes' => ! empty($setup_args['list_type_shortcodes'])
91
-                ? (array) $setup_args['list_type_shortcodes'] : [],
92
-        ];
93
-
94
-        // add filters
95
-        add_filter(
96
-            'FHEE__EED_Messages___set_messages_paths___MSG_PATHS',
97
-            ['EE_Register_Messages_Shortcode_Library', 'register_msgs_autoload_paths'],
98
-            10
99
-        );
100
-
101
-        // add below filters if the required callback is provided.
102
-        if (! empty($setup_args['msgr_validator_callback'])) {
103
-            add_filter('FHEE__EE_messenger__get_validator_config', $setup_args['msgr_validator_callback'], 10, 2);
104
-        }
105
-
106
-        if (! empty($setup_args['msgr_template_fields_callback'])) {
107
-            add_filter('FHEE__EE_messenger__get_template_fields', $setup_args['msgr_template_fields_callback'], 10, 2);
108
-        }
109
-
110
-        if (! empty($setup_args['valid_shortcodes_callback'])) {
111
-            add_filter('FHEE__EE_Messages_Base__get_valid_shortcodes', $setup_args['valid_shortcodes_callback'], 10, 2);
112
-        }
113
-
114
-        if (! empty($setup_args['list_type_shortcodes'])) {
115
-            add_filter(
116
-                'FHEE__EEH_Parse_Shortcodes___parse_message_template__list_type_shortcodes',
117
-                ['EE_Register_Messages_Shortcode_Library', 'register_list_type_shortcodes'],
118
-                10
119
-            );
120
-        }
121
-        return true;
122
-    }
123
-
124
-
125
-    /**
126
-     * This deregisters any messages shortcode library previously registered with the given name.
127
-     *
128
-     * @param string $addon_name name used to register the shortcode library.
129
-     * @return  void
130
-     * @since    4.3.0
131
-     */
132
-    public static function deregister(string $addon_name = '')
133
-    {
134
-        unset(self::$_ee_messages_shortcode_registry[ $addon_name ]);
135
-    }
136
-
137
-
138
-    /**
139
-     * callback for FHEE__EED_Messages___set_messages_paths___MSG_PATHS filter.
140
-     *
141
-     * @param array $paths array of paths to be checked by EE_messages autoloader.
142
-     * @return array
143
-     * @since    4.3.0
144
-     *
145
-     */
146
-    public static function register_msgs_autoload_paths(array $paths): array
147
-    {
148
-        $autoload_paths = [];
149
-        if (! empty(self::$_ee_messages_shortcode_registry)) {
150
-            foreach (self::$_ee_messages_shortcode_registry as $st_reg) {
151
-                if (empty($st_reg['autoloadpaths'])) {
152
-                    continue;
153
-                }
154
-                $autoload_paths[] = $st_reg['autoloadpaths'];
155
-            }
156
-        }
157
-        return array_merge($paths, ...$autoload_paths);
158
-    }
159
-
160
-
161
-    /**
162
-     * This is the callback for the FHEE__EEH_Parse_Shortcodes___parse_message_template__list_type_shortcodes
163
-     * filter which is used to add additional list type shortcodes.
164
-     *
165
-     * @param array $original_shortcodes
166
-     * @return  array                                   Modifications to original shortcodes.
167
-     * @since 4.3.0
168
-     *
169
-     */
170
-    public static function register_list_type_shortcodes(array $original_shortcodes): array
171
-    {
172
-        if (empty(self::$_ee_messages_shortcode_registry)) {
173
-            return $original_shortcodes;
174
-        }
175
-        $shortcodes = [];
176
-        foreach (self::$_ee_messages_shortcode_registry as $sc_reg) {
177
-            if (! empty($sc_reg['list_type_shortcodes'])) {
178
-                $shortcodes[] = $sc_reg['list_type_shortcodes'];
179
-            }
180
-        }
181
-        return array_merge($original_shortcodes, ...$shortcodes);
182
-    }
183
-
184
-
185
-    public static function reset(): void
186
-    {
187
-        self::$_ee_messages_shortcode_registry = [];
188
-    }
13
+	/**
14
+	 * holds values for registered messages shortcode libraries
15
+	 *
16
+	 * @var array
17
+	 */
18
+	protected static $_ee_messages_shortcode_registry = [];
19
+
20
+
21
+	/**
22
+	 * Helper method for registering a new shortcodes library class for the messages system.
23
+	 *
24
+	 * Note this is not used for adding shortcodes to existing libraries.  It's for registering anything
25
+	 * related to registering a new EE_{shortcode_library_name}_Shortcodes.lib.php class.
26
+	 *
27
+	 * @param string $addon_name    What is the name of this shortcode library (e.g. 'question_list');
28
+	 * @param array  $setup_args    An array of arguments provided for registering the new messages shortcode library.
29
+	 *                              {
30
+	 *
31
+	 * @type array $autoloadpaths                       An array of paths to add to the messages autoloader
32
+	 *                                                  for the new shortcode library class file.
33
+	 * @type string $msgr_validator_callback            Callback for a method that will register the library with the
34
+	 *                                                  messenger _validator_config. Optional.
35
+	 * @type string  $msgr_template_fields_callback     Callback for changing adding the _template_fields property for
36
+	 *                                                  messenger. For example, the shortcode library may add a new
37
+	 *                                                  field to the message templates. Optional.
38
+	 * @type string  $valid_shortcodes_callback         Callback for message types _valid_shortcodes array setup.
39
+	 *                                                  Optional.
40
+	 * @type array $list_type_shortcodes                If there are any specific shortcodes with this message
41
+	 *                                                  shortcode library that should be considered "list type"
42
+	 *                                                  then include them in an array.
43
+	 *                                                  List Type shortcodes are shortcodes that have a corresponding
44
+	 *                                                  field that indicates how they are parsed. Optional.
45
+	 *                              }
46
+	 * @return bool
47
+	 * @throws EE_Error
48
+	 * @throws EE_Error
49
+	 * @since    4.3.0
50
+	 *
51
+	 */
52
+	public static function register(string $addon_name = '', array $setup_args = []): bool
53
+	{
54
+
55
+		// required fields MUST be present, so let's make sure they are.
56
+		if (empty($addon_name) || ! is_array($setup_args) || empty($setup_args['autoloadpaths'])) {
57
+			throw new EE_Error(
58
+				esc_html__(
59
+					'In order to register a messages shortcode library with EE_Register_Messages_Shortcode_Library::register, you must include a "name" (a unique identifier for this set of message shortcodes), and an array containing the following keys: : "autoload_paths"',
60
+					'event_espresso'
61
+				)
62
+			);
63
+		}
64
+
65
+		// make sure we don't register twice
66
+		if (isset(self::$_ee_messages_shortcode_registry[ $addon_name ])) {
67
+			return true;
68
+		}
69
+
70
+		// make sure this was called in the right place!
71
+		if (
72
+			! did_action('EE_Brewing_Regular___messages_caf')
73
+			|| did_action('AHEE__EE_System__perform_activations_upgrades_and_migrations')
74
+		) {
75
+			EE_Error::doing_it_wrong(
76
+				__METHOD__,
77
+				sprintf(
78
+					esc_html__(
79
+						'Should be only called on the "EE_Brewing_Regular___messages_caf" hook (Trying to register a library named %s).',
80
+						'event_espresso'
81
+					),
82
+					$addon_name
83
+				),
84
+				'4.3.0'
85
+			);
86
+		}
87
+
88
+		self::$_ee_messages_shortcode_registry[ $addon_name ] = [
89
+			'autoloadpaths'        => (array) $setup_args['autoloadpaths'],
90
+			'list_type_shortcodes' => ! empty($setup_args['list_type_shortcodes'])
91
+				? (array) $setup_args['list_type_shortcodes'] : [],
92
+		];
93
+
94
+		// add filters
95
+		add_filter(
96
+			'FHEE__EED_Messages___set_messages_paths___MSG_PATHS',
97
+			['EE_Register_Messages_Shortcode_Library', 'register_msgs_autoload_paths'],
98
+			10
99
+		);
100
+
101
+		// add below filters if the required callback is provided.
102
+		if (! empty($setup_args['msgr_validator_callback'])) {
103
+			add_filter('FHEE__EE_messenger__get_validator_config', $setup_args['msgr_validator_callback'], 10, 2);
104
+		}
105
+
106
+		if (! empty($setup_args['msgr_template_fields_callback'])) {
107
+			add_filter('FHEE__EE_messenger__get_template_fields', $setup_args['msgr_template_fields_callback'], 10, 2);
108
+		}
109
+
110
+		if (! empty($setup_args['valid_shortcodes_callback'])) {
111
+			add_filter('FHEE__EE_Messages_Base__get_valid_shortcodes', $setup_args['valid_shortcodes_callback'], 10, 2);
112
+		}
113
+
114
+		if (! empty($setup_args['list_type_shortcodes'])) {
115
+			add_filter(
116
+				'FHEE__EEH_Parse_Shortcodes___parse_message_template__list_type_shortcodes',
117
+				['EE_Register_Messages_Shortcode_Library', 'register_list_type_shortcodes'],
118
+				10
119
+			);
120
+		}
121
+		return true;
122
+	}
123
+
124
+
125
+	/**
126
+	 * This deregisters any messages shortcode library previously registered with the given name.
127
+	 *
128
+	 * @param string $addon_name name used to register the shortcode library.
129
+	 * @return  void
130
+	 * @since    4.3.0
131
+	 */
132
+	public static function deregister(string $addon_name = '')
133
+	{
134
+		unset(self::$_ee_messages_shortcode_registry[ $addon_name ]);
135
+	}
136
+
137
+
138
+	/**
139
+	 * callback for FHEE__EED_Messages___set_messages_paths___MSG_PATHS filter.
140
+	 *
141
+	 * @param array $paths array of paths to be checked by EE_messages autoloader.
142
+	 * @return array
143
+	 * @since    4.3.0
144
+	 *
145
+	 */
146
+	public static function register_msgs_autoload_paths(array $paths): array
147
+	{
148
+		$autoload_paths = [];
149
+		if (! empty(self::$_ee_messages_shortcode_registry)) {
150
+			foreach (self::$_ee_messages_shortcode_registry as $st_reg) {
151
+				if (empty($st_reg['autoloadpaths'])) {
152
+					continue;
153
+				}
154
+				$autoload_paths[] = $st_reg['autoloadpaths'];
155
+			}
156
+		}
157
+		return array_merge($paths, ...$autoload_paths);
158
+	}
159
+
160
+
161
+	/**
162
+	 * This is the callback for the FHEE__EEH_Parse_Shortcodes___parse_message_template__list_type_shortcodes
163
+	 * filter which is used to add additional list type shortcodes.
164
+	 *
165
+	 * @param array $original_shortcodes
166
+	 * @return  array                                   Modifications to original shortcodes.
167
+	 * @since 4.3.0
168
+	 *
169
+	 */
170
+	public static function register_list_type_shortcodes(array $original_shortcodes): array
171
+	{
172
+		if (empty(self::$_ee_messages_shortcode_registry)) {
173
+			return $original_shortcodes;
174
+		}
175
+		$shortcodes = [];
176
+		foreach (self::$_ee_messages_shortcode_registry as $sc_reg) {
177
+			if (! empty($sc_reg['list_type_shortcodes'])) {
178
+				$shortcodes[] = $sc_reg['list_type_shortcodes'];
179
+			}
180
+		}
181
+		return array_merge($original_shortcodes, ...$shortcodes);
182
+	}
183
+
184
+
185
+	public static function reset(): void
186
+	{
187
+		self::$_ee_messages_shortcode_registry = [];
188
+	}
189 189
 }
Please login to merge, or discard this patch.
core/libraries/plugin_api/EE_Register_Privacy_Policy.lib.php 2 patches
Spacing   +2 added lines, -2 removed lines patch added patch discarded remove patch
@@ -29,7 +29,7 @@  discard block
 block discarded – undo
29 29
      */
30 30
     public static function register(string $addon_name = '', array $setup_args = []): bool
31 31
     {
32
-        self::$privacy_policies[ $addon_name ] = $setup_args;
32
+        self::$privacy_policies[$addon_name] = $setup_args;
33 33
         // add to list of modules to be registered
34 34
         add_filter(
35 35
             'FHEE__EventEspresso_core_services_privacy_policy_PrivacyPolicyManager__privacy_policies',
@@ -44,7 +44,7 @@  discard block
 block discarded – undo
44 44
      */
45 45
     public static function deregister(string $addon_name = '')
46 46
     {
47
-        unset(self::$privacy_policies[ $addon_name ]);
47
+        unset(self::$privacy_policies[$addon_name]);
48 48
     }
49 49
 
50 50
 
Please login to merge, or discard this patch.
Indentation   +43 added lines, -43 removed lines patch added patch discarded remove patch
@@ -12,57 +12,57 @@
 block discarded – undo
12 12
  */
13 13
 class EE_Register_Privacy_Policy implements EEI_Plugin_API
14 14
 {
15
-    /**
16
-     * FQCN for all privacy policy generators
17
-     *
18
-     * @var array keys are plugin_ids, and values are an array of FQCNs or FQCNs
19
-     */
20
-    protected static $privacy_policies = [];
15
+	/**
16
+	 * FQCN for all privacy policy generators
17
+	 *
18
+	 * @var array keys are plugin_ids, and values are an array of FQCNs or FQCNs
19
+	 */
20
+	protected static $privacy_policies = [];
21 21
 
22 22
 
23
-    /**
24
-     * @param string $addon_name
25
-     * @param array  $setup_args can be the fully qualified namespaces each containing only privacy policies,
26
-     *                           OR fully qualified class names of privacy policies
27
-     * @return bool
28
-     */
29
-    public static function register(string $addon_name = '', array $setup_args = []): bool
30
-    {
31
-        self::$privacy_policies[ $addon_name ] = $setup_args;
32
-        // add to list of modules to be registered
33
-        add_filter(
34
-            'FHEE__EventEspresso_core_services_privacy_policy_PrivacyPolicyManager__privacy_policies',
35
-            ['EE_Register_Privacy_Policy', 'addPrivacyPolicies']
36
-        );
37
-        return true;
38
-    }
23
+	/**
24
+	 * @param string $addon_name
25
+	 * @param array  $setup_args can be the fully qualified namespaces each containing only privacy policies,
26
+	 *                           OR fully qualified class names of privacy policies
27
+	 * @return bool
28
+	 */
29
+	public static function register(string $addon_name = '', array $setup_args = []): bool
30
+	{
31
+		self::$privacy_policies[ $addon_name ] = $setup_args;
32
+		// add to list of modules to be registered
33
+		add_filter(
34
+			'FHEE__EventEspresso_core_services_privacy_policy_PrivacyPolicyManager__privacy_policies',
35
+			['EE_Register_Privacy_Policy', 'addPrivacyPolicies']
36
+		);
37
+		return true;
38
+	}
39 39
 
40 40
 
41
-    /**
42
-     * @param string $addon_name
43
-     */
44
-    public static function deregister(string $addon_name = '')
45
-    {
46
-        unset(self::$privacy_policies[ $addon_name ]);
47
-    }
41
+	/**
42
+	 * @param string $addon_name
43
+	 */
44
+	public static function deregister(string $addon_name = '')
45
+	{
46
+		unset(self::$privacy_policies[ $addon_name ]);
47
+	}
48 48
 
49 49
 
50
-    /**
51
-     * Adds our privacy policy generators registered by add-ons
52
-     *
53
-     * @param string[] $privacy_policies
54
-     * @return string[]
55
-     */
56
-    public static function addPrivacyPolicies(array $privacy_policies): array
57
-    {
58
-        return array_merge($privacy_policies, ...self::$privacy_policies);
59
-    }
50
+	/**
51
+	 * Adds our privacy policy generators registered by add-ons
52
+	 *
53
+	 * @param string[] $privacy_policies
54
+	 * @return string[]
55
+	 */
56
+	public static function addPrivacyPolicies(array $privacy_policies): array
57
+	{
58
+		return array_merge($privacy_policies, ...self::$privacy_policies);
59
+	}
60 60
 
61 61
 
62
-    public static function reset(): void
63
-    {
64
-        self::$privacy_policies = [];
65
-    }
62
+	public static function reset(): void
63
+	{
64
+		self::$privacy_policies = [];
65
+	}
66 66
 }
67 67
 // End of file EE_Register_Privacy_Policy.lib.php
68 68
 // Location: ${NAMESPACE}/EE_Register_Privacy_Policy.lib.php
Please login to merge, or discard this patch.
core/libraries/plugin_api/EE_Register_Payment_Method.lib.php 2 patches
Spacing   +8 added lines, -8 removed lines patch added patch discarded remove patch
@@ -59,7 +59,7 @@  discard block
 block discarded – undo
59 59
             );
60 60
         }
61 61
         // make sure we don't register twice
62
-        if (isset(self::$_settings[ $addon_name ])) {
62
+        if (isset(self::$_settings[$addon_name])) {
63 63
             return true;
64 64
         }
65 65
         // make sure this was called in the right place!
@@ -77,7 +77,7 @@  discard block
 block discarded – undo
77 77
             );
78 78
         }
79 79
         // setup $_settings array from incoming values.
80
-        self::$_settings[ $addon_name ] = [
80
+        self::$_settings[$addon_name] = [
81 81
             // array of full server paths to any EE_PMT_Base children used
82 82
             'payment_method_paths' => isset($setup_args['payment_method_paths'])
83 83
                 ? (array) $setup_args['payment_method_paths']
@@ -93,12 +93,12 @@  discard block
 block discarded – undo
93 93
         if (did_action('FHEE__EE_Payment_Method_Manager__register_payment_methods__registered_payment_methods')) {
94 94
             $payment_method_manager = LoaderFactory::getLoader()->getShared('EE_Payment_Method_Manager');
95 95
             // register payment methods directly
96
-            foreach (self::$_settings[ $addon_name ]['payment_method_paths'] as $payment_method_path) {
96
+            foreach (self::$_settings[$addon_name]['payment_method_paths'] as $payment_method_path) {
97 97
                 $payment_method_manager->register_payment_method($payment_method_path);
98 98
             }
99 99
             $capabilities = LoaderFactory::getLoader()->getShared('EE_Capabilities');
100 100
             $capabilities->addCaps(
101
-                self::getPaymentMethodCapabilities(self::$_settings[ $addon_name ])
101
+                self::getPaymentMethodCapabilities(self::$_settings[$addon_name])
102 102
             );
103 103
         }
104 104
         return true;
@@ -135,13 +135,13 @@  discard block
 block discarded – undo
135 135
      */
136 136
     public static function deregister(string $addon_name = '')
137 137
     {
138
-        if (isset(self::$_settings[ $addon_name ])) {
138
+        if (isset(self::$_settings[$addon_name])) {
139 139
             // set action for just this module id to delay deregistration until core is loaded and ready.
140
-            $module_settings = self::$_settings[ $addon_name ];
141
-            unset(self::$_settings[ $addon_name ]);
140
+            $module_settings = self::$_settings[$addon_name];
141
+            unset(self::$_settings[$addon_name]);
142 142
             add_action(
143 143
                 'AHEE__EE_System__core_loaded_and_ready',
144
-                function () use ($module_settings) {
144
+                function() use ($module_settings) {
145 145
                     $capabilities = LoaderFactory::getLoader()->getShared('EE_Capabilities');
146 146
                     $capabilities->removeCaps(
147 147
                         EE_Register_Payment_Method::getPaymentMethodCapabilities($module_settings)
Please login to merge, or discard this patch.
Indentation   +155 added lines, -155 removed lines patch added patch discarded remove patch
@@ -18,169 +18,169 @@
 block discarded – undo
18 18
  */
19 19
 class EE_Register_Payment_Method implements EEI_Plugin_API
20 20
 {
21
-    /**
22
-     * Holds values for registered payment methods
23
-     *
24
-     * @var array
25
-     */
26
-    protected static $_settings = [];
21
+	/**
22
+	 * Holds values for registered payment methods
23
+	 *
24
+	 * @var array
25
+	 */
26
+	protected static $_settings = [];
27 27
 
28 28
 
29
-    /**
30
-     * Method for registering new EE_PMT_Base children
31
-     *
32
-     * @param string  $addon_name           a unique identifier for this set of modules Required.
33
-     * @param array   $setup_args           an array of arguments provided for registering modules Required.{
34
-     * @type string[] $payment_method_paths each element is the folder containing the EE_PMT_Base child class
35
-     *                                      (eg, 'public_html/wp-content/plugins/my_plugin/Payomatic/' which contains
36
-     *                                      the files EE_PMT_Payomatic.pm.php)
37
-     *                                      }
38
-     * @return bool
39
-     * @throws EE_Error
40
-     * @type array payment_method_paths    an array of full server paths to folders containing any EE_PMT_Base
41
-     *                                      children, or to the EED_Module files themselves
42
-     * @throws InvalidDataTypeException
43
-     * @throws DomainException
44
-     * @throws InvalidArgumentException
45
-     * @throws InvalidInterfaceException
46
-     * @throws InvalidDataTypeException
47
-     * @since    4.5.0
48
-     */
49
-    public static function register(string $addon_name = '', array $setup_args = []): bool
50
-    {
51
-        // required fields MUST be present, so let's make sure they are.
52
-        if (empty($addon_name) || ! is_array($setup_args) || empty($setup_args['payment_method_paths'])) {
53
-            throw new EE_Error(
54
-                esc_html__(
55
-                    'In order to register Payment Methods with EE_Register_Payment_Method::register(), you must include a "payment_method_id" (a unique identifier for this set of modules), and an array containing the following keys: "payment_method_paths" (an array of full server paths to folders that contain modules, or to the module files themselves)',
56
-                    'event_espresso'
57
-                )
58
-            );
59
-        }
60
-        // make sure we don't register twice
61
-        if (isset(self::$_settings[ $addon_name ])) {
62
-            return true;
63
-        }
64
-        // make sure this was called in the right place!
65
-        if (
66
-            ! did_action('AHEE__EE_System__load_espresso_addons')
67
-            || did_action('AHEE__EE_System__register_shortcodes_modules_and_widgets')
68
-        ) {
69
-            EE_Error::doing_it_wrong(
70
-                __METHOD__,
71
-                esc_html__(
72
-                    'An attempt to register modules has failed because it was not registered at the correct time.  Please use the "AHEE__EE_System__register_shortcodes_modules_and_widgets" hook to register modules.',
73
-                    'event_espresso'
74
-                ),
75
-                '4.3.0'
76
-            );
77
-        }
78
-        // setup $_settings array from incoming values.
79
-        self::$_settings[ $addon_name ] = [
80
-            // array of full server paths to any EE_PMT_Base children used
81
-            'payment_method_paths' => isset($setup_args['payment_method_paths'])
82
-                ? (array) $setup_args['payment_method_paths']
83
-                : [],
84
-        ];
85
-        // add to list of modules to be registered
86
-        add_filter(
87
-            'FHEE__EE_Payment_Method_Manager__register_payment_methods__payment_methods_to_register',
88
-            ['EE_Register_Payment_Method', 'add_payment_methods']
89
-        );
90
-        // If EE_Payment_Method_Manager::register_payment_methods has already been called,
91
-        // then we need to add our caps for this payment method manually
92
-        if (did_action('FHEE__EE_Payment_Method_Manager__register_payment_methods__registered_payment_methods')) {
93
-            $payment_method_manager = LoaderFactory::getLoader()->getShared('EE_Payment_Method_Manager');
94
-            // register payment methods directly
95
-            foreach (self::$_settings[ $addon_name ]['payment_method_paths'] as $payment_method_path) {
96
-                $payment_method_manager->register_payment_method($payment_method_path);
97
-            }
98
-            $capabilities = LoaderFactory::getLoader()->getShared('EE_Capabilities');
99
-            $capabilities->addCaps(
100
-                self::getPaymentMethodCapabilities(self::$_settings[ $addon_name ])
101
-            );
102
-        }
103
-        return true;
104
-    }
29
+	/**
30
+	 * Method for registering new EE_PMT_Base children
31
+	 *
32
+	 * @param string  $addon_name           a unique identifier for this set of modules Required.
33
+	 * @param array   $setup_args           an array of arguments provided for registering modules Required.{
34
+	 * @type string[] $payment_method_paths each element is the folder containing the EE_PMT_Base child class
35
+	 *                                      (eg, 'public_html/wp-content/plugins/my_plugin/Payomatic/' which contains
36
+	 *                                      the files EE_PMT_Payomatic.pm.php)
37
+	 *                                      }
38
+	 * @return bool
39
+	 * @throws EE_Error
40
+	 * @type array payment_method_paths    an array of full server paths to folders containing any EE_PMT_Base
41
+	 *                                      children, or to the EED_Module files themselves
42
+	 * @throws InvalidDataTypeException
43
+	 * @throws DomainException
44
+	 * @throws InvalidArgumentException
45
+	 * @throws InvalidInterfaceException
46
+	 * @throws InvalidDataTypeException
47
+	 * @since    4.5.0
48
+	 */
49
+	public static function register(string $addon_name = '', array $setup_args = []): bool
50
+	{
51
+		// required fields MUST be present, so let's make sure they are.
52
+		if (empty($addon_name) || ! is_array($setup_args) || empty($setup_args['payment_method_paths'])) {
53
+			throw new EE_Error(
54
+				esc_html__(
55
+					'In order to register Payment Methods with EE_Register_Payment_Method::register(), you must include a "payment_method_id" (a unique identifier for this set of modules), and an array containing the following keys: "payment_method_paths" (an array of full server paths to folders that contain modules, or to the module files themselves)',
56
+					'event_espresso'
57
+				)
58
+			);
59
+		}
60
+		// make sure we don't register twice
61
+		if (isset(self::$_settings[ $addon_name ])) {
62
+			return true;
63
+		}
64
+		// make sure this was called in the right place!
65
+		if (
66
+			! did_action('AHEE__EE_System__load_espresso_addons')
67
+			|| did_action('AHEE__EE_System__register_shortcodes_modules_and_widgets')
68
+		) {
69
+			EE_Error::doing_it_wrong(
70
+				__METHOD__,
71
+				esc_html__(
72
+					'An attempt to register modules has failed because it was not registered at the correct time.  Please use the "AHEE__EE_System__register_shortcodes_modules_and_widgets" hook to register modules.',
73
+					'event_espresso'
74
+				),
75
+				'4.3.0'
76
+			);
77
+		}
78
+		// setup $_settings array from incoming values.
79
+		self::$_settings[ $addon_name ] = [
80
+			// array of full server paths to any EE_PMT_Base children used
81
+			'payment_method_paths' => isset($setup_args['payment_method_paths'])
82
+				? (array) $setup_args['payment_method_paths']
83
+				: [],
84
+		];
85
+		// add to list of modules to be registered
86
+		add_filter(
87
+			'FHEE__EE_Payment_Method_Manager__register_payment_methods__payment_methods_to_register',
88
+			['EE_Register_Payment_Method', 'add_payment_methods']
89
+		);
90
+		// If EE_Payment_Method_Manager::register_payment_methods has already been called,
91
+		// then we need to add our caps for this payment method manually
92
+		if (did_action('FHEE__EE_Payment_Method_Manager__register_payment_methods__registered_payment_methods')) {
93
+			$payment_method_manager = LoaderFactory::getLoader()->getShared('EE_Payment_Method_Manager');
94
+			// register payment methods directly
95
+			foreach (self::$_settings[ $addon_name ]['payment_method_paths'] as $payment_method_path) {
96
+				$payment_method_manager->register_payment_method($payment_method_path);
97
+			}
98
+			$capabilities = LoaderFactory::getLoader()->getShared('EE_Capabilities');
99
+			$capabilities->addCaps(
100
+				self::getPaymentMethodCapabilities(self::$_settings[ $addon_name ])
101
+			);
102
+		}
103
+		return true;
104
+	}
105 105
 
106 106
 
107
-    /**
108
-     * Filters the list of payment methods to add ours.
109
-     * and they're just full filepaths to FOLDERS containing a payment method class file. Eg.
110
-     *
111
-     * @param array $payment_method_folders array of paths to all payment methods that require registering
112
-     * @return array
113
-     */
114
-    public static function add_payment_methods(array $payment_method_folders): array
115
-    {
116
-        $payment_method_paths = [];
117
-        foreach (self::$_settings as $settings) {
118
-            $payment_method_paths[] = $settings['payment_method_paths'];
119
-        }
120
-        return array_merge($payment_method_folders, ...$payment_method_paths);
121
-    }
107
+	/**
108
+	 * Filters the list of payment methods to add ours.
109
+	 * and they're just full filepaths to FOLDERS containing a payment method class file. Eg.
110
+	 *
111
+	 * @param array $payment_method_folders array of paths to all payment methods that require registering
112
+	 * @return array
113
+	 */
114
+	public static function add_payment_methods(array $payment_method_folders): array
115
+	{
116
+		$payment_method_paths = [];
117
+		foreach (self::$_settings as $settings) {
118
+			$payment_method_paths[] = $settings['payment_method_paths'];
119
+		}
120
+		return array_merge($payment_method_folders, ...$payment_method_paths);
121
+	}
122 122
 
123 123
 
124
-    /**
125
-     * This deregisters a module that was previously registered with a specific $addon_name.
126
-     *
127
-     * @param string $addon_name the name for the module that was previously registered
128
-     * @return void
129
-     * @throws DomainException
130
-     * @throws InvalidArgumentException
131
-     * @throws InvalidInterfaceException
132
-     * @throws InvalidDataTypeException
133
-     * @since    4.3.0
134
-     */
135
-    public static function deregister(string $addon_name = '')
136
-    {
137
-        if (isset(self::$_settings[ $addon_name ])) {
138
-            // set action for just this module id to delay deregistration until core is loaded and ready.
139
-            $module_settings = self::$_settings[ $addon_name ];
140
-            unset(self::$_settings[ $addon_name ]);
141
-            add_action(
142
-                'AHEE__EE_System__core_loaded_and_ready',
143
-                function () use ($module_settings) {
144
-                    $capabilities = LoaderFactory::getLoader()->getShared('EE_Capabilities');
145
-                    $capabilities->removeCaps(
146
-                        EE_Register_Payment_Method::getPaymentMethodCapabilities($module_settings)
147
-                    );
148
-                }
149
-            );
150
-        }
151
-    }
124
+	/**
125
+	 * This deregisters a module that was previously registered with a specific $addon_name.
126
+	 *
127
+	 * @param string $addon_name the name for the module that was previously registered
128
+	 * @return void
129
+	 * @throws DomainException
130
+	 * @throws InvalidArgumentException
131
+	 * @throws InvalidInterfaceException
132
+	 * @throws InvalidDataTypeException
133
+	 * @since    4.3.0
134
+	 */
135
+	public static function deregister(string $addon_name = '')
136
+	{
137
+		if (isset(self::$_settings[ $addon_name ])) {
138
+			// set action for just this module id to delay deregistration until core is loaded and ready.
139
+			$module_settings = self::$_settings[ $addon_name ];
140
+			unset(self::$_settings[ $addon_name ]);
141
+			add_action(
142
+				'AHEE__EE_System__core_loaded_and_ready',
143
+				function () use ($module_settings) {
144
+					$capabilities = LoaderFactory::getLoader()->getShared('EE_Capabilities');
145
+					$capabilities->removeCaps(
146
+						EE_Register_Payment_Method::getPaymentMethodCapabilities($module_settings)
147
+					);
148
+				}
149
+			);
150
+		}
151
+	}
152 152
 
153 153
 
154
-    /**
155
-     * returns an array of the caps that get added when a Payment Method is registered
156
-     *
157
-     * @param array $settings
158
-     * @return array
159
-     * @throws DomainException
160
-     * @throws InvalidArgumentException
161
-     * @throws InvalidInterfaceException
162
-     * @throws InvalidDataTypeException
163
-     * @access private  Developers do NOT use this method.  It's only public for PHP5.3 closure support (see deregister)
164
-     *                  When we drop support for PHP5.3 this will be made private again.  You have been warned.
165
-     */
166
-    public static function getPaymentMethodCapabilities(array $settings): array
167
-    {
168
-        $payment_method_manager = LoaderFactory::getLoader()->getShared('EE_Payment_Method_Manager');
169
-        $payment_method_caps    = ['administrator' => []];
170
-        if (isset($settings['payment_method_paths'])) {
171
-            foreach ($settings['payment_method_paths'] as $payment_method_path) {
172
-                $payment_method_caps = $payment_method_manager->addPaymentMethodCap(
173
-                    strtolower(basename($payment_method_path)),
174
-                    $payment_method_caps
175
-                );
176
-            }
177
-        }
178
-        return $payment_method_caps;
179
-    }
154
+	/**
155
+	 * returns an array of the caps that get added when a Payment Method is registered
156
+	 *
157
+	 * @param array $settings
158
+	 * @return array
159
+	 * @throws DomainException
160
+	 * @throws InvalidArgumentException
161
+	 * @throws InvalidInterfaceException
162
+	 * @throws InvalidDataTypeException
163
+	 * @access private  Developers do NOT use this method.  It's only public for PHP5.3 closure support (see deregister)
164
+	 *                  When we drop support for PHP5.3 this will be made private again.  You have been warned.
165
+	 */
166
+	public static function getPaymentMethodCapabilities(array $settings): array
167
+	{
168
+		$payment_method_manager = LoaderFactory::getLoader()->getShared('EE_Payment_Method_Manager');
169
+		$payment_method_caps    = ['administrator' => []];
170
+		if (isset($settings['payment_method_paths'])) {
171
+			foreach ($settings['payment_method_paths'] as $payment_method_path) {
172
+				$payment_method_caps = $payment_method_manager->addPaymentMethodCap(
173
+					strtolower(basename($payment_method_path)),
174
+					$payment_method_caps
175
+				);
176
+			}
177
+		}
178
+		return $payment_method_caps;
179
+	}
180 180
 
181 181
 
182
-    public static function reset(): void
183
-    {
184
-        self::$_settings = [];
185
-    }
182
+	public static function reset(): void
183
+	{
184
+		self::$_settings = [];
185
+	}
186 186
 }
Please login to merge, or discard this patch.
core/db_classes/EE_Form_Section.class.php 2 patches
Spacing   +6 added lines, -6 removed lines patch added patch discarded remove patch
@@ -101,7 +101,7 @@  discard block
 block discarded – undo
101 101
      */
102 102
     public function setUUID(string $UUID)
103 103
     {
104
-        if (! Cuid::isCuid($UUID)) {
104
+        if ( ! Cuid::isCuid($UUID)) {
105 105
             throw new InvalidArgumentException(
106 106
                 sprintf(
107 107
                     /* translators: 1: UUID value, 2: UUID generator function. */
@@ -177,7 +177,7 @@  discard block
 block discarded – undo
177 177
      */
178 178
     public function attributes(): ?Attributes
179 179
     {
180
-        if (! $this->attributes instanceof Attributes) {
180
+        if ( ! $this->attributes instanceof Attributes) {
181 181
             $this->attributes = Attributes::fromJson($this->get('FSC_attributes'));
182 182
         }
183 183
         return $this->attributes;
@@ -243,7 +243,7 @@  discard block
 block discarded – undo
243 243
         $form_elements = $this->get_many_related('Form_Element', ['order_by' => ['FIN_order' => 'ASC']]);
244 244
         foreach ($form_elements as $form_element) {
245 245
             if ($form_element instanceof EE_Form_Element) {
246
-                $this->form_elements[ $form_element->UUID() ] = $form_element;
246
+                $this->form_elements[$form_element->UUID()] = $form_element;
247 247
             }
248 248
         }
249 249
         return $this->form_elements;
@@ -260,7 +260,7 @@  discard block
 block discarded – undo
260 260
         foreach ($form_elements as $form_element) {
261 261
             if ($form_element instanceof EE_Form_Element) {
262 262
                 $this->_add_relation_to($form_element->UUID(), 'Form_Element');
263
-                $this->form_elements[ $form_element->UUID() ] = $form_element;
263
+                $this->form_elements[$form_element->UUID()] = $form_element;
264 264
             }
265 265
         }
266 266
     }
@@ -291,7 +291,7 @@  discard block
 block discarded – undo
291 291
     public function formElementFilter(): Closure
292 292
     {
293 293
         $FSC_UUID = strtolower($this->UUID());
294
-        return function ($form_element) use ($FSC_UUID) {
294
+        return function($form_element) use ($FSC_UUID) {
295 295
             return $form_element instanceof EE_Form_Element && strtolower($form_element->belongsTo()) === $FSC_UUID;
296 296
         };
297 297
     }
@@ -306,7 +306,7 @@  discard block
 block discarded – undo
306 306
      */
307 307
     public function label(): ?FormLabel
308 308
     {
309
-        if (! $this->label instanceof FormLabel) {
309
+        if ( ! $this->label instanceof FormLabel) {
310 310
             $this->label = FormLabel::fromJson($this->get('FSC_label'));
311 311
         }
312 312
         return $this->label;
Please login to merge, or discard this patch.
Indentation   +490 added lines, -490 removed lines patch added patch discarded remove patch
@@ -25,494 +25,494 @@
 block discarded – undo
25 25
  */
26 26
 class EE_Form_Section extends EE_Base_Class
27 27
 {
28
-    /**
29
-     * @var Attributes
30
-     */
31
-    private $attributes;
32
-
33
-    /**
34
-     * @var EE_Form_Element[]
35
-     */
36
-    private $form_elements = [];
37
-
38
-    /**
39
-     * @var FormLabel
40
-     */
41
-    private $label;
42
-
43
-
44
-
45
-    /**
46
-     * @param array $props_n_values
47
-     * @return EE_Form_Section
48
-     * @throws EE_Error
49
-     * @throws ReflectionException
50
-     */
51
-    public static function new_instance(array $props_n_values = []): EE_Form_Section
52
-    {
53
-        $has_object = parent::_check_for_object($props_n_values, __CLASS__);
54
-        return $has_object ?: new self($props_n_values);
55
-    }
56
-
57
-
58
-    /**
59
-     * @param array $props_n_values
60
-     * @return EE_Form_Section
61
-     * @throws EE_Error
62
-     * @throws ReflectionException
63
-     */
64
-    public static function new_instance_from_db(array $props_n_values = []): EE_Form_Section
65
-    {
66
-        return new self($props_n_values, true);
67
-    }
68
-
69
-
70
-    /**
71
-     * Form Section UUID (universally unique identifier)
72
-     *
73
-     * @return string
74
-     * @throws EE_Error
75
-     * @throws ReflectionException
76
-     */
77
-    public function UUID(): string
78
-    {
79
-        return $this->get('FSC_UUID');
80
-    }
81
-
82
-
83
-    /**
84
-     * last 8 characters of the UUID
85
-     *
86
-     * @return string
87
-     * @throws EE_Error
88
-     * @throws ReflectionException
89
-     */
90
-    public function uuidSlug(): string
91
-    {
92
-        return substr($this->UUID(), -8);
93
-    }
94
-
95
-
96
-    /**
97
-     * @param string $UUID
98
-     * @throws EE_Error
99
-     * @throws ReflectionException
100
-     */
101
-    public function setUUID(string $UUID)
102
-    {
103
-        if (! Cuid::isCuid($UUID)) {
104
-            throw new InvalidArgumentException(
105
-                sprintf(
106
-                    /* translators: 1: UUID value, 2: UUID generator function. */
107
-                    esc_html__(
108
-                        'The supplied UUID "%1$s" is invalid or missing. Please use %2$s to generate a valid one.',
109
-                        'event_espresso'
110
-                    ),
111
-                    $UUID,
112
-                    "`Cuid::cuid()`"
113
-                )
114
-            );
115
-        }
116
-        $this->set('FSC_UUID', $UUID);
117
-    }
118
-
119
-
120
-    /**
121
-     * Form user types that this form section should be presented to.
122
-     * Values correspond to the EEM_Form_Section::APPLIES_TO_* constants.
123
-     *
124
-     * @return string
125
-     * @throws EE_Error
126
-     * @throws ReflectionException
127
-     */
128
-    public function appliesTo(): string
129
-    {
130
-        return $this->get('FSC_appliesTo');
131
-    }
132
-
133
-
134
-    /**
135
-     * Form user types that this form section should be presented to.
136
-     * Values correspond to the EEM_Form_Section::APPLIES_TO_* constants.
137
-     *
138
-     * @param EE_Registration|string $registrant
139
-     * @return bool
140
-     * @throws EE_Error
141
-     * @throws ReflectionException
142
-     */
143
-    public function appliesToRegistrant($registrant): bool
144
-    {
145
-        switch ($this->appliesTo()) {
146
-            case EEM_Form_Section::APPLIES_TO_PRIMARY:
147
-                return $registrant instanceof EE_Registration && $registrant->is_primary_registrant();
148
-            case EEM_Form_Section::APPLIES_TO_PURCHASER:
149
-                return $registrant === 'purchaser';
150
-            case EEM_Form_Section::APPLIES_TO_REGISTRANTS:
151
-                return $registrant instanceof EE_Registration && ! $registrant->is_primary_registrant();
152
-            case EEM_Form_Section::APPLIES_TO_ALL:
153
-            default:
154
-                return true;
155
-        }
156
-    }
157
-
158
-
159
-    /**
160
-     * @param string $user_type
161
-     * @throws EE_Error
162
-     * @throws ReflectionException
163
-     */
164
-    public function setAppliesTo(string $user_type)
165
-    {
166
-        $this->set('FSC_appliesTo', $user_type);
167
-    }
168
-
169
-
170
-    /**
171
-     * JSON string of HTML attributes, such as class, to be applied to this form section\'s container.
172
-     *
173
-     * @return Attributes
174
-     * @throws EE_Error
175
-     * @throws ReflectionException
176
-     */
177
-    public function attributes(): ?Attributes
178
-    {
179
-        if (! $this->attributes instanceof Attributes) {
180
-            $this->attributes = Attributes::fromJson($this->get('FSC_attributes'));
181
-        }
182
-        return $this->attributes;
183
-    }
184
-
185
-
186
-    /**
187
-     * @param Attributes $attributes
188
-     * @throws EE_Error
189
-     * @throws ReflectionException
190
-     */
191
-    public function setAttributes(Attributes $attributes)
192
-    {
193
-        // set local object
194
-        $this->attributes = $attributes;
195
-        // then pass to model as an array which will get converted to JSON by the model field
196
-        $this->set('FSC_attributes', $attributes->toArray());
197
-    }
198
-
199
-
200
-    /**
201
-     * UUID or ID of related entity this form section belongs to.
202
-     *
203
-     * @return string
204
-     * @throws EE_Error
205
-     * @throws ReflectionException
206
-     */
207
-    public function belongsTo(): ?string
208
-    {
209
-        return $this->get('FSC_belongsTo');
210
-    }
211
-
212
-
213
-    /**
214
-     * @param string $parent_UUID
215
-     * @throws EE_Error
216
-     * @throws ReflectionException
217
-     */
218
-    public function setBelongsTo(string $parent_UUID)
219
-    {
220
-        $this->set('FSC_belongsTo', $parent_UUID);
221
-    }
222
-
223
-
224
-    /**
225
-     * @return EE_Form_Element[]
226
-     * @throws EE_Error
227
-     * @throws ReflectionException
228
-     */
229
-    public function formElements(): array
230
-    {
231
-        return $this->form_elements ?: $this->getFormElements();
232
-    }
233
-
234
-
235
-    /**
236
-     * @return EE_Form_Element[]
237
-     * @throws EE_Error
238
-     * @throws ReflectionException
239
-     */
240
-    private function getFormElements(): array
241
-    {
242
-        $form_elements = $this->get_many_related('Form_Element', ['order_by' => ['FIN_order' => 'ASC']]);
243
-        foreach ($form_elements as $form_element) {
244
-            if ($form_element instanceof EE_Form_Element) {
245
-                $this->form_elements[ $form_element->UUID() ] = $form_element;
246
-            }
247
-        }
248
-        return $this->form_elements;
249
-    }
250
-
251
-
252
-    /**
253
-     * @param EE_Form_Element[] $form_elements
254
-     * @throws EE_Error
255
-     * @throws ReflectionException
256
-     */
257
-    public function setFormElements(array $form_elements): void
258
-    {
259
-        foreach ($form_elements as $form_element) {
260
-            if ($form_element instanceof EE_Form_Element) {
261
-                $this->_add_relation_to($form_element->UUID(), 'Form_Element');
262
-                $this->form_elements[ $form_element->UUID() ] = $form_element;
263
-            }
264
-        }
265
-    }
266
-
267
-
268
-    /**
269
-     * @param EE_Form_Element[] $all_form_elements
270
-     * @return EE_Form_Element[]
271
-     * @throws EE_Error
272
-     * @throws ReflectionException
273
-     */
274
-    public function filterFormElements(array $all_form_elements): array
275
-    {
276
-        return array_filter($all_form_elements, $this->formElementFilter());
277
-    }
278
-
279
-
280
-    /**
281
-     * returns a closure that can be used to filter form elements for this form section
282
-     * usage:
283
-     *  $filter = EEM_Form_Element::formElementFilter();
284
-     *  $filtered_form_elements = array_filter( $all_form_elements, $filter );
285
-     *
286
-     * @return Closure
287
-     * @throws EE_Error
288
-     * @throws ReflectionException
289
-     */
290
-    public function formElementFilter(): Closure
291
-    {
292
-        $FSC_UUID = strtolower($this->UUID());
293
-        return function ($form_element) use ($FSC_UUID) {
294
-            return $form_element instanceof EE_Form_Element && strtolower($form_element->belongsTo()) === $FSC_UUID;
295
-        };
296
-    }
297
-
298
-
299
-    /**
300
-     * returns a FormLabel object for managing form section labels, ie: the form section heading
301
-     *
302
-     * @return FormLabel
303
-     * @throws EE_Error
304
-     * @throws ReflectionException
305
-     */
306
-    public function label(): ?FormLabel
307
-    {
308
-        if (! $this->label instanceof FormLabel) {
309
-            $this->label = FormLabel::fromJson($this->get('FSC_label'));
310
-        }
311
-        return $this->label;
312
-    }
313
-
314
-
315
-    /**
316
-     * @param FormLabel $label
317
-     * @throws EE_Error
318
-     * @throws ReflectionException
319
-     */
320
-    public function setLabel(FormLabel $label)
321
-    {
322
-        // set local object
323
-        $this->label = $label;
324
-        // then pass to model as an array which will get converted to JSON by the model field
325
-        $this->set('FSC_label', $label->toJson());
326
-    }
327
-
328
-
329
-    /**
330
-     * Order in which form section appears in a form.
331
-     *
332
-     * @return int
333
-     * @throws EE_Error
334
-     * @throws ReflectionException
335
-     */
336
-    public function order(): int
337
-    {
338
-        return $this->get('FSC_order');
339
-    }
340
-
341
-
342
-    /**
343
-     * @param int $order
344
-     * @throws EE_Error
345
-     * @throws ReflectionException
346
-     */
347
-    public function setOrder(int $order)
348
-    {
349
-        $this->set('FSC_order', $order);
350
-    }
351
-
352
-
353
-    /**
354
-     * combination of public label and UUID slug for use in identifiers
355
-     *
356
-     * @return string
357
-     * @throws EE_Error
358
-     * @throws ReflectionException
359
-     */
360
-    public function slug(): ?string
361
-    {
362
-        $label = sanitize_title($this->label()->publicLabel());
363
-        return "{$label}-{$this->uuidSlug()}";
364
-    }
365
-
366
-
367
-    /**
368
-     * Whether form section is active, archived, trashed, or used as a default on new forms.
369
-     * Values correspond to the EEM_Form_Section::STATUS_* constants.
370
-     *
371
-     * @return string
372
-     * @throws EE_Error
373
-     * @throws ReflectionException
374
-     */
375
-    public function status(): ?string
376
-    {
377
-        return $this->get('FSC_status');
378
-    }
379
-
380
-
381
-    /**
382
-     * Whether form section is active, archived, trashed, or used as a default on new forms.
383
-     * Values correspond to the EEM_Form_Section::STATUS_* constants.
384
-     *
385
-     * @param string $status
386
-     * @throws EE_Error
387
-     * @throws ReflectionException
388
-     */
389
-    public function setStatus(string $status)
390
-    {
391
-        $this->set('FSC_status', $status);
392
-    }
393
-
394
-
395
-    /**
396
-     * returns the id the wordpress user who created this question
397
-     *
398
-     * @return int
399
-     * @throws EE_Error
400
-     * @throws ReflectionException
401
-     */
402
-    public function wp_user(): int
403
-    {
404
-        return $this->get('FSC_wpUser');
405
-    }
406
-
407
-
408
-    /**
409
-     * @param int $wp_user
410
-     * @throws EE_Error
411
-     * @throws ReflectionException
412
-     */
413
-    public function setWpUser(int $wp_user)
414
-    {
415
-        $this->set('FSC_wpUser', $wp_user);
416
-    }
417
-
418
-
419
-    /**
420
-     * @param array $set_cols_n_values
421
-     * @return bool|int|string
422
-     * @throws EE_Error
423
-     * @throws ReflectionException
424
-     */
425
-    public function save($set_cols_n_values = [])
426
-    {
427
-        // make sure internal versions for all composite objects are updated
428
-        $this->set('FSC_attributes', $this->attributes()->toArray());
429
-        $this->set('FSC_label', $this->label()->toArray());
430
-        return parent::save($set_cols_n_values);
431
-    }
432
-
433
-    /**
434
-     * Whether the section is active.
435
-     *
436
-     * @return boolean  TRUE if is active, FALSE if not.
437
-     * @throws ReflectionException
438
-     * @throws InvalidArgumentException
439
-     * @throws InvalidInterfaceException
440
-     * @throws InvalidDataTypeException
441
-     * @throws EE_Error
442
-     */
443
-    public function isActive(): bool
444
-    {
445
-        return $this->status() === FormStatus::ACTIVE;
446
-    }
447
-
448
-    /**
449
-     * Whether the section is archived.
450
-     *
451
-     * @return boolean  TRUE if is archived, FALSE if not.
452
-     * @throws ReflectionException
453
-     * @throws InvalidArgumentException
454
-     * @throws InvalidInterfaceException
455
-     * @throws InvalidDataTypeException
456
-     * @throws EE_Error
457
-     */
458
-    public function isArchived(): bool
459
-    {
460
-        return $this->status() === FormStatus::ARCHIVED;
461
-    }
462
-
463
-    /**
464
-     * Whether the section is a default one.
465
-     *
466
-     * @return boolean  TRUE if is default, FALSE if not.
467
-     * @throws ReflectionException
468
-     * @throws InvalidArgumentException
469
-     * @throws InvalidInterfaceException
470
-     * @throws InvalidDataTypeException
471
-     * @throws EE_Error
472
-     */
473
-    public function isDefault(): bool
474
-    {
475
-        return $this->status() === FormStatus::DEFAULT;
476
-    }
477
-
478
-    /**
479
-     * Whether the section is a shared one.
480
-     *
481
-     * @return boolean  TRUE if is shared, FALSE if not.
482
-     * @throws ReflectionException
483
-     * @throws InvalidArgumentException
484
-     * @throws InvalidInterfaceException
485
-     * @throws InvalidDataTypeException
486
-     * @throws EE_Error
487
-     */
488
-    public function isShared(): bool
489
-    {
490
-        return $this->status() === FormStatus::SHARED;
491
-    }
492
-
493
-    /**
494
-     * Whether the section is trashed.
495
-     *
496
-     * @return boolean  TRUE if is trashed, FALSE if not.
497
-     * @throws ReflectionException
498
-     * @throws InvalidArgumentException
499
-     * @throws InvalidInterfaceException
500
-     * @throws InvalidDataTypeException
501
-     * @throws EE_Error
502
-     */
503
-    public function isTrashed(): bool
504
-    {
505
-        return $this->status() === FormStatus::TRASHED;
506
-    }
507
-
508
-
509
-    /**
510
-     * @return bool
511
-     * @throws EE_Error
512
-     * @throws ReflectionException
513
-     */
514
-    public function isTopLevelFormSection(): bool
515
-    {
516
-        return empty($this->belongsTo());
517
-    }
28
+	/**
29
+	 * @var Attributes
30
+	 */
31
+	private $attributes;
32
+
33
+	/**
34
+	 * @var EE_Form_Element[]
35
+	 */
36
+	private $form_elements = [];
37
+
38
+	/**
39
+	 * @var FormLabel
40
+	 */
41
+	private $label;
42
+
43
+
44
+
45
+	/**
46
+	 * @param array $props_n_values
47
+	 * @return EE_Form_Section
48
+	 * @throws EE_Error
49
+	 * @throws ReflectionException
50
+	 */
51
+	public static function new_instance(array $props_n_values = []): EE_Form_Section
52
+	{
53
+		$has_object = parent::_check_for_object($props_n_values, __CLASS__);
54
+		return $has_object ?: new self($props_n_values);
55
+	}
56
+
57
+
58
+	/**
59
+	 * @param array $props_n_values
60
+	 * @return EE_Form_Section
61
+	 * @throws EE_Error
62
+	 * @throws ReflectionException
63
+	 */
64
+	public static function new_instance_from_db(array $props_n_values = []): EE_Form_Section
65
+	{
66
+		return new self($props_n_values, true);
67
+	}
68
+
69
+
70
+	/**
71
+	 * Form Section UUID (universally unique identifier)
72
+	 *
73
+	 * @return string
74
+	 * @throws EE_Error
75
+	 * @throws ReflectionException
76
+	 */
77
+	public function UUID(): string
78
+	{
79
+		return $this->get('FSC_UUID');
80
+	}
81
+
82
+
83
+	/**
84
+	 * last 8 characters of the UUID
85
+	 *
86
+	 * @return string
87
+	 * @throws EE_Error
88
+	 * @throws ReflectionException
89
+	 */
90
+	public function uuidSlug(): string
91
+	{
92
+		return substr($this->UUID(), -8);
93
+	}
94
+
95
+
96
+	/**
97
+	 * @param string $UUID
98
+	 * @throws EE_Error
99
+	 * @throws ReflectionException
100
+	 */
101
+	public function setUUID(string $UUID)
102
+	{
103
+		if (! Cuid::isCuid($UUID)) {
104
+			throw new InvalidArgumentException(
105
+				sprintf(
106
+					/* translators: 1: UUID value, 2: UUID generator function. */
107
+					esc_html__(
108
+						'The supplied UUID "%1$s" is invalid or missing. Please use %2$s to generate a valid one.',
109
+						'event_espresso'
110
+					),
111
+					$UUID,
112
+					"`Cuid::cuid()`"
113
+				)
114
+			);
115
+		}
116
+		$this->set('FSC_UUID', $UUID);
117
+	}
118
+
119
+
120
+	/**
121
+	 * Form user types that this form section should be presented to.
122
+	 * Values correspond to the EEM_Form_Section::APPLIES_TO_* constants.
123
+	 *
124
+	 * @return string
125
+	 * @throws EE_Error
126
+	 * @throws ReflectionException
127
+	 */
128
+	public function appliesTo(): string
129
+	{
130
+		return $this->get('FSC_appliesTo');
131
+	}
132
+
133
+
134
+	/**
135
+	 * Form user types that this form section should be presented to.
136
+	 * Values correspond to the EEM_Form_Section::APPLIES_TO_* constants.
137
+	 *
138
+	 * @param EE_Registration|string $registrant
139
+	 * @return bool
140
+	 * @throws EE_Error
141
+	 * @throws ReflectionException
142
+	 */
143
+	public function appliesToRegistrant($registrant): bool
144
+	{
145
+		switch ($this->appliesTo()) {
146
+			case EEM_Form_Section::APPLIES_TO_PRIMARY:
147
+				return $registrant instanceof EE_Registration && $registrant->is_primary_registrant();
148
+			case EEM_Form_Section::APPLIES_TO_PURCHASER:
149
+				return $registrant === 'purchaser';
150
+			case EEM_Form_Section::APPLIES_TO_REGISTRANTS:
151
+				return $registrant instanceof EE_Registration && ! $registrant->is_primary_registrant();
152
+			case EEM_Form_Section::APPLIES_TO_ALL:
153
+			default:
154
+				return true;
155
+		}
156
+	}
157
+
158
+
159
+	/**
160
+	 * @param string $user_type
161
+	 * @throws EE_Error
162
+	 * @throws ReflectionException
163
+	 */
164
+	public function setAppliesTo(string $user_type)
165
+	{
166
+		$this->set('FSC_appliesTo', $user_type);
167
+	}
168
+
169
+
170
+	/**
171
+	 * JSON string of HTML attributes, such as class, to be applied to this form section\'s container.
172
+	 *
173
+	 * @return Attributes
174
+	 * @throws EE_Error
175
+	 * @throws ReflectionException
176
+	 */
177
+	public function attributes(): ?Attributes
178
+	{
179
+		if (! $this->attributes instanceof Attributes) {
180
+			$this->attributes = Attributes::fromJson($this->get('FSC_attributes'));
181
+		}
182
+		return $this->attributes;
183
+	}
184
+
185
+
186
+	/**
187
+	 * @param Attributes $attributes
188
+	 * @throws EE_Error
189
+	 * @throws ReflectionException
190
+	 */
191
+	public function setAttributes(Attributes $attributes)
192
+	{
193
+		// set local object
194
+		$this->attributes = $attributes;
195
+		// then pass to model as an array which will get converted to JSON by the model field
196
+		$this->set('FSC_attributes', $attributes->toArray());
197
+	}
198
+
199
+
200
+	/**
201
+	 * UUID or ID of related entity this form section belongs to.
202
+	 *
203
+	 * @return string
204
+	 * @throws EE_Error
205
+	 * @throws ReflectionException
206
+	 */
207
+	public function belongsTo(): ?string
208
+	{
209
+		return $this->get('FSC_belongsTo');
210
+	}
211
+
212
+
213
+	/**
214
+	 * @param string $parent_UUID
215
+	 * @throws EE_Error
216
+	 * @throws ReflectionException
217
+	 */
218
+	public function setBelongsTo(string $parent_UUID)
219
+	{
220
+		$this->set('FSC_belongsTo', $parent_UUID);
221
+	}
222
+
223
+
224
+	/**
225
+	 * @return EE_Form_Element[]
226
+	 * @throws EE_Error
227
+	 * @throws ReflectionException
228
+	 */
229
+	public function formElements(): array
230
+	{
231
+		return $this->form_elements ?: $this->getFormElements();
232
+	}
233
+
234
+
235
+	/**
236
+	 * @return EE_Form_Element[]
237
+	 * @throws EE_Error
238
+	 * @throws ReflectionException
239
+	 */
240
+	private function getFormElements(): array
241
+	{
242
+		$form_elements = $this->get_many_related('Form_Element', ['order_by' => ['FIN_order' => 'ASC']]);
243
+		foreach ($form_elements as $form_element) {
244
+			if ($form_element instanceof EE_Form_Element) {
245
+				$this->form_elements[ $form_element->UUID() ] = $form_element;
246
+			}
247
+		}
248
+		return $this->form_elements;
249
+	}
250
+
251
+
252
+	/**
253
+	 * @param EE_Form_Element[] $form_elements
254
+	 * @throws EE_Error
255
+	 * @throws ReflectionException
256
+	 */
257
+	public function setFormElements(array $form_elements): void
258
+	{
259
+		foreach ($form_elements as $form_element) {
260
+			if ($form_element instanceof EE_Form_Element) {
261
+				$this->_add_relation_to($form_element->UUID(), 'Form_Element');
262
+				$this->form_elements[ $form_element->UUID() ] = $form_element;
263
+			}
264
+		}
265
+	}
266
+
267
+
268
+	/**
269
+	 * @param EE_Form_Element[] $all_form_elements
270
+	 * @return EE_Form_Element[]
271
+	 * @throws EE_Error
272
+	 * @throws ReflectionException
273
+	 */
274
+	public function filterFormElements(array $all_form_elements): array
275
+	{
276
+		return array_filter($all_form_elements, $this->formElementFilter());
277
+	}
278
+
279
+
280
+	/**
281
+	 * returns a closure that can be used to filter form elements for this form section
282
+	 * usage:
283
+	 *  $filter = EEM_Form_Element::formElementFilter();
284
+	 *  $filtered_form_elements = array_filter( $all_form_elements, $filter );
285
+	 *
286
+	 * @return Closure
287
+	 * @throws EE_Error
288
+	 * @throws ReflectionException
289
+	 */
290
+	public function formElementFilter(): Closure
291
+	{
292
+		$FSC_UUID = strtolower($this->UUID());
293
+		return function ($form_element) use ($FSC_UUID) {
294
+			return $form_element instanceof EE_Form_Element && strtolower($form_element->belongsTo()) === $FSC_UUID;
295
+		};
296
+	}
297
+
298
+
299
+	/**
300
+	 * returns a FormLabel object for managing form section labels, ie: the form section heading
301
+	 *
302
+	 * @return FormLabel
303
+	 * @throws EE_Error
304
+	 * @throws ReflectionException
305
+	 */
306
+	public function label(): ?FormLabel
307
+	{
308
+		if (! $this->label instanceof FormLabel) {
309
+			$this->label = FormLabel::fromJson($this->get('FSC_label'));
310
+		}
311
+		return $this->label;
312
+	}
313
+
314
+
315
+	/**
316
+	 * @param FormLabel $label
317
+	 * @throws EE_Error
318
+	 * @throws ReflectionException
319
+	 */
320
+	public function setLabel(FormLabel $label)
321
+	{
322
+		// set local object
323
+		$this->label = $label;
324
+		// then pass to model as an array which will get converted to JSON by the model field
325
+		$this->set('FSC_label', $label->toJson());
326
+	}
327
+
328
+
329
+	/**
330
+	 * Order in which form section appears in a form.
331
+	 *
332
+	 * @return int
333
+	 * @throws EE_Error
334
+	 * @throws ReflectionException
335
+	 */
336
+	public function order(): int
337
+	{
338
+		return $this->get('FSC_order');
339
+	}
340
+
341
+
342
+	/**
343
+	 * @param int $order
344
+	 * @throws EE_Error
345
+	 * @throws ReflectionException
346
+	 */
347
+	public function setOrder(int $order)
348
+	{
349
+		$this->set('FSC_order', $order);
350
+	}
351
+
352
+
353
+	/**
354
+	 * combination of public label and UUID slug for use in identifiers
355
+	 *
356
+	 * @return string
357
+	 * @throws EE_Error
358
+	 * @throws ReflectionException
359
+	 */
360
+	public function slug(): ?string
361
+	{
362
+		$label = sanitize_title($this->label()->publicLabel());
363
+		return "{$label}-{$this->uuidSlug()}";
364
+	}
365
+
366
+
367
+	/**
368
+	 * Whether form section is active, archived, trashed, or used as a default on new forms.
369
+	 * Values correspond to the EEM_Form_Section::STATUS_* constants.
370
+	 *
371
+	 * @return string
372
+	 * @throws EE_Error
373
+	 * @throws ReflectionException
374
+	 */
375
+	public function status(): ?string
376
+	{
377
+		return $this->get('FSC_status');
378
+	}
379
+
380
+
381
+	/**
382
+	 * Whether form section is active, archived, trashed, or used as a default on new forms.
383
+	 * Values correspond to the EEM_Form_Section::STATUS_* constants.
384
+	 *
385
+	 * @param string $status
386
+	 * @throws EE_Error
387
+	 * @throws ReflectionException
388
+	 */
389
+	public function setStatus(string $status)
390
+	{
391
+		$this->set('FSC_status', $status);
392
+	}
393
+
394
+
395
+	/**
396
+	 * returns the id the wordpress user who created this question
397
+	 *
398
+	 * @return int
399
+	 * @throws EE_Error
400
+	 * @throws ReflectionException
401
+	 */
402
+	public function wp_user(): int
403
+	{
404
+		return $this->get('FSC_wpUser');
405
+	}
406
+
407
+
408
+	/**
409
+	 * @param int $wp_user
410
+	 * @throws EE_Error
411
+	 * @throws ReflectionException
412
+	 */
413
+	public function setWpUser(int $wp_user)
414
+	{
415
+		$this->set('FSC_wpUser', $wp_user);
416
+	}
417
+
418
+
419
+	/**
420
+	 * @param array $set_cols_n_values
421
+	 * @return bool|int|string
422
+	 * @throws EE_Error
423
+	 * @throws ReflectionException
424
+	 */
425
+	public function save($set_cols_n_values = [])
426
+	{
427
+		// make sure internal versions for all composite objects are updated
428
+		$this->set('FSC_attributes', $this->attributes()->toArray());
429
+		$this->set('FSC_label', $this->label()->toArray());
430
+		return parent::save($set_cols_n_values);
431
+	}
432
+
433
+	/**
434
+	 * Whether the section is active.
435
+	 *
436
+	 * @return boolean  TRUE if is active, FALSE if not.
437
+	 * @throws ReflectionException
438
+	 * @throws InvalidArgumentException
439
+	 * @throws InvalidInterfaceException
440
+	 * @throws InvalidDataTypeException
441
+	 * @throws EE_Error
442
+	 */
443
+	public function isActive(): bool
444
+	{
445
+		return $this->status() === FormStatus::ACTIVE;
446
+	}
447
+
448
+	/**
449
+	 * Whether the section is archived.
450
+	 *
451
+	 * @return boolean  TRUE if is archived, FALSE if not.
452
+	 * @throws ReflectionException
453
+	 * @throws InvalidArgumentException
454
+	 * @throws InvalidInterfaceException
455
+	 * @throws InvalidDataTypeException
456
+	 * @throws EE_Error
457
+	 */
458
+	public function isArchived(): bool
459
+	{
460
+		return $this->status() === FormStatus::ARCHIVED;
461
+	}
462
+
463
+	/**
464
+	 * Whether the section is a default one.
465
+	 *
466
+	 * @return boolean  TRUE if is default, FALSE if not.
467
+	 * @throws ReflectionException
468
+	 * @throws InvalidArgumentException
469
+	 * @throws InvalidInterfaceException
470
+	 * @throws InvalidDataTypeException
471
+	 * @throws EE_Error
472
+	 */
473
+	public function isDefault(): bool
474
+	{
475
+		return $this->status() === FormStatus::DEFAULT;
476
+	}
477
+
478
+	/**
479
+	 * Whether the section is a shared one.
480
+	 *
481
+	 * @return boolean  TRUE if is shared, FALSE if not.
482
+	 * @throws ReflectionException
483
+	 * @throws InvalidArgumentException
484
+	 * @throws InvalidInterfaceException
485
+	 * @throws InvalidDataTypeException
486
+	 * @throws EE_Error
487
+	 */
488
+	public function isShared(): bool
489
+	{
490
+		return $this->status() === FormStatus::SHARED;
491
+	}
492
+
493
+	/**
494
+	 * Whether the section is trashed.
495
+	 *
496
+	 * @return boolean  TRUE if is trashed, FALSE if not.
497
+	 * @throws ReflectionException
498
+	 * @throws InvalidArgumentException
499
+	 * @throws InvalidInterfaceException
500
+	 * @throws InvalidDataTypeException
501
+	 * @throws EE_Error
502
+	 */
503
+	public function isTrashed(): bool
504
+	{
505
+		return $this->status() === FormStatus::TRASHED;
506
+	}
507
+
508
+
509
+	/**
510
+	 * @return bool
511
+	 * @throws EE_Error
512
+	 * @throws ReflectionException
513
+	 */
514
+	public function isTopLevelFormSection(): bool
515
+	{
516
+		return empty($this->belongsTo());
517
+	}
518 518
 }
Please login to merge, or discard this patch.
core/domain/services/admin/entities/DefaultDatetimes.php 2 patches
Spacing   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -52,14 +52,14 @@  discard block
 block discarded – undo
52 52
      */
53 53
     public function create(EE_Base_Class $entity): array
54 54
     {
55
-        if (! $entity instanceof EE_Event) {
55
+        if ( ! $entity instanceof EE_Event) {
56 56
             throw new InvalidEntityException($entity, 'EE_Event');
57 57
         }
58 58
         $default_dates = [];
59 59
         $blank_dates = $this->datetime_model->create_new_blank_datetime();
60 60
         if (is_array($blank_dates)) {
61 61
             foreach ($blank_dates as $blank_date) {
62
-                if (! $blank_date instanceof EE_Datetime) {
62
+                if ( ! $blank_date instanceof EE_Datetime) {
63 63
                     throw new InvalidEntityException($blank_date, 'EE_Datetime');
64 64
                 }
65 65
                 // clone date, strip out ID, then save to get a new ID
@@ -68,7 +68,7 @@  discard block
 block discarded – undo
68 68
                 $default_date->save();
69 69
                 $default_date->_add_relation_to($entity->ID(), 'Event');
70 70
                 $this->default_tickets->create($default_date);
71
-                $default_dates[ $default_date->ID() ] = $default_date;
71
+                $default_dates[$default_date->ID()] = $default_date;
72 72
             }
73 73
         }
74 74
         return $default_dates;
Please login to merge, or discard this patch.
Indentation   +48 added lines, -48 removed lines patch added patch discarded remove patch
@@ -20,56 +20,56 @@
 block discarded – undo
20 20
  */
21 21
 class DefaultDatetimes implements DefaultEntityGeneratorInterface
22 22
 {
23
-    /**
24
-     * @var DefaultTickets $default_tickets
25
-     */
26
-    protected $default_tickets;
23
+	/**
24
+	 * @var DefaultTickets $default_tickets
25
+	 */
26
+	protected $default_tickets;
27 27
 
28
-    /**
29
-     * @var EEM_Datetime $datetime_model
30
-     */
31
-    protected $datetime_model;
28
+	/**
29
+	 * @var EEM_Datetime $datetime_model
30
+	 */
31
+	protected $datetime_model;
32 32
 
33
-    /**
34
-     * @param DefaultTickets $default_tickets
35
-     * @param EEM_Datetime $datetime_model
36
-     */
37
-    public function __construct(DefaultTickets $default_tickets, EEM_Datetime $datetime_model)
38
-    {
39
-        $this->default_tickets = $default_tickets;
40
-        $this->datetime_model = $datetime_model;
41
-    }
33
+	/**
34
+	 * @param DefaultTickets $default_tickets
35
+	 * @param EEM_Datetime $datetime_model
36
+	 */
37
+	public function __construct(DefaultTickets $default_tickets, EEM_Datetime $datetime_model)
38
+	{
39
+		$this->default_tickets = $default_tickets;
40
+		$this->datetime_model = $datetime_model;
41
+	}
42 42
 
43 43
 
44
-    /**
45
-     * @param EE_Event|EE_Base_Class $entity
46
-     * @return EE_Datetime[]
47
-     * @throws EE_Error
48
-     * @throws InvalidEntityException
49
-     * @throws ReflectionException
50
-     * @since 5.0.0.p
51
-     */
52
-    public function create(EE_Base_Class $entity): array
53
-    {
54
-        if (! $entity instanceof EE_Event) {
55
-            throw new InvalidEntityException($entity, 'EE_Event');
56
-        }
57
-        $default_dates = [];
58
-        $blank_dates = $this->datetime_model->create_new_blank_datetime();
59
-        if (is_array($blank_dates)) {
60
-            foreach ($blank_dates as $blank_date) {
61
-                if (! $blank_date instanceof EE_Datetime) {
62
-                    throw new InvalidEntityException($blank_date, 'EE_Datetime');
63
-                }
64
-                // clone date, strip out ID, then save to get a new ID
65
-                $default_date = clone $blank_date;
66
-                $default_date->set('DTT_ID', null);
67
-                $default_date->save();
68
-                $default_date->_add_relation_to($entity->ID(), 'Event');
69
-                $this->default_tickets->create($default_date);
70
-                $default_dates[ $default_date->ID() ] = $default_date;
71
-            }
72
-        }
73
-        return $default_dates;
74
-    }
44
+	/**
45
+	 * @param EE_Event|EE_Base_Class $entity
46
+	 * @return EE_Datetime[]
47
+	 * @throws EE_Error
48
+	 * @throws InvalidEntityException
49
+	 * @throws ReflectionException
50
+	 * @since 5.0.0.p
51
+	 */
52
+	public function create(EE_Base_Class $entity): array
53
+	{
54
+		if (! $entity instanceof EE_Event) {
55
+			throw new InvalidEntityException($entity, 'EE_Event');
56
+		}
57
+		$default_dates = [];
58
+		$blank_dates = $this->datetime_model->create_new_blank_datetime();
59
+		if (is_array($blank_dates)) {
60
+			foreach ($blank_dates as $blank_date) {
61
+				if (! $blank_date instanceof EE_Datetime) {
62
+					throw new InvalidEntityException($blank_date, 'EE_Datetime');
63
+				}
64
+				// clone date, strip out ID, then save to get a new ID
65
+				$default_date = clone $blank_date;
66
+				$default_date->set('DTT_ID', null);
67
+				$default_date->save();
68
+				$default_date->_add_relation_to($entity->ID(), 'Event');
69
+				$this->default_tickets->create($default_date);
70
+				$default_dates[ $default_date->ID() ] = $default_date;
71
+			}
72
+		}
73
+		return $default_dates;
74
+	}
75 75
 }
Please login to merge, or discard this patch.
core/domain/services/admin/entities/DefaultFormSections.php 2 patches
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -55,7 +55,7 @@  discard block
 block discarded – undo
55 55
      */
56 56
     public function create(EE_Base_Class $entity): array
57 57
     {
58
-        if (! $entity instanceof EE_Event) {
58
+        if ( ! $entity instanceof EE_Event) {
59 59
             throw new InvalidEntityException($entity, 'EE_Event');
60 60
         }
61 61
         /** @var EE_Form_Section[] $new_form_sections */
@@ -63,7 +63,7 @@  discard block
 block discarded – undo
63 63
         $default_form_sections = $this->form_section_model->getDefaultFormSections();
64 64
         if (is_array($default_form_sections)) {
65 65
             foreach ($default_form_sections as $default_form_section) {
66
-                if (! $default_form_section instanceof EE_Form_Section) {
66
+                if ( ! $default_form_section instanceof EE_Form_Section) {
67 67
                     throw new InvalidEntityException($default_form_section, 'EE_Form_Section');
68 68
                 }
69 69
                 // we're calling this inside the loop, because this might get set the first time around
@@ -80,7 +80,7 @@  discard block
 block discarded – undo
80 80
                     $new_form_section->setBelongsTo($top_level_form_section);
81 81
                 }
82 82
                 $new_form_section->save();
83
-                $new_form_sections[ $UUID ] = $new_form_section;
83
+                $new_form_sections[$UUID] = $new_form_section;
84 84
                 // now retrieve, clone, and save all of the form elements
85 85
                 $this->createDefaultFormElements($new_form_section, $default_form_elements);
86 86
                 // save form section UUID on event if it is the top-level form section
@@ -103,7 +103,7 @@  discard block
 block discarded – undo
103 103
         /** @var EE_Form_Element[] $new_form_sections */
104 104
         $new_form_elements = [];
105 105
         foreach ($default_form_elements as $default_form_element) {
106
-            if (! $default_form_element instanceof EE_Form_Element) {
106
+            if ( ! $default_form_element instanceof EE_Form_Element) {
107 107
                 throw new InvalidEntityException($default_form_element, 'EE_Form_Element');
108 108
             }
109 109
             // clone form_element, generate a new UUID, reset the status, then save it
@@ -114,7 +114,7 @@  discard block
 block discarded – undo
114 114
             $new_form_element->setBelongsTo($new_form_section->UUID());
115 115
             $new_form_element->setStatus(FormStatus::ACTIVE);
116 116
             $new_form_element->save();
117
-            $new_form_elements[ $UUID ] = $new_form_element;
117
+            $new_form_elements[$UUID] = $new_form_element;
118 118
         }
119 119
         $new_form_section->setFormElements($new_form_elements);
120 120
     }
Please login to merge, or discard this patch.
Indentation   +87 added lines, -87 removed lines patch added patch discarded remove patch
@@ -24,97 +24,97 @@
 block discarded – undo
24 24
  */
25 25
 class DefaultFormSections implements DefaultEntityGeneratorInterface
26 26
 {
27
-    /**
28
-     * @var EEM_Form_Element $form_element_model
29
-     */
30
-    protected $form_element_model;
27
+	/**
28
+	 * @var EEM_Form_Element $form_element_model
29
+	 */
30
+	protected $form_element_model;
31 31
 
32
-    /**
33
-     * @var EEM_Form_Section $form_section_model
34
-     */
35
-    protected $form_section_model;
32
+	/**
33
+	 * @var EEM_Form_Section $form_section_model
34
+	 */
35
+	protected $form_section_model;
36 36
 
37
-    /**
38
-     * @param EEM_Form_Element $form_element_model
39
-     * @param EEM_Form_Section $form_section_model
40
-     */
41
-    public function __construct(EEM_Form_Element $form_element_model, EEM_Form_Section $form_section_model)
42
-    {
43
-        $this->form_element_model = $form_element_model;
44
-        $this->form_section_model = $form_section_model;
45
-    }
37
+	/**
38
+	 * @param EEM_Form_Element $form_element_model
39
+	 * @param EEM_Form_Section $form_section_model
40
+	 */
41
+	public function __construct(EEM_Form_Element $form_element_model, EEM_Form_Section $form_section_model)
42
+	{
43
+		$this->form_element_model = $form_element_model;
44
+		$this->form_section_model = $form_section_model;
45
+	}
46 46
 
47 47
 
48
-    /**
49
-     * @param EE_Event|EE_Base_Class $entity
50
-     * @return EE_Form_Section[]
51
-     * @throws EE_Error
52
-     * @throws InvalidEntityException
53
-     * @throws ReflectionException
54
-     */
55
-    public function create(EE_Base_Class $entity): array
56
-    {
57
-        if (! $entity instanceof EE_Event) {
58
-            throw new InvalidEntityException($entity, 'EE_Event');
59
-        }
60
-        /** @var EE_Form_Section[] $new_form_sections */
61
-        $new_form_sections     = [];
62
-        $default_form_sections = $this->form_section_model->getDefaultFormSections();
63
-        if (is_array($default_form_sections)) {
64
-            foreach ($default_form_sections as $default_form_section) {
65
-                if (! $default_form_section instanceof EE_Form_Section) {
66
-                    throw new InvalidEntityException($default_form_section, 'EE_Form_Section');
67
-                }
68
-                // we're calling this inside the loop, because this might get set the first time around
69
-                // and it would always be blank for a new event if we were to call it before the loop,
70
-                // and then we couldn't set the "BelongsTo" for any child form sections
71
-                $top_level_form_section = $entity->registrationFormUuid();
72
-                $default_form_elements = $default_form_section->formElements();
73
-                // clone form_section, generate a new UUID, reset the status, then save it
74
-                $new_form_section = clone $default_form_section;
75
-                $UUID = Cuid::cuid();
76
-                $new_form_section->setUUID($UUID);
77
-                $new_form_section->setStatus(FormStatus::ACTIVE);
78
-                if ($top_level_form_section) {
79
-                    $new_form_section->setBelongsTo($top_level_form_section);
80
-                }
81
-                $new_form_section->save();
82
-                $new_form_sections[ $UUID ] = $new_form_section;
83
-                // now retrieve, clone, and save all of the form elements
84
-                $this->createDefaultFormElements($new_form_section, $default_form_elements);
85
-                // save form section UUID on event if it is the top-level form section
86
-                if ($new_form_section->isTopLevelFormSection()) {
87
-                    $entity->setRegistrationFormUuid($UUID);
88
-                    $entity->save();
89
-                }
90
-            }
91
-        }
92
-        return $new_form_sections;
93
-    }
48
+	/**
49
+	 * @param EE_Event|EE_Base_Class $entity
50
+	 * @return EE_Form_Section[]
51
+	 * @throws EE_Error
52
+	 * @throws InvalidEntityException
53
+	 * @throws ReflectionException
54
+	 */
55
+	public function create(EE_Base_Class $entity): array
56
+	{
57
+		if (! $entity instanceof EE_Event) {
58
+			throw new InvalidEntityException($entity, 'EE_Event');
59
+		}
60
+		/** @var EE_Form_Section[] $new_form_sections */
61
+		$new_form_sections     = [];
62
+		$default_form_sections = $this->form_section_model->getDefaultFormSections();
63
+		if (is_array($default_form_sections)) {
64
+			foreach ($default_form_sections as $default_form_section) {
65
+				if (! $default_form_section instanceof EE_Form_Section) {
66
+					throw new InvalidEntityException($default_form_section, 'EE_Form_Section');
67
+				}
68
+				// we're calling this inside the loop, because this might get set the first time around
69
+				// and it would always be blank for a new event if we were to call it before the loop,
70
+				// and then we couldn't set the "BelongsTo" for any child form sections
71
+				$top_level_form_section = $entity->registrationFormUuid();
72
+				$default_form_elements = $default_form_section->formElements();
73
+				// clone form_section, generate a new UUID, reset the status, then save it
74
+				$new_form_section = clone $default_form_section;
75
+				$UUID = Cuid::cuid();
76
+				$new_form_section->setUUID($UUID);
77
+				$new_form_section->setStatus(FormStatus::ACTIVE);
78
+				if ($top_level_form_section) {
79
+					$new_form_section->setBelongsTo($top_level_form_section);
80
+				}
81
+				$new_form_section->save();
82
+				$new_form_sections[ $UUID ] = $new_form_section;
83
+				// now retrieve, clone, and save all of the form elements
84
+				$this->createDefaultFormElements($new_form_section, $default_form_elements);
85
+				// save form section UUID on event if it is the top-level form section
86
+				if ($new_form_section->isTopLevelFormSection()) {
87
+					$entity->setRegistrationFormUuid($UUID);
88
+					$entity->save();
89
+				}
90
+			}
91
+		}
92
+		return $new_form_sections;
93
+	}
94 94
 
95 95
 
96
-    /**
97
-     * @throws EE_Error
98
-     * @throws ReflectionException
99
-     */
100
-    private function createDefaultFormElements(EE_Form_Section $new_form_section, array $default_form_elements)
101
-    {
102
-        /** @var EE_Form_Element[] $new_form_sections */
103
-        $new_form_elements = [];
104
-        foreach ($default_form_elements as $default_form_element) {
105
-            if (! $default_form_element instanceof EE_Form_Element) {
106
-                throw new InvalidEntityException($default_form_element, 'EE_Form_Element');
107
-            }
108
-            // clone form_element, generate a new UUID, reset the status, then save it
109
-            $new_form_element = clone $default_form_element;
110
-            // generate a new UUID for this form section then save it
111
-            $UUID = Cuid::cuid();
112
-            $new_form_element->setUUID($UUID);
113
-            $new_form_element->setBelongsTo($new_form_section->UUID());
114
-            $new_form_element->setStatus(FormStatus::ACTIVE);
115
-            $new_form_element->save();
116
-            $new_form_elements[ $UUID ] = $new_form_element;
117
-        }
118
-        $new_form_section->setFormElements($new_form_elements);
119
-    }
96
+	/**
97
+	 * @throws EE_Error
98
+	 * @throws ReflectionException
99
+	 */
100
+	private function createDefaultFormElements(EE_Form_Section $new_form_section, array $default_form_elements)
101
+	{
102
+		/** @var EE_Form_Element[] $new_form_sections */
103
+		$new_form_elements = [];
104
+		foreach ($default_form_elements as $default_form_element) {
105
+			if (! $default_form_element instanceof EE_Form_Element) {
106
+				throw new InvalidEntityException($default_form_element, 'EE_Form_Element');
107
+			}
108
+			// clone form_element, generate a new UUID, reset the status, then save it
109
+			$new_form_element = clone $default_form_element;
110
+			// generate a new UUID for this form section then save it
111
+			$UUID = Cuid::cuid();
112
+			$new_form_element->setUUID($UUID);
113
+			$new_form_element->setBelongsTo($new_form_section->UUID());
114
+			$new_form_element->setStatus(FormStatus::ACTIVE);
115
+			$new_form_element->save();
116
+			$new_form_elements[ $UUID ] = $new_form_element;
117
+		}
118
+		$new_form_section->setFormElements($new_form_elements);
119
+	}
120 120
 }
Please login to merge, or discard this patch.