1<?php 2 3/** 4 * Smarty Method GetConfigVars 5 * 6 * Smarty::getConfigVars() method 7 * 8 * @package Smarty 9 * @subpackage PluginsInternal 10 * @author Uwe Tews 11 */ 12class Smarty_Internal_Method_GetConfigVars 13{ 14 /** 15 * Valid for all objects 16 * 17 * @var int 18 */ 19 public $objMap = 7; 20 21 /** 22 * Returns a single or all config variables 23 * 24 * @api Smarty::getConfigVars() 25 * @link http://www.smarty.net/docs/en/api.get.config.vars.tpl 26 * 27 * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data 28 * @param string $varname variable name or null 29 * @param bool $search_parents include parent templates? 30 * 31 * @return mixed variable value or or array of variables 32 */ 33 public function getConfigVars(Smarty_Internal_Data $data, $varname = null, $search_parents = true) 34 { 35 $_ptr = $data; 36 $var_array = array(); 37 while ($_ptr !== null) { 38 if (isset($varname)) { 39 if (isset($_ptr->config_vars[ $varname ])) { 40 return $_ptr->config_vars[ $varname ]; 41 } 42 } else { 43 $var_array = array_merge($_ptr->config_vars, $var_array); 44 } 45 // not found, try at parent 46 if ($search_parents) { 47 $_ptr = $_ptr->parent; 48 } else { 49 $_ptr = null; 50 } 51 } 52 if (isset($varname)) { 53 return ''; 54 } else { 55 return $var_array; 56 } 57 } 58} 59