<?php 
/**
 *  Index.php is a file handle all request first, every request to site come to this file first  *
 *  varible declare here available all over the front site
 */
	
//function which is automatically called in case you are trying to use a class/interface
function __autoload($classname)
{
	if ($classname == "Smarty")
	{
		require_once "bridge/classes/Smarty/libs/Smarty.class.php";
	}
	elseif(strpos($classname,"Smarty_") !== false )
	{
		require_once "bridge/classes/Smarty/libs/sysplugins/".strtolower($classname).".php";
	}
	else
	{ #echo"inn";exit;
	    if($classname =="sliders"){
	        
	        $classname = "slider";
	        
	    }
		require_once "bridge/classes/".$classname.".class.php";
	}
}
//set php.ini diplay errors to 0
ini_set('display_errors',0);

//set default timezone
date_default_timezone_set('Asia/Calcutta');
//for money default type
setlocale(LC_MONETARY,'en_IN');

$Session = new session();//object for class session
$Config = new config();//object for class config
$Dbi = new dbi($Config->db_host, $Config->db_user, $Config->db_pass, $Config->db,$Config->db_prefix);
#$Db = new db($Config->db_host, $Config->db_user, $Config->db_pass, $Config->db,$Config->db_prefix);//object for class db
$Users = new users();//object of users class
$Com = new common();//object of Common class
$them = new themes();//object of themes class
$Pages = new pages();//object for class adminpages
$User = new users(); //object for class users
$Sliders = new slider(); //object for class users
$Masters = new masters(); //object for class masters
$Paging =    new paging(); //object for class Paging

$Smarty = new Smarty;//object for class Smarty

$serverpath = "https://".$_SERVER['HTTP_HOST'].$Config->server_path; // Due 2 HTACCESS we req. fixed path for images ,css,js etc. for https
$securepath = "https://".$_SERVER['HTTP_HOST'].$Config->server_path; // Due 2 HTACCESS we req. fixed path for images ,css,js etc. for http
//server path from bridge or backend
$serverpath_manage = "https://".$_SERVER['HTTP_HOST'].$Config->server_path."bridge/";
$host = $_SERVER['HTTP_HOST'];

/**************html page head section by default************/
$content = "<p><h1><b>Page Not Found ERROR 404 !!!</b><h1></p>"; // Default Content
$title = "BMCC"; // Default Title
$meta_desc = "";// Default meta description
$meta_key = "";// Default meta keys
/************************/

$pname = "";// Default page name
$sub_pname = "";// Default sub page name
$parent_id = "";// Default parent id

//set smarty variables
$Smarty->compile_check = true; // set smarty complile check true
$Smarty->debugging = false; // set smarty debugging false
$Smarty->left_delimiter = '`'; // set left demlimeter for smarty as '{'
$Smarty->right_delimiter = '~';// set left demlimeter for smarty as '}'
$Smarty->error_reporting = E_ALL & ~E_NOTICE;//set all notice and error reporitng.
$Smarty->template_dir = 'template'; // set template directory for smarty
$Smarty->compile_dir = 'template_c';// set complile directory for smarty
$Smarty->cache_dir = 'cache'; // set complile directory for cache
$Smarty->config_dir = 'configs';// set complile directory for configs
	
//assign variable to smarty
$Smarty->assign('securepath',$securepath);
$Smarty->assign('serverpath',$serverpath);
$Smarty->assign('serverpath_manage',$serverpath_manage);
$Smarty->assign('host',$host);
/******************************URL Rewriting Processing*********************************/
$uri="";
$page="";
$page_type="";

if(isset($_SERVER['REQUEST_URI'])){
	$uri = $_SERVER['REQUEST_URI'];//getting url from browser
}
if($uri==""){
	$uri = $_SERVER['REDIRECT_URL'];//getting session value URI
}
$uri = str_replace('/~arsy9797/eshop/','/',$uri);
$current_url = "http://".$_SERVER['HTTP_HOST'].$uri;
$uri_parts = explode("?",$uri);//exploding uri before ? mark
$uri_parts = explode("/",$uri_parts[0]);//exploding uri with slash
$total_ip = count($uri_parts)-1;
$ipstart = $Config->input_start_pos_manage;//valur from config file
 //print_array($uri_parts);
//echo $total_ip.''.$ipstart;exit;
if($total_ip >= $ipstart-1)
{
	$page = $uri_parts[$ipstart-1];
}
if($page == "")
{
	$page = "home";
}
if($page == "index")
{
	$page = "home";
}
if($total_ip >= $ipstart)
{
	$sub_page = $uri_parts[$ipstart];
}else
{
	$sub_page = "";
}
if($total_ip >= $ipstart+1)
{
	$action = $uri_parts[$ipstart+1];
}else
{
	$action = "";
}

if($total_ip >= $ipstart+2)
{
	$data = $uri_parts[$ipstart+2];
}else
{
	$data = "";
}
if(isset($_GET['media']) && $_GET['media'] != '')
{
	$media =$_GET['media'];
}
else 
{
	$media ="";
}
/******************************************FOR CHECKING*********************************************/
 //echo "Page ->".$page." <br>sub->>".$sub_page."<br>action->".$action." <br>data:".$data;
// exit;
/******************************************FOR CHECKING*********************************************/

