diff options
author | emkael <emkael@tlen.pl> | 2018-10-18 02:39:34 +0200 |
---|---|---|
committer | emkael <emkael@tlen.pl> | 2018-10-18 02:39:42 +0200 |
commit | ab5d8d4e07bb3c8230d0285ef8902ef1979fce51 (patch) | |
tree | 0b955e585cb2fdbc7207392a5f2c97d610b6a5bc /lib/smarty/sysplugins/smarty_data.php | |
parent | c055ce2ab60c6582bad3e5babcb1d00384fde78a (diff) |
Updating Smarty
Diffstat (limited to 'lib/smarty/sysplugins/smarty_data.php')
-rw-r--r-- | lib/smarty/sysplugins/smarty_data.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/lib/smarty/sysplugins/smarty_data.php b/lib/smarty/sysplugins/smarty_data.php new file mode 100644 index 0000000..2545ed3 --- /dev/null +++ b/lib/smarty/sysplugins/smarty_data.php @@ -0,0 +1,68 @@ +<?php +/** + * Smarty Plugin Data + * This file contains the data object + * + * @package Smarty + * @subpackage Template + * @author Uwe Tews + */ + +/** + * class for the Smarty data object + * The Smarty data object will hold Smarty variables in the current scope + * + * @package Smarty + * @subpackage Template + */ +class Smarty_Data extends Smarty_Internal_Data +{ + /** + * Counter + * + * @var int + */ + public static $count = 0; + + /** + * Data block name + * + * @var string + */ + public $dataObjectName = ''; + + /** + * Smarty object + * + * @var Smarty + */ + public $smarty = null; + + /** + * create Smarty data object + * + * @param Smarty|array $_parent parent template + * @param Smarty|Smarty_Internal_Template $smarty global smarty instance + * @param string $name optional data block name + * + * @throws SmartyException + */ + public function __construct($_parent = null, $smarty = null, $name = null) + { + parent::__construct(); + self::$count++; + $this->dataObjectName = 'Data_object ' . (isset($name) ? "'{$name}'" : self::$count); + $this->smarty = $smarty; + if (is_object($_parent)) { + // when object set up back pointer + $this->parent = $_parent; + } elseif (is_array($_parent)) { + // set up variable values + foreach ($_parent as $_key => $_val) { + $this->tpl_vars[ $_key ] = new Smarty_Variable($_val); + } + } elseif ($_parent !== null) { + throw new SmartyException('Wrong type for template variables'); + } + } +} |