/home/cp181240/public_html/mystric.com/customize copy.php
<?php
// error_reporting(E_All);
// ini_set("display_errors", 1);
session_start();
/////////////////////////////////////////////// get database config //////////////////////////////////////////////////
include('apps/config.inc.php');
include('apps/classes/database.php');

///////////////////////////////////////////////  get main classes  and objects  //////////////////////////////////////////////////////
include('apps/modules/mains/class.php'); // register class
include('apps/modules/views/class.php'); // register class
include('apps/modules/mains/mains.php'); // return $_objMains // main function
include('apps/classes/route.class.php'); // register class  - include file class  return $_objRoute // url and route function
//include('apps/modules/users/users.php'); // register class  - include file class  return $_objUsers // user function
include('sites/0/languages/route_en.php');
include('sites/0/languages/route_th.php');
include('apps/functions.inc.php'); // defind function

/////////////////////////////////////////////// check for admin customize ///////////////////////////////////////////////////////
$_ADMIN_CUSTOMIZE = true;
$_ADMIN_CUSTOMIZE_PAGE = true;
$_SESSION['PREVIEW_MODE'] = false;
$_SESSION['CUSTOMIZE_MODE'] = ( $_GET['customize']=='ture' )?true:false;
$_LAYOUT = (isset($_GET['layout']) && !empty($_GET['layout']) )?addslashes($_GET['layout']):'index';
// echo $_LAYOUT ;

/////////////////////////////////////////////// session_admin ///////////////////////////////////////////////////////
$_SESSION['isAdministrator'] = false;
$_SESSION['isDraftView'] = false;
$_isPathAdmin = false;

///////////////////////////////////////////////  get domain data //////////////////////////////////////////////////////
$_DOMAIN['info']  =  $_objMains->getDomainInfo();
if(empty($_DOMAIN['info'])){
	$_DOMAIN['info'] = $_objMains->getDomainInfoForPlay();
}

$_DOMAIN['config'] = $_objMains->getDomainConfigs($_DOMAIN['info']['domain_id'],$_SESSION['isDraftView']);

$_DOMAIN['config']['intropage'] = 1;
$_DOMAIN_ID = $_DOMAIN['info']['domain_id'];


$_SESSION['PROTOCOL'] = 'http';
if($_DOMAIN['config']['ssl_status']==1){
	$_SESSION['PROTOCOL'] = 'https';
}
$_THEME_ID = $_DOMAIN['config']['theme_in_custom'];
if($_DOMAIN_ID==16) {
	// ini_set('display_errors', 1);
	// ini_set('display_startup_errors', 1);
	// error_reporting(E_ALL);
}