/******************************SQL INJECTION*********************************************/
//to Avoide SQL injection
if($page != "payment"){
	$_POST = $Dbi->db_valid($_POST) ;
	$_GET = $Dbi->db_valid($_GET) ;
}
//to Avoide SQL injection end here
/******************************END OF SQL INJECTION*************************************/
if(!isset($_SESSION['time']))
{
$_SESSION['time']=date('Y-m-d h:i:sa');
}
if($page == 'logoff') {
		unset($_SESSION['ses_es_front_user_valid']);
		unset($_SESSION['ses_es_front_user_id']);
		unset($_SESSION['ses_es_front_user_salutation']);
		unset($_SESSION['ses_es_front_user_name']);
		unset($_SESSION['ses_es_front_user_email']);
	
		header("Location: ".$serverpath."login");
		exit;
}
/***********************fetching default settings*********************************************/
/*$default_state 						= "";
$default_city 						= "";
$default_country 					= "";
$default_setting_number_system 		= "";
$default_currency 					= "";
$default_currency_display 			= "";
$default_currency_display_html 		= "";
$default_site_image 				= "";
$default_site_title					= "";
$default_site_tag_line 				= "";
$default_site_email 				= "";
$default_site_contact_number 		= "";
$default_social_logo1				= "";
$default_social_logo_link1			= "";
$default_social_logo2				= "";
$default_social_logo_link2			= "";
$default_social_logo3				= "";
$default_social_logo_link3			= "";
$temp_default_currency_display_html = "";
$default_min_selling_price 			= 0;
$default_max_selling_price			= 0;
$check_date_for_settings			= "";

if(isset($_COOKIE['cki-esh-set-dte']))
{
	//echo $_COOKIE['cki-esh-set-dte'];//exit;
	$check_date_for_settings = $_COOKIE['cki-esh-set-dte'];
}
//echo 'hi';
if(!isset($_SESSION['ses_es_masters_settings_data']) || !isset($_COOKIE['cki-esh-set-dte']))
{
 //	$Dbi->db_debug_mode = "echo";
	$where_defaults = " and id = 1";
	$get_data_default = $Dbi->get_records('tbl_settings',"*",$where_defaults);
	if($get_data_default)
	{
		if($res=mysqli_fetch_assoc($get_data_default))
		{
			$default_settitngs_array = $res; 
			
			$default_state = $res['default_state'];
			$default_city = $res['default_city'];
			$default_country = $res['default_country'];
			$default_setting_number_system = $res['default_number_system'];
			$default_currency = $res['default_currency'];
			$default_currency_display = $res['default_currency_display'];
			$default_currency_display_html = str_replace('icon','fa fa',$res['default_currency_display_html']); //making same symbol in back end and front end
			$default_site_image = $res['site_logo'];
			$default_site_title = $res['site_title'];
			$default_site_tag_line = $res['site_tagline'];
			$default_site_email = $res['site_email'];
			$default_site_contact_number = $res['site_contact_number'];
			$default_social_logo1 = $res['social_logo1'];
			$default_social_logo_link1 = $res['social_logo_link1'];
			$default_social_logo2 = $res['social_logo2'];
			$default_social_logo_link2 = $res['social_logo_link2'];
			$default_social_logo3 = $res['social_logo3'];
			$default_social_logo_link3 = $res['social_logo_link3'];
			$default_min_selling_price = $res['min_selling_price'];
			$default_max_selling_price = $res['max_selling_price'];	
		}
	}
	
	$_SESSION['ses_es_masters_settings_data'] = $default_settitngs_array;
	setcookie('cki-esh-set-dte',date('Y-m-d'),time()+3600);
	
}
else 
{
	//print_array($_SESSION);
	$default_state = $_SESSION['ses_es_masters_settings_data']['default_state'];
	$default_city = $_SESSION['ses_es_masters_settings_data']['default_city'];
	$default_country = $_SESSION['ses_es_masters_settings_data']['default_country'];
	$default_setting_number_system = $_SESSION['ses_es_masters_settings_data']['default_number_system'];
	$default_currency = $_SESSION['ses_es_masters_settings_data']['default_currency'];
	$default_currency_display = $_SESSION['ses_es_masters_settings_data']['default_currency_display'];
	$default_currency_display_html = str_replace('icon','fa fa',$_SESSION['ses_es_masters_settings_data']['default_currency_display_html']); //making same symbol in back end and front end
	$default_site_image = $_SESSION['ses_es_masters_settings_data']['site_logo'];
	$default_site_title = $_SESSION['ses_es_masters_settings_data']['site_title'];
	$default_site_tag_line = $_SESSION['ses_es_masters_settings_data']['site_tagline'];
	$default_site_email = $_SESSION['ses_es_masters_settings_data']['site_email'];
	$default_site_contact_number = $_SESSION['ses_es_masters_settings_data']['site_contact_number'];
	$default_social_logo1 = $_SESSION['ses_es_masters_settings_data']['social_logo1'];
	$default_social_logo_link1 = $_SESSION['ses_es_masters_settings_data']['social_logo_link1'];
	$default_social_logo2 = $_SESSION['ses_es_masters_settings_data']['social_logo2'];
	$default_social_logo_link2 = $_SESSION['ses_es_masters_settings_data']['social_logo_link2'];
	$default_social_logo3 = $_SESSION['ses_es_masters_settings_data']['social_logo3'];
	$default_social_logo_link3 = $_SESSION['ses_es_masters_settings_data']['social_logo_link3'];
	$default_min_selling_price = $_SESSION['ses_es_masters_settings_data']['min_selling_price'];
	$default_max_selling_price = $_SESSION['ses_es_masters_settings_data']['max_selling_price'];
	$default_shipping_type   = $_SESSION['ses_es_masters_settings_data']['shipping_type'];
	                            

}
//echo $default_currency_display_html;exit;
/***********************fetching default settings*********************************************/
/*****************************setting as per the city in default settings in cookies**********/
/*if(isset($_COOKIE['re-default-city']))
{
	$default_city = $_COOKIE['re-default-city'];
}*/
/**********************************************MAIN SEARCH************************************/
if(isset($_GET['txt_search_frm']) && $_GET['txt_search_frm'] != ""){
	$txt_search_frm = $_GET['txt_search_frm'];
}else{
	$txt_search_frm = "";
}
/*$txt_search_category_id = 0;
$txt_search_sub_category_id = 0;
$txt_search_brand_id = 0;
$txt_search_range_min = $default_min_selling_price;
$txt_search_range_max = $default_max_selling_price;*/

