mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-23 13:15:17 +00:00
34 lines
1.1 KiB
PHP
34 lines
1.1 KiB
PHP
|
<?php
|
||
|
|
||
|
/**
|
||
|
* Runtime Methods createLocalArrayVariable
|
||
|
*
|
||
|
* @package Smarty
|
||
|
* @subpackage PluginsInternal
|
||
|
* @author Uwe Tews
|
||
|
*
|
||
|
**/
|
||
|
class Smarty_Internal_Runtime_Var
|
||
|
{
|
||
|
/**
|
||
|
* Template code runtime function to create a local Smarty variable for array assignments
|
||
|
*
|
||
|
* @param \Smarty_Internal_Template $tpl template object
|
||
|
* @param string $varName template variable name
|
||
|
* @param bool $nocache cache mode of variable
|
||
|
*/
|
||
|
public function createLocalArrayVariable(\Smarty_Internal_Template $tpl, $varName, $nocache = false)
|
||
|
{
|
||
|
if (!isset($tpl->tpl_vars[$varName])) {
|
||
|
$tpl->tpl_vars[$varName] = new Smarty_Variable(array(), $nocache);
|
||
|
} else {
|
||
|
$tpl->tpl_vars[$varName] = clone $tpl->tpl_vars[$varName];
|
||
|
if (!(is_array($tpl->tpl_vars[$varName]->value) ||
|
||
|
$tpl->tpl_vars[$varName]->value instanceof ArrayAccess)
|
||
|
) {
|
||
|
settype($tpl->tpl_vars[$varName]->value, 'array');
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|