$_THEME_STYLE_SETTING = (!empty($_DOMAIN['config']['theme_in_custom_style_config']))?json_decode($_DOMAIN['config']['theme_in_custom_style_config'],1):'';
$_LAYOUT_IN_CUSTOM = $_DOMAIN['config']['theme_in_custom_layout_type'];
$_SESSION['_THEME_ID'] = $_THEME_ID;
$_SESSION['_LAYOUT_IN_CUSTOM'] = $_LAYOUT_IN_CUSTOM;
///////////////////////////////////////////////  get Parameter //////////////////////////////////////////////////////
$_PARAM = $_objRoute->_PARAM();
$_PARAM_PLUS = $_objRoute->_PARAM_PLUS();
///////////////////////////////////////////////  get site language //////////////////////////////////////////////////////
if($_DOMAIN['config']['package_id']>1){
	$_SYSTEM_LANGUAGE = $_DOMAIN['config']['system_default_language'];
}else{
	$_SYSTEM_LANGUAGE = $_DOMAIN['config']['default_language'];
}
if(isset($_GET['lang'])&&$_GET['lang']!=''){
	$_SITE_LANGUAGE = addslashes($_GET['lang']);
	$_SESSION['site_language'] = $_SITE_LANGUAGE;
	$_SESSION['default_language'] = $_SYSTEM_LANGUAGE;
	setcookie("site_language",$_SITE_LANGUAGE,time()+(60*60*24*30),"/",$_DOMAIN['info']['domain_name']);
	setcookie("site_default_language",$_SYSTEM_LANGUAGE,time()+(60*60*24*30),"/",$_DOMAIN['info']['domain_name']);
	if($_SITE_LANGUAGE!=$_SYSTEM_LANGUAGE){
		$_DOMAIN['language']['is_translate'] = 1;
		$_DOMAIN['language']['site_language'] = $_SITE_LANGUAGE;
		$_SESSION['is_translate'] = 1;
	}else{
		$_DOMAIN['language']['is_translate'] = 0;
		$_SESSION['is_translate'] = 0;
		$_DOMAIN['language']['site_language'] = $_SITE_LANGUAGE;
	}
}else{
	setcookie("site_language",$_SYSTEM_LANGUAGE,time()+(60*60*24*30),"/",$_DOMAIN['info']['domain_name']);
	setcookie("site_default_language",$_SYSTEM_LANGUAGE,time()+(60*60*24*30),"/",$_DOMAIN['info']['domain_name']);
	if($_DOMAIN['config']['default_language']!=$_DOMAIN['config']['default_language']){
		$_DOMAIN['language']['is_translate'] = 1;
		$_SESSION['is_translate'] = 1;
		$_DOMAIN['language']['site_language'] = $_SYSTEM_LANGUAGE;
	}else{
		$_DOMAIN['language']['is_translate'] = 0;
		$_SESSION['is_translate'] = 0;
		$_DOMAIN['language']['site_language'] = $_SYSTEM_LANGUAGE;
	}
	$_SESSION['site_language'] = $_SYSTEM_LANGUAGE;
	$_SESSION['default_language'] = $_SYSTEM_LANGUAGE;
}


///////////////////////////////////////////////  get Language  //////////////////////////////////////////////////////
if(empty($_SITE_LANGUAGE)){ $_SITE_LANGUAGE='th'; }
if(isset($_DOMAIN['language']['site_language'])&&!empty($_DOMAIN['language']['site_language'])){
	$_custom_language = "sites/".$_DOMAIN['info']['domain_id']."/languages/".$_DOMAIN['language']['site_language'].".php";
	$_default_language = "sites/0/languages/".$_DOMAIN['language']['site_language'].".php";
	$_system_language = "languages/".$_DOMAIN['language']['site_language']."/i18n.php";
}else{
	$_custom_language = "sites/".$_DOMAIN['info']['domain_id']."/languages/".$_DOMAIN['language']['site_language'].".php";
	$_default_language = "sites/0/languages/".$_DOMAIN['language']['site_language'].".php";
	$_system_language = "languages/".$_DOMAIN['language']['site_language']."/i18n.php";
}
if(file_exists($_custom_language)){
	include($_system_language);
	// include($_default_language);
	include($_custom_language);
}else{
	include($_system_language);
	// include($_default_language);
}

//========== GET ADMIN SYSTEM LANGUAGE (Add this function on 05/09/2018 15:34) ============//
if(isset($_SESSION['_ADMIN_LANGUAGE'])&&!empty($_SESSION['_ADMIN_LANGUAGE']) ){
	$_admin_system_language = "languages/".$_SESSION['_ADMIN_LANGUAGE']."/i18n_admin.php";
	include($_admin_system_language);
}
//========== END : GET ADMIN SYSTEM LANGUAGE (Add this function on 05/09/2018 15:34) ============//

////////////////////////////////////////////////  define global var ////////////////////////////////////////////////////////////////////
$s = ( $_DOMAIN['config']['ssl_status'] == 1 ? "s" : "" );
$protocol = substr(strtolower($_SERVER["SERVER_PROTOCOL"]), 0, strpos(strtolower($_SERVER["SERVER_PROTOCOL"]), "/")) . $s;
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
define('ROOT', $_SESSION['PROTOCOL'] . "://" . str_replace('//','/',$_SERVER['HTTP_HOST'] . $port . dirname($_SERVER['PHP_SELF']).DIRECTORY_SEPARATOR));
define('THEME_ROOT', 'themes/'.$_THEME_ID.'/') ;