/**********************************************MAIN SEARCH************************************/
/****************************Smarty allocation************************************************/


/*$Smarty->assign('default_site_email',$default_site_email);
$Smarty->assign('default_site_contact_number',$default_site_contact_number);
$Smarty->assign('default_city',$default_city);
$Smarty->assign('default_number_system',$default_setting_number_system);
$Smarty->assign('default_currency',$default_currency);
$Smarty->assign('default_currency_display',$default_currency_display);
$Smarty->assign('default_currency_display_html',$default_currency_display_html);
$Smarty->assign('default_site_title',$default_site_title);
$Smarty->assign('default_site_image',$default_site_image);
$Smarty->assign('default_site_tag_line',$default_site_tag_line);
$Smarty->assign('default_state',$default_state);
$Smarty->assign('default_country',$default_country);
$Smarty->assign('default_social_logo1',$default_social_logo1);
$Smarty->assign('default_social_logo_link1',$default_social_logo_link1);
$Smarty->assign('default_social_logo2',$default_social_logo2);
$Smarty->assign('default_social_logo_link2',$default_social_logo_link2);
$Smarty->assign('default_social_logo3',$default_social_logo3);
$Smarty->assign('default_social_logo_link3',$default_social_logo_link3);
$Smarty->assign('default_min_selling_price',$default_min_selling_price);
$Smarty->assign('default_max_selling_price',$default_max_selling_price);
$Smarty->assign('default_shipping_type',$default_shipping_type);
/****************************Smarty allocation************************************************/
/****************************Session allocation***********************************************/
//print_array($_SESSION);
if(isset($_SESSION['ses_es_front_user_valid']))
{
	if($_SESSION['ses_es_front_user_access'] == 'site-admin') {
		session_destroy();
	}else
	{
		// assign the session variables to the php veriables
		$ses_es_front_user_valid = $Session->get("ses_es_front_user_valid");	
		$ses_es_front_user_id = $Session->get("ses_es_front_user_id");
		$ses_es_front_user_salutation = $Session->get("ses_es_front_user_salutation");
		$ses_es_front_user_name = $Session->get("ses_es_front_user_name");
		$ses_es_front_user_comapay_name_designation = $Session->get("ses_es_front_user_comapay_name_designation");
		$ses_es_front_user_email = $Session->get("ses_es_front_user_email");
		$ses_es_front_user_access = $Session->get("ses_es_front_user_access");	
		$ses_es_front_user_last_login = $Session->get("ses_es_front_user_last_login");
		$ses_es_front_user_is_verified = $Session->get("ses_es_front_user_is_verified");
		$ses_es_front_user_contact_details = $Session->get("ses_es_front_user_contact_details");

		//for displaying date with other format.
		$t = microtime(true);
		$micro = sprintf("%06d",($t - floor($t)) * 1000000);
		$d = new DateTime( $ses_es_front_user_last_login );
		$date = $d->format("l jS F Y H : i A");
		$Smarty->assign('welcome',"<b style='color: #29A3CC;'>$ses_es_front_user_name</b>");
		
		// assign the php veriables to the smarty
		$Smarty->assign('ses_es_front_user_valid',true);
		$Smarty->assign('ses_es_front_user_id',$ses_es_front_user_id );
		$Smarty->assign('ses_es_front_user_salutation',$ses_es_front_user_salutation);
		$Smarty->assign('ses_es_front_user_comapay_name_designation',$ses_es_front_user_comapay_name_designation);
		$Smarty->assign('ses_es_front_user_name',$ses_es_front_user_name);
		$Smarty->assign('ses_es_front_user_email',$ses_es_front_user_email);
		$Smarty->assign('ses_es_front_user_access',$ses_es_front_user_access);
		$Smarty->assign('ses_es_front_user_last_login',$date);
		$Smarty->assign('ses_es_front_user_is_verified',$ses_es_front_user_is_verified);
		$Smarty->assign('ses_es_front_user_contact_details',$ses_es_front_user_contact_details);
	}
}
else
{
	$Smarty->assign('ses_es_front_user_valid',false);
	$Smarty->assign('welcome',"Guest");
	$ses_es_front_user_valid = false;
}
/****************************Smarty allocation************************************************/
$Smarty->assign('page',$page);
$Smarty->assign('current_url',$current_url);
$Smarty->assign('sub_page',$sub_page);
$Smarty->assign('action',$action);
$Smarty->assign('data',$data);
$report_url = urlencode($current_url);
$Smarty->assign('report_url',$report_url);
$Smarty->assign('welcome',"Guest");
/****************************Smarty allocation************************************************/
/****************************eShop Cart Session***********************************************/
/*$session_cart = array();
if(isset($_SESSION['ses_es_eshop_cart'])){
	$session_cart = $_SESSION['ses_es_eshop_cart'];
}

$session_cart_quantity_count = 0;
for($k=0;$k<sizeof($session_cart);$k++){
	$session_cart_quantity_count = $session_cart_quantity_count + $session_cart[$k]['Qty'];
}

$Smarty->assign("session_cart_quantity_count",$session_cart_quantity_count);
$Smarty->assign("session_cart",$session_cart);
// print_array($_SESSION);
/****************************eShop Cart Session***********************************************/

