1<?php
2
3/**
4 * Renders a set of fields wrapped in a <fieldset> tag
5 *
6 * @uses $vars['class']   Additional CSS classes
7 * @uses $vars['align']   Field alignment (vertical|horizontal)
8 *                        If set to horizontal, fields will be rendered
9 *                        with inline display
10 * @uses $vars['justify'] Text justification (left|right|center)
11 * @uses $vars['legend']  Optional fieldset legend
12 * @uses $vars['fields']  An array of field options
13 *                        Field options should be suitable for use in
14 *                        elgg_view_field()
15 */
16
17$vars['class'] = elgg_extract_class($vars, [
18	'elgg-fieldset',
19	'clearfix',
20]);
21
22$align = elgg_extract('align', $vars, 'vertical');
23unset($vars['align']);
24$vars['class'][] = "elgg-fieldset-$align";
25
26$justify = elgg_extract('justify', $vars, '');
27unset($vars['justify']);
28if ($justify) {
29	$vars['class'][] = "elgg-justify-$justify";
30}
31
32$legend = elgg_extract('legend', $vars);
33unset($vars['legend']);
34
35$fields = (array) elgg_extract('fields', $vars, []);
36unset($vars['fields']);
37
38$fieldset = '';
39if ($legend) {
40	$vars['class'][] = 'elgg-fieldset-has-legend';
41	$fieldset .= elgg_format_element('legend', [], $legend);
42}
43
44foreach ($fields as $field) {
45	$fieldset .= elgg_view_field($field);
46}
47
48$fieldset = elgg_format_element('div', $vars, $fieldset);
49echo elgg_format_element('fieldset', [], $fieldset);
50