PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.15
VikBooking Hotel Booking Engine & PMS v1.8.15
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / libraries / html / form / fields / groupedlist.php

groupedlist.php in VikBooking Hotel Booking Engine & PMS 1.8.15, at libraries/html/form/fields/groupedlist.php

92 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikBooking - Libraries
4 * @subpackage html.form
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2018 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 $name = isset($displayData['name']) ? $displayData['name'] : '';
15 $value = isset($displayData['value']) ? $displayData['value'] : '';
16 $id = isset($displayData['id']) ? $displayData['id'] : '';
17 $class = isset($displayData['class']) ? $displayData['class'] : '';
18 $req = isset($displayData['required']) ? $displayData['required'] : 0;
19 $groups = isset($displayData['groups']) ? $displayData['groups'] : '';
20 $disabled = isset($displayData['disabled']) ? $displayData['disabled'] : false;
21 $multiple = isset($displayData['multiple']) ? $displayData['multiple'] : false;
22
23 if ($req)
24 {
25 $class = trim('required ' . $class);
26 }
27
28 if (!is_array($groups))
29 {
30 $groups = array();
31 }
32
33 if ($multiple)
34 {
35 $name .= '[]';
36
37 /**
38 * The value is always treaten as an array in order to avoid
39 * PHP notices while using in_array() function with strings.
40 */
41 $value = (array) $value;
42 }
43
44 ?>
45
46 <select
47 name="<?php echo esc_attr($name); ?>"
48 id="<?php echo esc_attr($id); ?>"
49 class="widefat <?php echo esc_attr($class); ?>"
50 <?php echo $disabled ? 'disabled' : ''; ?>
51 <?php echo $multiple ? 'multiple' : ''; ?>
52 >
53
54 <?php foreach ($groups as $label => $options): ?>
55
56 <?php if ($label): ?>
57 <optgroup label="<?php echo $this->escape($label); ?>">
58 <?php endif; ?>
59
60 <?php
61 foreach ($options as $val => $text)
62 {
63 if (is_object($text))
64 {
65 $val = $text->value;
66 $text = $text->text;
67 }
68
69 $selected = ($multiple && in_array($val, $value)) || $val == $value;
70
71 if ($val == '' && $text == '')
72 {
73 // use default placeholder when not specified
74 $text = 'JGLOBAL_SELECT_AN_OPTION';
75 }
76 ?>
77 <option
78 value="<?php echo esc_attr($val); ?>"
79 <?php echo $selected ? 'selected="selected"' : ''; ?>
80 ><?php echo JText::translate($text); ?></option>
81 <?php
82 }
83 ?>
84
85 <?php if ($label): ?>
86 </optgroup>
87 <?php endif; ?>
88
89 <?php endforeach; ?>
90
91 </select>
92