/********************************LANGUAGE CODE************************************************/
//setting of user prefered language code
//load config for html pages
$temp_re_front_lang_code = "";
$lang_code = array();

	if(!isset($_SESSION['language_codes']))
	{
		// $Dbi->db_debug_mode = "echo-exit";
		$where_lang= " and is_active='Yes'";
		$get_details= $Dbi->get_records('tbl_language','*',$where_lang);
		if($get_details)
		{
			while($res = mysqli_fetch_assoc($get_details))
			{
				$lang_code[$res['lang_code']."_".$res['lang_id']]  = $res['lang_name'];
				
				if($res['default_lang'] != 'No')
				{	
					$re_front_lang_code = $res['lang_code'];
					$re_front_lang_id = $res['lang_id'];
					$_SESSION['cur_lang_code'] = $re_front_lang_code;
					$_SESSION['cur_lang_id'] = $re_front_lang_id;
				}
				
			}
		}
		
		$_SESSION['language_codes'] = $lang_code;
	}
	else 
	{
		$lang_code = $_SESSION['language_codes'];
		$re_front_lang_code = $_SESSION['cur_lang_code'];
		$re_front_lang_id = $_SESSION['cur_lang_id'];
	}

	
//unset($_SESSION['language_codes']);
// print_array($lang_code);
// exit;
$Smarty->assign('lang_code',$lang_code);
	
// $re_front_lang_code = 'en';
// $re_front_lang_id = 1;
if(isset($_COOKIE['re-front-lang-code']))
{
	//echo $_COOKIE['re-front-lang-code'];//exit;
	$temp_re_front_lang_code = $_COOKIE['re-front-lang-code'];
	
	
	if(array_key_exists($temp_re_front_lang_code,$lang_code))
	{
// 		echo $temp_re_front_lang_code;
// 		exit;
		$lang_parts = explode("_",$_COOKIE['re-front-lang-code']);
		$re_front_lang_code = $lang_parts[0];
		$re_front_lang_id = $lang_parts[1];
	}
	else
	{
		$re_front_lang_code = 'en';
		$re_front_lang_id = 1;
	}
	
}

$Smarty->assign('re_front_lang_code_file',"lang/".$re_front_lang_code.'.conf');
$Smarty->assign('re_front_lang_code',$re_front_lang_code);
$Smarty->assign('re_front_lang_sel',$re_front_lang_code."_".$re_front_lang_id);

//load config for php pages
$section = $page;
if($sub_page != '' && !is_numeric($sub_page) && $page != 'listing'  && $page != 'product-details')
{
	$section .= "_".$sub_page;
}
// echo $section;exit;
$Smarty->configLoad("lang/".$re_front_lang_code.'.conf',$section);
/****************************END LANGUAGE CODE************************************************/
/**************************************THEME**************************************************/
$theme_id="";
//get theme from url to set cookies
/*if(isset($_GET['th']) && $_GET['th'] != "")
{
	$themname = $_GET['th'];
	if($themname == 'reset')
	{
		setcookie("re_themekey_cookie", "", time()- 3600,'/');
	}
	else
	{
		if($result = mysqli_fetch_array($them->get_theme_by_name($themname)))
		{
			setcookie("re_themekey_cookie", "", time()- 3600,'/');
			setcookie("re_themekey_cookie", $themname, time()+ (3600 * 24),'/');
		}
	}
	header('Location:'.$serverpath);
	exit;
}*/
	
//if cookie is set then get theme from cookie else
if(isset($_COOKIE["re_themekey_cookie"]))
{
	$themname = $_COOKIE["re_themekey_cookie"];
	if($result = mysqli_fetch_array($them->get_theme_by_name($themname)))
	{
		$theme =$result['theme_name'];
		$theme_id = $result['theme_id'];
	}
}
	
if($theme_id == "")
{
	//get default theme from database there must be atlease one theme set as default
	$them_dat = $them->get_deafult_themes();
	$them_rs = mysqli_fetch_assoc($them_dat);

	//get theme name and theme id
	$theme =$them_rs['theme_name'];
	$theme_id = $them_rs['theme_id'];
}
if($theme != ""){
	$designserverpath = $serverpath.'template/themes/'.$theme.'/';
}
/**************************************END THEME**********************************************/
/***********************DYNAMIC MENU START****************************************************/
/*** for Top menu get Top menu for theme and also the common Top page as Main menu***
 **** get Top menu for theme and also the common Top page as Top menu*******************/
 
