<?
error_reporting (E_ALL & ~E_NOTICE & ~E_DEPRECATED);
	// ����������� ������
	require_once("adm/inc/access.php");
	require_once("adm/inc/base_func.php");
	require_once("inc/func.php");
	require_once("adm/inc/val.php");
	require_once("adm/inc/class.FastTemplate.php");
	require_once('adm/inc/class.Pages.php');
	require_once('inc/CHPU.php');
	require_once('config.php');
	
	if (isset($_SERVER['REDIRECT_STATUS'])) { // ���� ���� ��������
		$url=urldecode($_SERVER['REQUEST_URI']);// ������������ ��� 
		$url=ltrim($url,"/"); // ������� ������ "/"
		//echo $url."*<br>";
		if (!getBaseURL($url)) { 
			// ����� �� ��������� ��� �������� "����������" ������ 
			// � ������� ����������� ���������� � $_GET
			// ���� �� ����� ������ - ���������� false
			// error 404;
			header("http/1.0 404 Not found");// ������ ��������������� ������
		} else
			header("http/1.0 200 Ok");// ������ ��������������� ������
	}
	/*
	session_name('SID');
	@session_start();
	
	if(isset($_GET['land'])){
		$_SESSION['land'] = $_GET['land'];
	}
	else{
		if(isset($_SESSION['land'])){
			$_GET['land'] = $_SESSION['land'];
		}
		else{
			$_GET['land'] = 12;
			$_SESSION['land'] = $_GET['land'];
		}
	}
	*/
	if(!isset($_GET['land'])){
		$_GET['land'] = 12;
	}
	else{
		define("LAND_ID", $_GET['land']);
	}
	
	$result = db_query("SELECT 
							site_setings.*,
							tpl_groups.tpl_folder AS tpl_folder
						FROM site_setings 
						LEFT OUTER JOIN tpl_groups ON site_setings.tpl_group_id = tpl_groups.id
						LIMIT 1");
	$main_set = db_fetch_array($result);
	
	//  ������������ ��������
	if (isset($_GET['menu'])){
		$page_arr = getPageMenuTpl($_GET['menu']);
	}
	else{
		$page_arr = getPageMenuTpl(0);
		$_GET['menu'] = $page_arr[0];
	}
	$page_id = $page_arr[0];
	$page_template = $page_arr[1];
	$page_content = $page_arr[2];
	$page_title = $page_arr[3];
	define("PAGE_ID", $page_id);
	define("PAGETEMPLATES_PATH", 'templates/'.$main_set['tpl_folder'].'/');
	define("ADM_EMAIL", $main_set['email']);
	//echo PAGETEMPLATES_PATH.$page_template;
	$_pages  = new Pages(15, 20);
	
	if (!file_exists(PAGETEMPLATES_PATH.$page_template)) die('Error. Page template not found.');
	
	header('Content-type: text/html; charset="utf-8"');
	

	
	if ($mod_cache && strpos($_SERVER['REQUEST_URI'], 'q=') === false && !isset($_GET['site']) && $_GET['menu']!=2 && $_GET['menu']!=194 && $_GET['menu']!=3 && $_GET['menu']!=191) {
		$cache = '-'.$_GET['land'];
		if(isset($_GET['menu'])){
			$cache .= '-'.$_GET['menu'];
		}else{
			$cache .= '-';		
		};
		if(isset($_GET['site'])){
			$cache .= '-'.$_GET['site'];
		}else{
			$cache .= '-';		
		};
		if(isset($_GET['news'])){
			$cache .= '-'.$_GET['news'];
		}else{
			$cache .= '-';		
		};
		if(isset($_GET['page'])){
			$cache .= '-'.$_GET['page'];
		}
		$cache .= '-';
		if(file_exists('cache/'.$cache.'.cache')){ 
			if ((time() - filemtime('cache/'.$cache.'.cache')) < $mod_cache_time){
				$cachfile = file_get_contents('cache/'.$cache.'.cache');
				echo $cachfile;
				exit();
			};
		};
		ob_start();
	}
	else{
		if(isset($_GET['site'])){
			$cache = '-'.$_GET['land'];
			if(isset($_GET['menu'])){
				$cache .= '-'.$_GET['menu'];
			}else{
				$cache .= '-';		
			};
			if(isset($_GET['site'])){
				$cache .= '-'.$_GET['site'];
			}else{
				$cache .= '-';		
			};
			$cache .= '-';
			ob_start();
		}
		
	}

	
	
	
	$tpl = new FastTemplate(".");
	$tpl->define(array("page" => PAGETEMPLATES_PATH . $page_template));
	$tpl->assign("CONTENT", $page_content);
	$tpl->assign("PAGE_ID", $page_id);
	//$tpl->assign("LAND_ID", LAND_ID);
	
	$modules = array();
	$template = file_get_contents(PAGETEMPLATES_PATH.$page_template);
	$template = str_replace("{CONTENT}", $page_content, $template);
	
	preg_match_all("/{([A-Z0-9_]*)}/e", $template, $modules);

	foreach ($modules[0] as $i => $name) {
		if ($name != "{CONTENT}" && $name != "{LANG}") {
			$name = str_replace("{", '', $name);
			$name = str_replace("}", '', $name);
			if (is_file('./modules/'.strtolower($name)."/run.php")) {
				include_once('./modules/'.strtolower($name)."/run.php" );
			}
		}
	}
	
	$_base_proto = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off') || (!empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') ? 'https://' : 'http://';
	$tpl->assign("BASE_URL", $_base_proto.$_SERVER['HTTP_HOST'].'/');
	$tpl->assign("PAGETEMPLATES_PATH", PAGETEMPLATES_PATH);
	
	
	
	
	$tpl->parse("FINAL", "page");
	
	// ��������� ��������� �������� � ��������
	$tpl->FINAL = parse_values($tpl->FINAL);
	
	$tpl->FastPrint();
	
	if ($mod_cache and strpos($_SERVER['REQUEST_URI'], 'q=') === false && !isset($_GET['site']) && $_GET['menu']!=2 && $_GET['menu']!=194 && $_GET['menu']!=3 && $_GET['menu']!=191) {
		$buffer = ob_get_contents();
		ob_end_clean();
		$fp = fopen('cache/'.$cache.'.cache', 'w'); 
		fwrite($fp, $buffer); 
		fclose($fp);
		echo $buffer;
	}
	else{
		if(isset($_GET['site'])){
			$buffer = ob_get_contents();
			ob_end_clean();
			$fp = fopen('cache/'.$cache.'.cache', 'w'); 
			fwrite($fp, $buffer); 
			fclose($fp);
			echo $buffer;
		}
	}
?>