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_data.php | |
parent | 6ba0148e646b2a193dc4111bb0a443d8c193e646 (diff) | |
parent | 1681b02ee98c2deb740d394280a2a685170bc72e (diff) |
Merge branch 'bug/385-php7'
Diffstat (limited to 'include/smarty/libs/sysplugins/smarty_data.php')
-rw-r--r-- | include/smarty/libs/sysplugins/smarty_data.php | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/include/smarty/libs/sysplugins/smarty_data.php b/include/smarty/libs/sysplugins/smarty_data.php new file mode 100644 index 000000000..7cf18a43e --- /dev/null +++ b/include/smarty/libs/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 + */ + 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"); + } + } +} |