$Top_array_menu = array();
$join = "";
$join_child = "";
// fetching dynamic menu from pages or type='Both'
//$Dbi->db_debug_mode = "echo-exit";
$where_pages = " and (type = 'Top') and is_active = 'Yes' and parent_id = 0 ";
$order_by_menu = " page_order asc, page_name asc ";
$select = "p.id,p.page_name,p.slug,p.page_order,p.page_url_type,p.page_target";
if($re_front_lang_code != 'en'){
	//$select .= ', l.page_name as page_name_lang ';
	//$join = " INNER JOIN tbl_pages_has_multilanguages l ON p.id = l.page_id";
	//$where_pages .= " and lang_id=".$re_front_lang_id;
}
$get_data = $Dbi->get_records('tbl_pages p',$select,$where_pages,$order_by_menu,'','',$join);
if($get_data){
	$cnt_menu = 0;
	while($res = mysqli_fetch_assoc($get_data)){
		$child_array = array();
		$Top_array_menu[$cnt_menu]['id'] = $res['id'];
		$Top_array_menu[$cnt_menu]['page_name'] = $res['page_name'];
		$Top_array_menu[$cnt_menu]['slug'] = $res['slug'];
		$Top_array_menu[$cnt_menu]['page_order'] = $res['page_order'];
		$Top_array_menu[$cnt_menu]['page_url_type'] = $res['page_url_type'];
		$Top_array_menu[$cnt_menu]['page_target'] = $res['page_target'];
		// check has child then get parent id and fetch childs
		$cnt_menu++;
	}
}
#print_array($Top_array_menu);exit;

/*** for Main menu get Main menu for theme and also the common Main page as Main menu***
 **** get Main menu for theme and also the common Main page as Main menu*******************/
$data_array_menu = array();
$join = "";
$join_child = "";
// fetching dynamic menu from pages or type='Both'
//$Dbi->db_debug_mode = "echo-exit";
$where_pages = " and (type = 'Main' or type='Both') and is_active = 'Yes' and parent_id = 0 ";
$order_by_menu = " page_order asc, page_name asc ";
$select = "p.id,p.page_name,p.parent_id,p.slug,p.page_order,p.has_child,p.page_url_type,p.page_target";
if($re_front_lang_code != 'en'){
	//$select .= ', l.page_name as page_name_lang ';
	//$join = " INNER JOIN tbl_pages_has_multilanguages l ON p.id = l.page_id";
	//$where_pages .= " and lang_id=".$re_front_lang_id;
}
$get_data = $Dbi->get_records('tbl_pages p',$select,$where_pages,$order_by_menu,'','',$join);
if($get_data){
	$cnt_menu = 0;
	while($res = mysqli_fetch_assoc($get_data)){
		$child_array = array();
		$data_array_menu[$cnt_menu]['id'] = $res['id'];
		$data_array_menu[$cnt_menu]['page_name'] = $res['page_name'];
		
		$data_array_menu[$cnt_menu]['parent_id'] = $res['parent_id'];
		$data_array_menu[$cnt_menu]['slug'] = $res['slug'];
		$data_array_menu[$cnt_menu]['page_order'] = $res['page_order'];
		$data_array_menu[$cnt_menu]['has_child'] = $res['has_child'];
		$data_array_menu[$cnt_menu]['page_url_type'] = $res['page_url_type'];
		$data_array_menu[$cnt_menu]['page_target'] = $res['page_target'];
			
		// check has child then get parent id and fetch childs
		if($res['has_child'] == "Yes"){
// 			$Dbi->db_debug_mode = "echo-exit";
			$where_pages_child = " and p.is_active = 'Yes' and p.parent_id = ".$res['id'];
			$order_by_menu_child = " p.page_order asc ";
			$select_child = "p.id,p.page_name,p.parent_id,p.slug,p.page_order,p.has_child,p.page_url_type,p.page_target";
			$get_data_child = $Dbi->get_records('tbl_pages p',$select_child,$where_pages_child,$order_by_menu_child,'','','');
			if($get_data_child){
				$cnt_child = 0;
				while($res_child = mysqli_fetch_assoc($get_data_child)){
					$child_array[$cnt_child]['child_id'] = $res_child['id'];
					$child_array[$cnt_child]['child_page_name'] = $res_child['page_name'];
					$child_array[$cnt_child]['child_parent_id'] = $res_child['parent_id'];
					$child_array[$cnt_child]['child_slug'] = $res_child['slug'];
					$child_array[$cnt_child]['child_page_order'] = $res_child['page_order'];
					$child_array[$cnt_child]['child_page_url_type'] = $res_child['page_url_type'];
					$child_array[$cnt_child]['child_page_target'] = $res_child['page_target'];
					$cnt_child++;
				}
				$data_array_menu[$cnt_menu]['child_array'] = $child_array;
				$data_array_menu[$cnt_menu]['no_of_children'] = $cnt_child;
			}
		}else{
			$data_array_menu[$cnt_menu]['no_of_children'] = 0;
		}
		$cnt_menu++;
	}
}

#print_array($data_array_menu);exit;

/*** for footer menu get footer menu for theme and also the common footer page as footer menu***
 **** get footer menu for theme and also the common footer page as footer menu*******************/
$bottom_array_menu =  array();
$join = "";
// fetching dynamic menu from pages or p.type='Both'
// $Dbi->db_debug_mode = "echo-exit";
$where_fpages = " and (p.type = 'Footer' or p.type='Both') and p.is_active = 'Yes'  ";//and p.parent_id = 0
$order_by_fmenu = " p.page_order asc, p.page_name asc ";
$select = "p.id,p.page_name,p.slug,p.page_order,p.page_url_type,p.page_target,p.page_content_type";
$get_fdata = $Dbi->get_records('tbl_pages p',$select,$where_fpages,$order_by_fmenu,'','',$join);
if($get_fdata){
	$cnt_fmenu = 0;
	while($res_f = mysqli_fetch_assoc($get_fdata)){
		$bottom_child_array = array();
		$bottom_array_menu[$cnt_fmenu]['id'] 			= $res_f['id'];
		$bottom_array_menu[$cnt_fmenu]['page_name'] 	= $res_f['page_name'];
		$bottom_array_menu[$cnt_fmenu]['slug'] 			= $res_f['slug'];
		$bottom_array_menu[$cnt_fmenu]['page_order'] 	= $res_f['page_order'];
		$bottom_array_menu[$cnt_fmenu]['page_url_type'] = $res_f['page_url_type'];
		$bottom_array_menu[$cnt_fmenu]['page_target'] 	= $res_f['page_target'];
		$bottom_array_menu[$cnt_fmenu]['page_content_type'] 	= $res_f['page_content_type'];
		// check has child then get parent id and fetch childs
		$cnt_fmenu++;
	}
}
// $offset = 3
$count = count($bottom_array_menu);

