PluginProbe ʕ •ᴥ•ʔ
VikAppointments Services Booking Calendar / 1.2.20
VikAppointments Services Booking Calendar v1.2.20
1.2.21 1.2.20 trunk 1.2.17 1.2.18 1.2.19
vikappointments / libraries / adapter / form / fields / sql.php
vikappointments / libraries / adapter / form / fields Last commit date
groupedlist.php 1 month ago language.php 1 month ago list.php 1 month ago media.php 1 month ago menuitem.php 1 month ago modulelayout.php 1 month ago number.php 1 month ago radio.php 1 month ago spacer.php 1 month ago sql.php 1 month ago text.php 1 month ago textarea.php 1 month ago
sql.php
51 lines
1 <?php
2 /**
3 * @package VikWP - Libraries
4 * @subpackage adapter.form
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2023 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 JLoader::import('adapter.form.fields.list');
15
16 /**
17 * Form field class to handle dropdown fields containing
18 * the values obtained by a SQL command.
19 *
20 * @since 10.0
21 */
22 class JFormFieldSql extends JFormFieldList
23 {
24 /**
25 * @override
26 * Method to get the data to be passed to the layout for rendering.
27 *
28 * @return array An associative array of display data.
29 */
30 public function getLayoutData()
31 {
32 $key = $this->key_field ? $this->key_field : 'id';
33 $val = $this->value_field ? $this->value_field : 'value';
34
35 $dbo = JFactory::getDbo();
36
37 $dbo->setQuery($this->query);
38 $dbo->execute();
39
40 if ($dbo->getNumRows())
41 {
42 foreach ($dbo->loadObjectlist() as $obj)
43 {
44 $this->option[$obj->{$key}] = $obj->{$val};
45 }
46 }
47
48 return parent::getLayoutData();
49 }
50 }
51