<?php
/**
* СодеÑÐ¶Ð¸Ñ ÐºÐ»Ð°ÑÑ Viewer
*
* @package energine
* @subpackage configurator
* @author Tigrenok
* @copyright ColoCall 2007
* @version $Id: Viewer.class.php,v 1.5 2007/11/12 15:15:56 tigrenok Exp $
*/
/**
* ÐÑÐ²Ð¾Ð´Ð¸Ñ ÑезÑлÑÑÐ°Ñ ÑабоÑÑ ÑкÑипÑа
*
* @package energine
* @subpackage configurator
*/
class Viewer {
/**
* Шаблон вÑвода обвÑзки ÑÑÑаниÑÑ
*
*/
const TPL_HTML = 'tpl/install.tpl';
/**
* Шаблон вÑвода Ð¿Ð¾Ð»Ñ ÑоÑмÑ
*
*/
const TPL_DEFAULT = 'tpl/default.tpl';
/**
* Шаблон вÑвода загловков
*
*/
const TPL_HEADER = 'tpl/header.tpl';
/**
* Шаблон вÑвода поÑледнего загловка
*
*/
const TPL_FOOTER = 'tpl/footer.tpl';
/**
* Шаблон вÑвода оÑибки
*
*/
const TPL_ERROR = 'tpl/error.tpl';
/**
* Шаблон вÑвода иÑклÑÑений ÑекеÑа
*
*/
const TPL_CHECKER_EXCEPTION = 'tpl/checkerexception.tpl';
/**
* Шаблон вÑвода подÑвеÑждений ÑекеÑа
*
*/
const TPL_CHECKER_CONFIRM = 'tpl/checkerconfirm.tpl';
/**
* Шаблон вÑвода ÑкÑипÑов линкеÑа
*
*/
const TPL_LINKER_SCRIPT = 'tpl/linkerscript.tpl';
/**
* Шаблон вÑвода подÑвеÑждений линкеÑа
*
*/
const TPL_LINKER_CONFIRM = 'tpl/linkerconfirm.tpl';
/**
* Шаблон вÑвода подÑвеÑждениÑ
*
*/
const TPL_CONFIRM = 'tpl/confirm.tpl';
/**
* Шаблон вÑвода ÑоÑмÑ
*
*/
const TPL_FORM = 'tpl/form.tpl';
/**
* Шаблон вÑвода ÑоÑмÑ
*
*/
const TPL_SQLFORM = 'tpl/sqlform.tpl';
/**
* Шаблон вÑвода ÑоÑмÑ
*
*/
const TPL_SQLDFORM = 'tpl/sqldform.tpl';
/**
* Шаблон вÑвода ÑоÑмÑ
*
*/
const TPL_USERFORM = 'tpl/userform.tpl';
/**
* Шаблон вÑвода ÑоÑмÑ
*
*/
const TPL_VIEWOPTS = 'tpl/viewoptions.tpl';
/**
* ÐаннÑе Ð´Ð»Ñ Ð²Ñвода
*
* @var array
* @access private
*/
private $blocks = array();
/**
* ÐонÑÑÑÑкÑÐ¾Ñ ÐºÐ»Ð°ÑÑа
*
* @return void
* @access public
*/
public function __construct() {
if(!file_exists(self::TPL_HTML)) {
die('Шаблон '.self::TPL_HTML.' оÑÑÑÑÑÑвÑеÑ!');
}
}
/**
* ÐобавлÑÐµÑ Ð±Ð»Ð¾Ðº вÑвода
*
* @param mixed даннÑе Ð´Ð»Ñ Ð²Ñвода
* @param string Ð¸Ð¼Ñ Ñаблона
* @return void
* @access public
*/
public function addBlock($outData,$tplName = self::TPL_DEFAULT) {
if(file_exists($tplName)) {
ob_start();
include($tplName);
$this->blocks[] = ob_get_contents();
ob_end_clean();
} else {
die('Шаблон '.$tplName.' оÑÑÑÑÑÑвÑеÑ!');
}
}
/**
* ÐÑÐ²Ð¾Ð´Ð¸Ñ ÑезÑлÑÑÐ°Ñ ÑабоÑÑ Ð½Ð° ÑкÑан
*
* @return void
* @access public
*/
public function printResult() {
$outputTPL = file_get_contents(self::TPL_HTML);
echo str_replace('^!',implode("",$this->blocks),$outputTPL);
}
}