$bottom_first_batch = array_slice($bottom_array_menu, 0, $count / 2);
$bottom_last_batch = array_slice($bottom_array_menu, $count / 2);

//print_array($bottom_array_menu);
#print_array($bottom_first_batch);
#print_array($bottom_last_batch);exit;
$Smarty->assign('data_array_menu',$data_array_menu);
$Smarty->assign('bottom_array_menu',$bottom_array_menu);
$Smarty->assign('bottom_first_batch',$bottom_first_batch);
$Smarty->assign('bottom_last_batch',$bottom_last_batch);
/*********************************FOOTER MENU*************************************************/
/*********************************DYNAMIC MENU END********************************************/
/*********************************Featured Testimonials Display setting***********************/
$testimonials_array = array();
$where_testimonial = " and is_featured = 'Yes' and is_active = 'Yes' ";
$t_order = " RAND()";
$limit = 4;
// $Dbi->db_debug_mode = "echo-exit";
$da_testi = $Dbi->get_records("tbl_testimonial","id,testimonial_img,testimonial_by,designation,company_name,is_active",$where_testimonial,$t_order,1,$limit);
if($da_testi){
	while($test = mysqli_fetch_assoc($da_testi)){
		$testimonials_array[] = $test;
	}
}
$Smarty->assign("testimonials_array",$testimonials_array);
/*********************************Featured Testimonials Display setting***********************/
/*********************************Side bar content *******************************************/
	$side_bar_category_array = array();
	/**********************fetch all the category first**********************/
	//	 $Dbi->db_debug_mode = "echo-exit";
	/*	$where_cat_side_bar = " and parent_id = 0 and is_active = 'Yes' ";
		$is_side_bar_content = $Dbi->get_records("tbl_categories","cat_id,cat_name,no_of_products",$where_cat_side_bar);
		if($is_side_bar_content){
				$cnt_side_bar = 0;
			while($res_side_bar = mysqli_fetch_assoc($is_side_bar_content)){
				$child_side_bar = array();
				$subcat_child_side_bar=array();
				$side_bar_category_array[$cnt_side_bar]['cat_id'] = $res_side_bar['cat_id'];
				$side_bar_category_array[$cnt_side_bar]['cat_name'] = $res_side_bar['cat_name'];
				$side_bar_category_array[$cnt_side_bar]['no_of_products'] = $res_side_bar['no_of_products'];
				// fetch child ctegory
				// $Dbi->db_debug_mode = "echo";
				$where_child_cat = " and parent_id = ".$res_side_bar['cat_id'];
				$ch_side_bar = $Dbi->get_records("tbl_categories","cat_id,cat_name,no_of_products",$where_child_cat);
				if($ch_side_bar){
					$cnt_ch_side_bar = 0;
					while($res_childsidebar = mysqli_fetch_assoc($ch_side_bar)){
						$child_side_bar[$cnt_ch_side_bar]['cat_id'] = $res_childsidebar['cat_id'];
					$child_side_bar[$cnt_ch_side_bar]['cat_name'] = $res_childsidebar['cat_name'];
						$child_side_bar[$cnt_ch_side_bar]['no_of_products'] = $res_childsidebar['no_of_products'];
						
						//fetch subcat child 
				
				        //  $Dbi->db_debug_mode = "echo";
				          $where_sub_child_cat = " and parent_id = ".$res_childsidebar['cat_id'];
				          $ch_child_side_bar = $Dbi->get_records("tbl_categories","parent_id,cat_id,cat_name,no_of_products",$where_sub_child_cat);
				          if($ch_child_side_bar){
					          $cnt_child_side_bar = 0;
					         
					          while($res_subcatchildsidebar = mysqli_fetch_assoc($ch_child_side_bar)){
					            $res_subcatchildsidebar['parent_cat_name'] = $res_childsidebar['cat_name'];
					             $child_side_bar[$cnt_ch_side_bar]['sub_child'][] = $res_subcatchildsidebar;
						         //$child_side_bar[$cnt_child_side_bar]['sub'][] = $res_subcatchildsidebar;
						         // $subcat_child_side_bar[$cnt_child_side_bar]['parent_id'] = $res_subcatchildsidebar['parent_id'];
						       //  $child_side_bar[$cnt_ch_side_bar]['cat_name'] = $res_subcatchildsidebar['cat_name'];
						        //  $subcat_child_side_bar[$cnt_child_side_bar]['no_of_products'] = $res_subcatchildsidebar['no_of_products'];
						          $cnt_child_side_bar++;
						          //echo  
						          
						          $side_bar_category_array[$cnt_side_bar]['no_of_subchild_cat']               = $cnt_child_side_bar;
						         // $side_bar_category_array[$cnt_side_bar]['subchild_side_bar_category_array'] = $subcat_child_side_bar;
					          }
					         
				          }
				          $cnt_ch_side_bar++;
					}
				}
				
				
				//$cnt_child_side_bar;exit;
				// finally inset into main child array
				$side_bar_category_array[$cnt_side_bar]['no_of_child_cat'] = $cnt_ch_side_bar;
				$side_bar_category_array[$cnt_side_bar]['child_side_bar_category_array'] = $child_side_bar;
				
				$cnt_side_bar++;
			}
		}
		$Smarty->assign("side_bar_category_array",$side_bar_category_array); */
		 //print_array($side_bar_category_array);
	/**********************End 0ff fetch all the category first***************/
	/**********************fetch all the brands first*************************/
	/*	$side_bar_brand_array = array();
		// $Dbi->db_debug_mode = "echo-exit";
		$where_brands = " and is_active = 'Yes' and b_no_of_products > 0 ";
		$t_brands = $Dbi->get_records("tbl_brands","b_id,b_name,b_no_of_products",$where_brands);
		if($t_brands){
			while($res_b = mysqli_fetch_assoc($t_brands)){
				$side_bar_brand_array[] = $res_b;
			}
		}
		$Smarty->assign("side_bar_brand_array",$side_bar_brand_array); */
	/**********************fetch all the brands first*************************/
