75 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| /**
 | |
|  *  @package     FrameworkOnFramework
 | |
|  *  @subpackage  config
 | |
|  * @copyright   Copyright (C) 2010-2016 Nicholas K. Dionysopoulos / Akeeba Ltd. All rights reserved.
 | |
|  *  @license     GNU General Public License version 2, or later
 | |
|  */
 | |
| 
 | |
| defined('F0F_INCLUDED') or die();
 | |
| 
 | |
| /**
 | |
|  * Configuration parser for the dispatcher-specific settings
 | |
|  *
 | |
|  * @package  FrameworkOnFramework
 | |
|  * @since    2.1
 | |
|  */
 | |
| class F0FConfigDomainDispatcher implements F0FConfigDomainInterface
 | |
| {
 | |
| 	/**
 | |
| 	 * Parse the XML data, adding them to the $ret array
 | |
| 	 *
 | |
| 	 * @param   SimpleXMLElement  $xml   The XML data of the component's configuration area
 | |
| 	 * @param   array             &$ret  The parsed data, in the form of a hash array
 | |
| 	 *
 | |
| 	 * @return  void
 | |
| 	 */
 | |
| 	public function parseDomain(SimpleXMLElement $xml, array &$ret)
 | |
| 	{
 | |
| 		// Initialise
 | |
| 		$ret['dispatcher'] = array();
 | |
| 
 | |
| 		// Parse the dispatcher configuration
 | |
| 		$dispatcherData = $xml->dispatcher;
 | |
| 
 | |
| 		// Sanity check
 | |
| 
 | |
| 		if (empty($dispatcherData))
 | |
| 		{
 | |
| 			return;
 | |
| 		}
 | |
| 
 | |
| 		$options = $xml->xpath('dispatcher/option');
 | |
| 
 | |
| 		if (!empty($options))
 | |
| 		{
 | |
| 			foreach ($options as $option)
 | |
| 			{
 | |
| 				$key = (string) $option['name'];
 | |
| 				$ret['dispatcher'][$key] = (string) $option;
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	/**
 | |
| 	 * Return a configuration variable
 | |
| 	 *
 | |
| 	 * @param   string  &$configuration  Configuration variables (hashed array)
 | |
| 	 * @param   string  $var             The variable we want to fetch
 | |
| 	 * @param   mixed   $default         Default value
 | |
| 	 *
 | |
| 	 * @return  mixed  The variable's value
 | |
| 	 */
 | |
| 	public function get(&$configuration, $var, $default)
 | |
| 	{
 | |
| 		if (isset($configuration['dispatcher'][$var]))
 | |
| 		{
 | |
| 			return $configuration['dispatcher'][$var];
 | |
| 		}
 | |
| 		else
 | |
| 		{
 | |
| 			return $default;
 | |
| 		}
 | |
| 	}
 | |
| }
 |