$_PATH_FILE_SYSTEM = "sites/".$_DOMAIN['info']['domain_id']."/files/s/";
define('PATH_FILE_SYSTEM',$_PATH_FILE_SYSTEM);
$_PATH_FILE_DOMAIN = "sites/".$_DOMAIN['info']['domain_id']."/files/u/";
define('PATH_FILE_DOMAIN',$_PATH_FILE_DOMAIN);
$_custom_route = "themes/".$_DOMAIN['config']['theme_id']."/route.php";
// $_default_route = "sites/0/route.php";
// if(file_exists($_custom_route)){
// 	// include($_default_route);
// 	include($_custom_route);
// }else{
// 	include($_default_route);
// }

///////////////////////////////////////////////  authorization admin or member  //////////////////////////////////////////////////////
$_IS_ADMIN_LOGIN = true;
$_IS_MEMBER_LOGIN = true;
$_ADMIN = array();
$_MEMEBER = array();
///////////////////////////////////////////////  include view  //////////////////////////////////////////////////////
include('apps/modules/views/views.php'); // return $_objViews // main function
///////////////////////////////////////////////  get Route maping url rewite  //////////////////////////////////////////////////////
//// $_PAGE {main active page} , $_MODULE  (homes, {module name})
// $_custom_route = "sites/".$_DOMAIN['info']['domain_id']."/route.php";
// $_default_route = "sites/0/route.php";
// if(file_exists($_custom_route)){
// 	include($_default_route) ;
// 	include($_custom_route) ;
// }else{
// 	include($_default_route) ;
// }
///////////////////////////////////////////////  check intro page  //////////////////////////////////////////////////////
if(isset($_PAGE)&&$_PAGE=='default'&&$_DOMAIN['config']['intropage']){ $_PAGE = 'intro'; }else{ $_PAGE = 'index'; }
///////////////////////////////////////////////  get Theme Layout Config  ///////////////////////////////////////////////
$_CUSTOM_DATA_LAYOUT = false;
$_LAYOUT_CONFIG_RELATIVE = array();
$_LAYOUT_DATA_CONFIG = array();
$_LAYOUT_DATA_CONFIG_KEY = array();
// $_LAYOUT_DATA_CONFIG_SORT = array();
$_LAYOUT_DATA_CONFIG_SUB  = array();
$_custom_theme_relative = array();
$layout_config_path = "themes/".$_THEME_ID."/layout.config.php";
if(file_exists($layout_config_path)){
	include($layout_config_path);
	foreach($_LAYOUT_CONFIG['setting'] as $ele_custom_layout => $ele_custom_setting){
		foreach($ele_custom_setting as $ele_data_key => $ele_data_setting){
			if(!isset($ele_data_setting['data_src']['is_html']) || $ele_data_setting['data_src']['is_html']==1 ){
				foreach($ele_data_setting['data_src'] as $data_src_key => $data_src_value){
					if(isset($data_src_value['is_relative'])&&$data_src_value['is_relative']==1){
						$data_src_value['zone'] = $ele_data_setting['zone'];
						$_LAYOUT_CONFIG_RELATIVE[$ele_custom_layout][$data_src_key] = $data_src_value;
					}
				}
			}
		}
	}
}