/*********************************End off Side bar content************************************/
/*********************************Chk for Error/Success Message*******************************/
//get success msg from session and unset success msg session
if(isset($_SESSION['msg_success']))
{
	$msg_success = $Session->get('msg_success');
	$Session->ses_unset('msg_success');
}else{
        $msg_success = "";
}
//get error msg from session and unset error msg session
if(isset($_SESSION['msg_err']))
{
	$msg_err = $Session->get('msg_err');
	$Session->ses_unset('msg_err');
}else{
        $msg_err = "";
}
if(isset($_SESSION['msg_info']))
{
	$msg_info = $Session->get('msg_info');
	$Session->ses_unset('msg_info');
}else{
        $msg_info = "";
}
$Smarty->assign('msg_success',$msg_success);
//**************************End Chk for Error/Success Message*********************************/
/***************************get page data from pages******************************************/
/**
 * get page data from pages table with theme id and active
 * if there is page for the theme then that will be consider if no page
 * is available then common page is consider same for all content page
 * if it's a transaction page then only common page is consider
 */
$page_id = "";
$body_html="";
$head_html="";
$fotercontent="";
$page_name="";
$slug="";
$page_banner="";
$revision_id = "";
$is_sidebar_allowed = "No";
$page_lang_name = "";
$page_lang_content = "";

//check previerw page is set or not
if(isset($_GET['revision_preview'])) {
	$revision_id = $_GET['revision_preview'];
}
//$Dbi->db_debug_mode = "echo-exit";
$publish ="Yes";
if(isset($_GET['preview']) && isset($_SESSION['ses_es_user_valid'])){
    $publish = 'No';
}
if($revision_id != "") {
	// to preview page revisions content
	$page_rs = $Pages->get_page_revisions($revision_id);
}else{
	if($sub_page != ''){ #echo"in";exit;
		$page_rs =  $Pages->get_page($page.'/'.$sub_page,$theme_id,$publish);
	}else{ #echo"$theme_id";exit;
	    #$Dbi->db_debug_mode = "echo-exit";
		$page_rs = $Pages->get_page($page,$theme_id,$publish,'');
	}
}

if($page_rs){
	if($page_rec = mysqli_fetch_assoc($page_rs)) {
		$page_id 		= $page_rec['id'];
		#$content 		= $page_rec['page_contents'];
		$title 			= $page_rec['page_title'];
		$page_name 		= $page_rec['page_name'];
		$slug 			= $page_rec['slug'];
		$meta_desc 		= $page_rec['meta_desc'];
		$meta_key 		= $page_rec['meta_keywords'];
		#$page_banner 	= $page_rec['page_banner'];
		#$pname 			= $page_rec['page_name'];
		$parent_id 		= $page_rec['parent_id'];
		$page_type		= $page_rec['page_content_type'];
	}
}
    
    
    
    
    
    
    $parentpage_name = "";

    if($parent_id  !=''){
    	
    	$parentpage_rs = $Pages->get_pages($parent_id,'Main');
	if($parentpage_rs){
		if($parentpage_rec = mysqli_fetch_assoc($parentpage_rs)) {
			
			$parentpage_name = $parentpage_rec['page_name'];
			
			
		}
	}
    }
    
    
    
// 	echo "<br>page->".$page_type;
//echo "Page $page_name type: $page_content_type sub_page: $sub_page name: $pname Top: $top_id</br>";exit;
// to replace space holder of serverpath in a dynamic content from database.
$content = str_replace('__serverpath__',$serverpath,$content);
$head_html = str_replace('__serverpath__',$serverpath,$head_html);

/***********************************END OF PAGE LOAD CONTENT AND ALL******************/
/***********************************MODULES LOADING SECTION***************************/
//assign variable to smarty
$Smarty->assign('inc_file','');
// echo "Page ->".$page." <br>sub_page->>".$sub_page."<br>action->".$action." <br>data:".$data;
// exit;
//check php file is avialable or not
$hard_code_page = array();
$nnao_pages = array();

$hard_code_page = array("home","events","gallery","about-us","programs","program","process","research","exam-and-results","faculty-staff","Notices","News","Alerts","Others","iqac","contact-action","middlesection","thank-you");
//"contact-us",
$nnao_pages = array("Notices","News","Alerts","Others");

