diff options
author | plegall <plg@piwigo.org> | 2015-12-30 16:21:32 +0100 |
---|---|---|
committer | plegall <plg@piwigo.org> | 2015-12-30 16:21:32 +0100 |
commit | 3ec3cbe6cec5968d29cb11af139123191f4cb4ee (patch) | |
tree | 34aecd51071d63f8df1862a1a11898d8c43fe68a /include/smarty/libs/sysplugins/smarty_internal_method_assignbyref.php | |
parent | 6ba0148e646b2a193dc4111bb0a443d8c193e646 (diff) | |
parent | 1681b02ee98c2deb740d394280a2a685170bc72e (diff) |
Merge branch 'bug/385-php7'
Diffstat (limited to 'include/smarty/libs/sysplugins/smarty_internal_method_assignbyref.php')
-rw-r--r-- | include/smarty/libs/sysplugins/smarty_internal_method_assignbyref.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/include/smarty/libs/sysplugins/smarty_internal_method_assignbyref.php b/include/smarty/libs/sysplugins/smarty_internal_method_assignbyref.php new file mode 100644 index 000000000..a97125e30 --- /dev/null +++ b/include/smarty/libs/sysplugins/smarty_internal_method_assignbyref.php @@ -0,0 +1,36 @@ +<?php + +/** + * Smarty Method AssignByRef + * + * Smarty::assignByRef() method + * + * @package Smarty + * @subpackage PluginsInternal + * @author Uwe Tews + */ +class Smarty_Internal_Method_AssignByRef +{ + + /** + * assigns values to template variables by reference + * + * @param \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty $data + * @param string $tpl_var the template variable name + * @param $value + * @param boolean $nocache if true any output of this variable will be not cached + * + * @return \Smarty_Internal_Data|\Smarty_Internal_Template|\Smarty + */ + public function assignByRef(Smarty_Internal_Data $data, $tpl_var, &$value, $nocache) + { + if ($tpl_var != '') { + $data->tpl_vars[$tpl_var] = new Smarty_Variable(null, $nocache); + $data->tpl_vars[$tpl_var]->value = &$value; + if ($data->_objType == 2 && $data->scope) { + $data->ext->_updateScope->updateScope($data, $tpl_var); + } + } + return $data; + } +}
\ No newline at end of file |