$view_custom_elements = $_objViews->getLayoutDataConfigOrg($_DOMAIN_ID,$_THEME_ID);
$chk_relative = array();
$cnt = 0;
if(!empty($view_custom_elements)){

	foreach($view_custom_elements as $ele ){
		$_LAYOUT_DATA_CONFIG_KEY[$ele['layout']][$ele['ele_is']] = $ele ;
		if($ele['is_relative']==1){
			$chk_relative[$ele['layout']][$ele['zone']] = array(
				'relative_layout'=>$ele['relative_layout'],
				'relative_zone'=>$ele['relative_zone'],
				'index'=>$cnt
			);
		}else{
			if($ele['sub_elements_of'] == 0 ){
				$_LAYOUT_DATA_CONFIG[$ele['layout']][$ele['zone']][$cnt] =  $ele ;
			}else{
				$_LAYOUT_DATA_CONFIG_SUB[$ele['sub_elements_of']][$ele['sequence']] = $ele ;
			}
		}
		$cnt++;
	}
	if(!empty($chk_relative)){
		foreach ($chk_relative as $layout => $zones) {
			foreach ($zones as $zone => $relative) {
				$relative_data = $_LAYOUT_DATA_CONFIG[$relative['relative_layout']][$relative['relative_zone']];
				foreach( $relative_data as $rdk => $rdv ){
					$rdv['layout'] = $layout;
					$rdv['zone'] = $zone;
					if($rdv['sub_elements_of']==0){
						$_LAYOUT_DATA_CONFIG[$layout][$zone][$rdk] = $rdv;
					}
				}// foreach
			}// foreach
		}// foreach
	}// if
	// custom relative
	if(!empty($_LAYOUT_CONFIG_RELATIVE)){
		foreach($_LAYOUT_CONFIG_RELATIVE as $lcr_layout => $lcr_layout_cnf_inlayout){
			if(!empty($lcr_layout_cnf_inlayout)){
				foreach($lcr_layout_cnf_inlayout as $ele_relative_key => $lcr_layout_cnf ){
					if(!empty($_LAYOUT_DATA_CONFIG_KEY[$lcr_layout_cnf['relative_layout']][$lcr_layout_cnf['relative_zone']])){
						if($_DOMAIN_ID==323) {
							$_LAYOUT_DATA_CONFIG[$lcr_layout][$lcr_layout_cnf['zone']][((int)max(array_keys($_LAYOUT_DATA_CONFIG[$lcr_layout][$lcr_layout_cnf['zone']]))+1)] = $_LAYOUT_DATA_CONFIG_KEY[$lcr_layout_cnf['relative_layout']][$lcr_layout_cnf['relative_zone']];
						}else{
							$_LAYOUT_DATA_CONFIG[$lcr_layout][1][((int)max(array_keys($_LAYOUT_DATA_CONFIG[$lcr_layout][1]))+1)] = $_LAYOUT_DATA_CONFIG_KEY[$lcr_layout_cnf['relative_layout']][$lcr_layout_cnf['relative_zone']] ;
						}
					}
				}
			}
		}
	}
}
if($_DOMAIN['config']['is_customize']==0){
	foreach($_LAYOUT_DATA_CONFIG[$_LAYOUT] as $zone => $configs){
		if(!empty($configs)){
			foreach($configs as $key => $cqd){
				$_CUSTOM_QUERY_DATA[$cqd['ele_is']] = $cqd;
			}
		}
	}
}
// load theme custom data
if($_DOMAIN['config']['is_customize']!=1&&empty($_DOMAIN['config']['is_theme_customize'])){
	if(!empty($_CUSTOM_QUERY_DATA)&&is_array($_CUSTOM_QUERY_DATA)){
		foreach($_CUSTOM_QUERY_DATA as $data_query_key => $data_query){
			if(($data_query['is_html']==0 && !empty($data_query['data_id']))||$data_query['data_task']=='findCategoryAll'||$data_query['data_task']=='findAll'){
				if($data_query['data_task']=='findInCategory' && $data_query['data_id'] == -1 ) {
					$data_query['data_task'] = "findAll";
				}
				if(!isset($oModule[$data_query['data_module_key']])) {
				$path_to_class = "sites/".$_DOMAIN_ID."/apps/modules/".$data_query['data_module']."/class.php";
				$path_to_object = "sites/".$_DOMAIN_ID."/apps/modules/".$data_query['data_module']."/".$data_query['data_module'].".php";
					if(file_exists($path_to_class)){
						$path_to_class = $path_to_class;
						$path_to_object = $path_to_object;
						require_once($path_to_class);
						require($path_to_object);
					}else{
						$path_to_class = 'apps/modules/'.$data_query['data_module'].'/class.php';
						$path_to_object = 'apps/modules/'.$data_query['data_module'].'/'.$data_query['data_module'].'.php';
						require_once($path_to_class);
						require($path_to_object);
					}
				}
				$data_query['domain_id'] = $_DOMAIN_ID;
				$_CUSTOM_DATA[$data_query_key] = $oModule[$data_query['data_module_key']]->find($data_query);
				if($_SESSION['site_language']!=$_SESSION['default_language']) {
					$detailTranslate  = $oModule['views']->getOneViewsCustomElementTranslate($data_query['uid'],$_SESSION['site_language']);
					if(!empty($detailTranslate)){
						if(isset($detailTranslate)){
							$_CUSTOM_QUERY_DATA[$data_query_key]['title'] = $detailTranslate['title'];
						}
					}
				}
			}else{
				$_CUSTOM_DATA[$data_query_key] = $data_query['data_html'];
				if($_SESSION['site_language']!=$_SESSION['default_language']){
					// if(true){
					// 	$html_translate  = $oModule['views']->getOneViewsCustomElementTranslateTemp($data_query['uid'],$_SESSION['site_language']);
					// 	if(empty($html_translate)){
					// 		$html_translate  = $oModule['views']->getOneViewsCustomElementTranslate($data_query['uid'],$_SESSION['site_language']);
					// 	}
					// }else{
					// 	$html_translate  = $oModule['views']->getOneViewsCustomElementTranslate($data_query['uid'],$_SESSION['site_language']);
					// }
					$html_translate  = $oModule['views']->getOneViewsCustomElementTranslateTemp($data_query['uid'],$_SESSION['site_language']);
					if(empty($html_translate)){
						$html_translate  = $oModule['views']->getOneViewsCustomElementTranslate($data_query['uid'],$_SESSION['site_language']);
					}
					$_CUSTOM_DATA[$data_query_key] = html_entity_decode($html_translate['data_html']);
				}
			}
		}
	}
}


