You've already forked joomla_test
							
							
		
			
	
	
		
			85 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			85 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | /** | ||
|  |  * @package     Joomla.Platform | ||
|  |  * @subpackage  Form | ||
|  |  * | ||
|  |  * @copyright   Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved. | ||
|  |  * @license     GNU General Public License version 2 or later; see LICENSE | ||
|  |  */ | ||
|  | 
 | ||
|  | defined('JPATH_PLATFORM') or die; | ||
|  | 
 | ||
|  | JFormHelper::loadFieldClass('list'); | ||
|  | 
 | ||
|  | /** | ||
|  |  * Form Field class for the Joomla Platform. | ||
|  |  * Provides a list of available database connections, optionally limiting to | ||
|  |  * a given list. | ||
|  |  * | ||
|  |  * @package     Joomla.Platform | ||
|  |  * @subpackage  Form | ||
|  |  * @see         JDatabaseDriver | ||
|  |  * @since       11.3 | ||
|  |  */ | ||
|  | class JFormFieldDatabaseConnection extends JFormFieldList | ||
|  | { | ||
|  | 	/** | ||
|  | 	 * The form field type. | ||
|  | 	 * | ||
|  | 	 * @var    string | ||
|  | 	 * @since  11.3 | ||
|  | 	 */ | ||
|  | 	public $type = 'DatabaseConnection'; | ||
|  | 
 | ||
|  | 	/** | ||
|  | 	 * Method to get the list of database options. | ||
|  | 	 * | ||
|  | 	 * This method produces a drop down list of available databases supported | ||
|  | 	 * by JDatabaseDriver classes that are also supported by the application. | ||
|  | 	 * | ||
|  | 	 * @return  array    The field option objects. | ||
|  | 	 * | ||
|  | 	 * @since   11.3 | ||
|  | 	 * @see		JDatabaseDriver | ||
|  | 	 */ | ||
|  | 	protected function getOptions() | ||
|  | 	{ | ||
|  | 		// This gets the connectors available in the platform and supported by the server.
 | ||
|  | 		$available = JDatabaseDriver::getConnectors(); | ||
|  | 
 | ||
|  | 		/** | ||
|  | 		 * This gets the list of database types supported by the application. | ||
|  | 		 * This should be entered in the form definition as a comma separated list. | ||
|  | 		 * If no supported databases are listed, it is assumed all available databases | ||
|  | 		 * are supported. | ||
|  | 		 */ | ||
|  | 		$supported = $this->element['supported']; | ||
|  | 		if (!empty($supported)) | ||
|  | 		{ | ||
|  | 			$supported = explode(',', $supported); | ||
|  | 			foreach ($supported as $support) | ||
|  | 			{ | ||
|  | 				if (in_array($support, $available)) | ||
|  | 				{ | ||
|  | 					$options[$support] = JText::_(ucfirst($support)); | ||
|  | 				} | ||
|  | 			} | ||
|  | 		} | ||
|  | 		else | ||
|  | 		{ | ||
|  | 			foreach ($available as $support) | ||
|  | 			{ | ||
|  | 				$options[$support] = JText::_(ucfirst($support)); | ||
|  | 			} | ||
|  | 		} | ||
|  | 
 | ||
|  | 		// This will come into play if an application is installed that requires
 | ||
|  | 		// a database that is not available on the server.
 | ||
|  | 		if (empty($options)) | ||
|  | 		{ | ||
|  | 			$options[''] = JText::_('JNONE'); | ||
|  | 		} | ||
|  | 		return $options; | ||
|  | 	} | ||
|  | } |