12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <?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;
- }
- }
- }
|