mirror of
				https://github.com/smarty-php/smarty.git
				synced 2025-10-31 04:11:37 +01:00 
			
		
		
		
	
		
			
	
	
		
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			58 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
|   | <?php | ||
|  | 
 | ||
|  | /** | ||
|  |  * Smarty Method GetConfigVars | ||
|  |  * | ||
|  |  * Smarty::getConfigVars() method | ||
|  |  * | ||
|  |  * @package    Smarty | ||
|  |  * @subpackage PluginsInternal | ||
|  |  * @author     Uwe Tews | ||
|  |  */ | ||
|  | class Smarty_Internal_Method_GetConfigVars | ||
|  | { | ||
|  |     /** | ||
|  |      * Valid for all objects | ||
|  |      * | ||
|  |      * @var int | ||
|  |      */ | ||
|  |     public $objMap = 7; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Returns a single or all config variables | ||
|  |      * | ||
|  |      * @api  Smarty::getConfigVars() | ||
|  |      * @link http://www.smarty.net/docs/en/api.get.config.vars.tpl | ||
|  |      * | ||
|  |      * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data | ||
|  |      * @param  string                                                 $varname        variable name or null | ||
|  |      * @param  bool                                                   $search_parents include parent templates? | ||
|  |      * | ||
|  |      * @return mixed variable value or or array of variables | ||
|  |      */ | ||
|  |     public function getConfigVars(Smarty_Internal_Data $data, $varname = null, $search_parents = true) | ||
|  |     { | ||
|  |         $_ptr = $data; | ||
|  |         $var_array = array(); | ||
|  |         while ($_ptr !== null) { | ||
|  |             if (isset($varname)) { | ||
|  |                 if (isset($_ptr->config_vars[$varname])) { | ||
|  |                     return $_ptr->config_vars[$varname]; | ||
|  |                 } | ||
|  |             } else { | ||
|  |                 $var_array = array_merge($_ptr->config_vars, $var_array); | ||
|  |             } | ||
|  |             // not found, try at parent
 | ||
|  |             if ($search_parents) { | ||
|  |                 $_ptr = $_ptr->parent; | ||
|  |             } else { | ||
|  |                 $_ptr = null; | ||
|  |             } | ||
|  |         } | ||
|  |         if (isset($varname)) { | ||
|  |             return ''; | ||
|  |         } else { | ||
|  |             return $var_array; | ||
|  |         } | ||
|  |     } | ||
|  | } |