Файл: system/system/classes/dizkod/View.php
Строк: 51
<?defined('SYSPATH') or die('<b>403<br />Запрет доступа</b>');
class dizkod_View{
#Тема сайта поумолчанию
private $theme = null;
#конструктор класса
#где $theme переменная в которую поступает название папки темы
function __construct()
{
if(!file_exists(THMPATH.LANG.'/'.THEMES))
{
DIE("Тема оформления не найдена");
}
else
{
$this->theme = THEMES;
}
}
#вывод содержимого
public function display($title='',$Contents='',$tpl=false)
{
$this->header($title);
$tpl=str_replace('_','/',$tpl);
if(!file_exists(THMPATH.LANG.'/'.THEMES.'/tpl/'.$tpl.'.tpl'))
{
Errors::__echo('Файл '.$tpl.'.tpl не найден!');
exit;
}
if($tpl!=false){
include (THMPATH.LANG.'/'.THEMES.'/tpl/'.$tpl.'.tpl');
}else{
echo $Contents;
}
$this->footer();
}
#вывод шаблона
public function template($tpl=false,$content='')
{
$tpl=str_replace('_','/',$tpl);
if(!file_exists(THMPATH.LANG.'/'.THEMES.'/tpl/'.$tpl.'.tpl'))
{
Errors::__echo('Файл '.$tpl.'.tpl не найден!');
exit;
}
if($tpl!=false){
include (THMPATH.LANG.'/'.THEMES.'/tpl/'.$tpl.'.tpl');
}else{
echo $content;
}
}
#Шапка сайта
public function header($title)
{
if(!empty($title)){
$title = TITLE.' | '.$title;
}else{
$title=TITLE;
}
$head=$this->set($this->theme);
if(!file_exists(THMPATH.LANG.'/'.THEMES.'/'.$head['head'].''))
{
DIE('Файл '.$head[head].' не найден!');
exit;
}
include_once(THMPATH.LANG.'/'.THEMES.'/'.$head['head']);
}
#Футер сайта
public function footer()
{
$foot=$this->set($this->theme);
if(!file_exists(THMPATH.LANG.'/'.THEMES.'/'.$foot['foot'].''))
{
DIE('Файл '.$foot[foot].' не найден!');
exit;
}
include_once(THMPATH.LANG.'/'.THEMES.'/'.$foot['foot']);
}
#Проверка файла конфигурации темы и выборка из него данных
# $theme - передаёт название папки
public static function set($theme)
{
if(!file_exists(THMPATH.LANG.'/'.THEMES.'/theme.ini'))
{
DIE('Файл theme.ini для настройки темы не найден!');
exit;
}
$data = file_get_contents(THMPATH.LANG.'/'.THEMES.'/theme.ini');
$arr = Array();
$lines = explode("n", $data);
foreach( $lines as $line ) {
$st = preg_match("/^(?!;)(?P<k>[w+.-]+?)s*=s*(?P<v>.+?)s*$/", $line, $match );
if( $st ) {
$key = $match[ 'k' ];
$value = $match[ 'v' ];
if( preg_match( "/^".*"$/", $value ) || preg_match( "/^'.*'$/", $value ) ) {
$win_value = iconv('utf-8', 'windows-1251', $value);
$win_value = substr($win_value, 1, strlen($win_value) - 2);
$value = iconv('windows-1251', 'utf-8', $win_value);
}
$arr[$key] = $value;
}
}
return $arr;
}
}
?>