if($_DOMAIN['config']['web_mode']==3||(isset($_SESSION['IS_TRIAL'])&&$_SESSION['IS_TRIAL']==1)){
	// echo "string"; exit;
	// ini_set('display_errors', 1);
	// ini_set('display_startup_errors', 1);
	// error_reporting(E_ALL);
	$theme_onepage = array(9000,9001,9002,9003,9004,9005,9006,9007,9008,9009,9010,9011,9012,9013,9014,9015,9016,9017,9018,9019,9020,9021,9022,9023,9024,9025,9026,9027,9028,9029,9030);
	if(in_array($_DOMAIN['config']['theme_in_custom'], $theme_onepage)){
		require_once('apps/modules/customizes_onepage/class.php');
		require('apps/modules/customizes_onepage/onepage.php');
		$_THEME_ID = $_DOMAIN['config']['theme_in_custom'];
		$_OPDATA = $oModule['viewsOP']->get___elementTemp($_DOMAIN_ID,abs((int)$_THEME_ID));
	}
}
////////////////////////////////////////////////  get Theme Layout  //////////////////////////////////////////////////////
// set theme default var
$_THEME_ASSETS = "themes/assets";
$_THEME_INCLUDE = "themes/include";
$_THEME_ELEMENTS = "themes/elements";
$_THEME_ROOT = "themes/$_THEME_ID";
$_ELEMENT_ROOT = "sites/$_THEME_ID/elements";
//set layout
$_theme_head_set = getThemeHeadSet($_LAYOUT_IN_CUSTOM);
$_THEME_BODY_CLASS_SET = " sh-theme-head-set-$_theme_head_set ";
$_SESSION['THEME_BODY_CLASS_SET'] = $_theme_head_set;
$_INC_LAYOUT = getThemeLayoutName($_LAYOUT_IN_CUSTOM,$_LAYOUT);
//set custom var
$_custom_layout_index = "sites/".$_DOMAIN['info']['domain_id']."/themes/".$_THEME_ID."/index.php";
$_custom_layout = "sites/".$_DOMAIN['info']['domain_id']."/themes/".$_THEME_ID."/".$_INC_LAYOUT.".php";
$_default_layout = "themes/".$_THEME_ID."/".$_INC_LAYOUT.".php";
$_default_layout_index = "themes/".$_THEME_ID."/index.php";


if(file_exists($_custom_layout)){
	include($_custom_layout); // user custom layout
}else{
	if(file_exists($_custom_layout_index)){
		include($_custom_layout_index);  // designer custom layout
	}else{
		if(file_exists($_default_layout)){
			include($_default_layout);  // user index layout
		}else{
			include($_default_layout_index);  // designer index layout
		}
	}
}
?>