Вход Регистрация
Файл: contao-3.5.8/system/modules/core/classes/BackendModule.php
Строк: 58
<?php

/**
 * Contao Open Source CMS
 *
 * Copyright (c) 2005-2016 Leo Feyer
 *
 * @license LGPL-3.0+
 */

namespace Contao;


/**
 * Parent class for back end modules that are not using the default engine.
 *
 * @property string $table
 *
 * @author Leo Feyer <https://github.com/leofeyer>
 */
abstract class BackendModule extends Backend
{

    
/**
     * Template
     * @var string
     */
    
protected $strTemplate;

    
/**
     * Data container object
     * @var object
     */
    
protected $objDc;

    
/**
     * Current record
     * @var array
     */
    
protected $arrData = array();


    
/**
     * Initialize the object
     *
     * @param DataContainer $dc
     */
    
public function __construct(DataContainer $dc=null)
    {
        
parent::__construct();
        
$this->objDc $dc;
    }


    
/**
     * Set an object property
     *
     * @param string $strKey
     * @param mixed  $varValue
     */
    
public function __set($strKey$varValue)
    {
        
$this->arrData[$strKey] = $varValue;
    }


    
/**
     * Return an object property
     *
     * @param string $strKey
     *
     * @return mixed
     */
    
public function __get($strKey)
    {
        if (isset(
$this->arrData[$strKey]))
        {
            return 
$this->arrData[$strKey];
        }

        if (
$this->objDc->$strKey !== null)
        {
            return 
$this->objDc->$strKey;
        }

        return 
parent::__get($strKey);
    }


    
/**
     * Parse the template
     *
     * @return string
     */
    
public function generate()
    {
        
$this->Template = new BackendTemplate($this->strTemplate);
        
$this->compile();

        return 
$this->Template->parse();
    }


    
/**
     * Compile the current element
     */
    
abstract protected function compile();
}
Онлайн: 1
Реклама