- bugfix implement wrapper for removed method getConfigVariable() https://github.com/smarty-php/smarty/issues/286

This commit is contained in:
uwetews
2016-09-08 22:28:06 +02:00
parent bfc1ef8885
commit 124b333da2
6 changed files with 48 additions and 9 deletions
+1
View File
@@ -18,6 +18,7 @@
* The following methods will be dynamically loaded by the extension handler when they are called.
* They are located in a corresponding Smarty_Internal_Method_xxxx class
*
* @method mixed getConfigVariable(string $varName, bool $errorEnable = true)
* @method mixed getConfigVars(string $varName = null, bool $searchParents = true)
* @method mixed getGlobal(string $varName = null)
* @method mixed getStreamVariable(string $variable)
@@ -109,7 +109,7 @@ class Smarty_Internal_Method_ConfigLoad
/**
* Assign all config variables in given scope
*
* @param array $config_vars config variables in scope
* @param array $config_vars config variables in scope
* @param \Smarty_Internal_Template $tpl
* @param array $new_config_vars loaded config variables
*/
@@ -158,15 +158,15 @@ class Smarty_Internal_Method_ConfigLoad
/**
* gets a config variable value
*
* @param \Smarty_Internal_Template $tpl template object
* @param string $varName the name of the config variable
* @param bool $errorEnable
* @param \Smarty|\Smarty_Internal_Data|\Smarty_Internal_Template $data
* @param string $varName the name of the config variable
* @param bool $errorEnable
*
* @return mixed the value of the config variable
* @return null|string the value of the config variable
*/
public function _getConfigVariable(Smarty_Internal_Template $tpl, $varName, $errorEnable = true)
public function _getConfigVariable(Smarty_Internal_Data $data, $varName, $errorEnable = true)
{
$_ptr = $tpl;
$_ptr = $data;
while ($_ptr !== null) {
if (isset($_ptr->config_vars[ $varName ])) {
// found it, return it
@@ -175,7 +175,7 @@ class Smarty_Internal_Method_ConfigLoad
// not found, try at parent
$_ptr = $_ptr->parent;
}
if ($tpl->smarty->error_unassigned && $errorEnable) {
if ($data->smarty->error_unassigned && $errorEnable) {
// force a notice
$x = $$varName;
}
@@ -0,0 +1,34 @@
<?php
/**
* Smarty Method GetConfigVariable
*
* Smarty::getConfigVariable() method
*
* @package Smarty
* @subpackage PluginsInternal
* @author Uwe Tews
*/
class Smarty_Internal_Method_GetConfigVariable
{
/**
* Valid for all objects
*
* @var int
*/
public $objMap = 7;
/**
* gets a config variable value
*
* @param \Smarty|\Smarty_Internal_Data|\Smarty_Internal_Template $data
* @param string $varName the name of the config variable
* @param bool $errorEnable
*
* @return null|string the value of the config variable
*/
public function getConfigVariable(Smarty_Internal_Data $data, $varName = null, $errorEnable = true)
{
return $data->ext->configLoad->_getConfigVariable($data, $varName, $errorEnable);
}
}
@@ -425,6 +425,7 @@ class Smarty_Internal_TestInstall
'smarty_internal_method_configload.php' => true,
'smarty_internal_method_createdata.php' => true,
'smarty_internal_method_getautoloadfilters.php' => true,
'smarty_internal_method_getconfigvariable.php' => true,
'smarty_internal_method_getconfigvars.php' => true,
'smarty_internal_method_getdebugtemplate.php' => true,
'smarty_internal_method_getdefaultmodifiers.php' => true,