if(in_array($page,$hard_code_page))                 //file_exists("modules/$page.php")
{
	//if content equals to Page Not Found ERROR 404!! then replace to blank
	if($content == "<p><h1><b>Page Not Found ERROR 404 !!!</b><h1></p>")
	{
		$content = "";
	}
	//include the page php file
	if(in_array($page,$nnao_pages))                 //file_exists("modules/$page.php")
	{
		require_once("modules/nnao.php");
		$Smarty->assign('fileava','nnao');
		#echo $page;exit;
	}else{
        
        	$content_type   = $page;
        
		require_once("modules/$page.php");
		$Smarty->assign('fileava','Yes');
       }
	
	
	$Smarty->assign('inc_file',$page);
}
else
{ 
    
    $content_type   = 'page';
    
    if($page_name != '' && $page_type =='Content Page'){
        
    	$Smarty->assign('fileava','No');
    }else{
        
	    $Smarty->assign('fileava','Not');
    }
    
    include('./modules/inc_page_content.php');
}


/****************************END MODULES LOADING SECTION**************************************/
/***********************************PAGE CONTENT SECTION *************************************/
//if page and ajax and paypal then get data for sub page also
/*if($page != "ajax" || $page != "paypal")
{
	//get footer data
	if($footer_rs = $Pages->get_page('footer_content',$theme_id,'Yes')) {
		if($frec = mysqli_fetch_array($footer_rs)) {
				$fotercontent = $frec['page_contents'];
		}
	}
}*/
/***********************************END PAGE CONTENT SECTION *********************************/
/******************************MSG ERR SUCCESS AND INFO **************************************/
//assign variable to smarty
$Smarty->assign('msg_err',$msg_err);
$Smarty->assign('msg_success',$msg_success);
$Smarty->assign('msg_info',$msg_info);
/******************************END MSG ERR SUCCESS AND INFO **********************************/

/*$Smarty->assign('txt_search_frm',$txt_search_frm);
$Smarty->assign('txt_search_category_id',$txt_search_category_id);
$Smarty->assign('txt_search_sub_category_id',$txt_search_sub_category_id);
$Smarty->assign('txt_search_brand_id',$txt_search_brand_id);
$Smarty->assign('txt_search_range_min',$txt_search_range_min);
$Smarty->assign('txt_search_range_max',$txt_search_range_max);*/
$Smarty->assign('hard_code_page',$hard_code_page);

#echo $content;exit;
/************new added smarty variables for themes, sliders , pages and all etc...************/
$Smarty->assign('body_html',$body_html);
$Smarty->assign('head_html',$head_html);
$Smarty->assign('content',$content);
$Smarty->assign('fotercontent',$fotercontent);
$Smarty->assign('title',$title);
$Smarty->assign('page_name',$page_name);
$Smarty->assign('slug',$slug);
$Smarty->assign('meta_desc',$meta_desc);
$Smarty->assign('meta_key',$meta_key);
$Smarty->assign('page_banner',$page_banner);
$Smarty->assign('pname',$pname);
$Smarty->assign('sub_pname',$sub_pname);
$Smarty->assign('theme_id',$theme_id);
$Smarty->assign('sub_page',$sub_page);
$Smarty->assign('page_type',$page_type);
$Smarty->assign('is_sidebar_allowed',$is_sidebar_allowed);
$Smarty->assign('Top_array_menu',$Top_array_menu);
$Smarty->assign('parentpage_name',$parentpage_name);
/*************************************MSG SET*************************************************/
//***********************************TEMPLATE LOADING*****************************************/
//if page is not ajax 
if($page != "ajax" )
{
	//if page is print the display print.html file
	if($page == "print"){
		$Smarty->display('print.html');
	}
	elseif($page == "pages")
	{
		//if page is pages it need to display content directly by using ajax
		//$Smarty->display('index_pages.html');
		echo $content;
	}
	elseif($page == "paypal")	
	{
		//if page is paypal the display paypal.html file
		$Smarty->assign('designserverpath',$serverpath.'template/themes/'.$theme.'/');
		$Smarty->display('paypal.html');
	}
	elseif($page == "downloadoriginal")	
	{
		// images download original file
		// no page display while download image
	}
	else
	{
		//if $theme is blank the display index.html file which is not possible
		if($theme == "")
		{
			$Smarty->display('index.html');
		}
		else
		{
			//if $theme is not blank the display index.html file from theme folder
			if(file_exists("template/themes/$theme/index.html"))/* still if the index.html is not there then show default index.html  */
			{
				$Smarty->assign('designserverpath',$serverpath.'template/themes/'.$theme.'/');
				$Smarty->display('themes/'.$theme.'/index.html');
			}
			else
			{
				$Smarty->display('index.html');
			}			
		}
	}
}
/***********************************END TEMPLATE LOADING**************************************/
/*****************************function for print array creater for test***********************/
function print_array($ar){
	echo "<pre>";
	print_r ($ar);
	echo "</pre>";
}

/**
 *  global function to retrun login info such as is valid, user id, access levels etc...
 */
function get_login_info(){
	if(!isset($_SESSION['ses_es_front_user_valid'])){
		return array(false);
	}else{
		return array(true,$_SESSION['ses_es_front_user_id'],$_SESSION['ses_es_front_user_access'] ,$_SESSION['ses_es_front_user_name'],$_SESSION['ses_es_front_user_email'],$_SESSION['ses_es_front_user_last_login'],$_SESSION['ses_es_front_default_country'],$_SESSION['ses_es_front_default_currency']);
	}
}

?>
