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.
		
		
		
		
		
			
		
			
				
					
					
						
							68 lines
						
					
					
						
							1.7 KiB
						
					
					
				
			
		
		
	
	
							68 lines
						
					
					
						
							1.7 KiB
						
					
					
				<?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');
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 |