?
Path : /home/admin/public_html/old/libraries/rokcommon/RokCommon/Form/Fields/Joomla/ |
Current File : /home/admin/public_html/old/libraries/rokcommon/RokCommon/Form/Fields/Joomla/sql.php |
<?php /** * @package Joomla.Platform * @subpackage Form * * @copyright Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('JPATH_PLATFORM') or die; RokCommon_Form_Helper::loadFieldClass('list'); /** * Supports an custom SQL select list * * @package Joomla.Platform * @subpackage Form * @since 11.1 */ class RokCommon_Form_Field_SQL extends RokCommon_Form_Field_List { /** * The form field type. * * @var string * @since 11.1 */ public $type = 'SQL'; /** * Method to get the custom field options. * Use the query attribute to supply a query to generate the list. * * @return array The field option objects. * * @since 11.1 */ protected function getOptions() { // Initialize variables. $options = array(); // Initialize some field attributes. $key = $this->element['key_field'] ? (string) $this->element['key_field'] : 'value'; $value = $this->element['value_field'] ? (string) $this->element['value_field'] : (string) $this->element['name']; $translate = $this->element['translate'] ? (string) $this->element['translate'] : false; $query = (string) $this->element['query']; // Get the database object. $db = JFactory::getDBO(); // Set the query and get the result list. $db->setQuery($query); $items = $db->loadObjectlist(); // Check for an error. if ($db->getErrorNum()) { JError::raiseWarning(500, $db->getErrorMsg()); return $options; } // Build the field options. if (!empty($items)) { foreach ($items as $item) { if ($translate == true) { $options[] = RokCommon_HTML_SelectList::option($item->$key, rc__($item->$value)); } else { $options[] = RokCommon_HTML_SelectList::option($item->$key, $item->$value); } } } // Merge any additional options in the XML definition. $options = array_merge(parent::getOptions(), $options); return $options; } }