PluginProbe ʕ •ᴥ•ʔ
VikAppointments Services Booking Calendar / trunk
VikAppointments Services Booking Calendar vtrunk
trunk 1.2.17 1.2.18 1.2.19
vikappointments / libraries / html / form / fields / list.php
vikappointments / libraries / html / form / fields Last commit date
groupedlist.php 2 years ago list.php 1 year ago media.php 4 years ago number.php 4 years ago spacer.php 4 years ago text.php 4 years ago textarea.php 4 years ago toggle.php 4 years ago
list.php
82 lines
1 <?php
2 /**
3 * @package VikAppointments - Libraries
4 * @subpackage html.form
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2021 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 $options = isset($displayData['options']) ? $displayData['options'] : '';
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($options))
29 {
30 $options = 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 * @since 1.1.7
42 */
43 $value = (array) $value;
44 }
45
46 ?>
47
48 <select
49 name="<?php echo esc_attr($name); ?>"
50 id="<?php echo esc_attr($id); ?>"
51 class="widefat <?php echo esc_attr($class); ?>"
52 <?php echo $disabled ? 'disabled' : ''; ?>
53 <?php echo $multiple ? 'multiple' : ''; ?>
54 >
55
56 <?php
57 foreach ($options as $val => $text)
58 {
59 if (is_object($text))
60 {
61 $val = $text->value;
62 $text = $text->text;
63 }
64
65 $selected = ($multiple && in_array($val, $value)) || $val == $value;
66
67 if ($val == '' && $text == '')
68 {
69 // use default placeholder when not specified
70 $text = 'JGLOBAL_SELECT_AN_OPTION';
71 }
72 ?>
73 <option
74 value="<?php echo esc_attr($val); ?>"
75 <?php echo $selected ? 'selected="selected"' : ''; ?>
76 ><?php echo JText::translate($text); ?></option>
77 <?php
78 }
79 ?>
80
81 </select>
82