A super easy PHP Framework for web development!
				https://github.com/exacti/phacil-framework
			
			
		
			You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					69 lines
				
				1.7 KiB
			
		
		
			
		
	
	
					69 lines
				
				1.7 KiB
			| 
								 
											7 years ago
										 
									 | 
							
								<?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');
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |