<?php
require_once('config.php');
require_once('lib/class.Db.php');

//echo "NOW, ".date("Y-m-d H:i:s");

$db = new Db(hostname, username, password, databasename);

//ob_start();
//session_start();

require_once('lib/functions.php');
require_once('lib/utility.php');

$pageName='';

//echo "<pre>";	print_r($_SESSION);		echo "</pre>";

//	Added by rassel to find the restaurant details [Start]	//
$query_restaurant = "SELECT * FROM resturant where rid='".RESTAURANT_STATIC_ID."'";
$result_restaurant = $db->execQuery($query_restaurant);
$meta_restaurant = $db->resultArray($result_restaurant);
//	Added by rassel to find the restaurant details [End]	//

//	SITE IN MAINTENANCE MODE [ START ]
if( isset($rowres_global["MAINTENANCE_MODE"]) && $rowres_global["MAINTENANCE_MODE"] == 1 ) {
	require_once('SOS/maintenance.php');
	die();
}
//	SITE IN MAINTENANCE MODE [ END ]

//	HOLIDAY MODULE [ START ]
$query_holiday = "SELECT * FROM global_holiday_module WHERE '".date("Y-m-d")."' BETWEEN sdate AND edate AND status = 1";
$result_obj_holiday = $db->execQuery($query_holiday);
$result_holiday = $db->resultArray($result_obj_holiday);

if( count( $result_holiday ) > 0 ) {
	require_once('SOS/holiday.php');
	//die();
}
//	HOLIDAY MODULE [ END ]

//////////////////////////////////////////////
//	For Rewrite Restaurant Menu URL [Start]	//
//////////////////////////////////////////////
$path = ltrim($_SERVER['REQUEST_URI'], '/');    // Trim leading slash(es)
$elements = explode('/', $path);                // Split path on slashes

//	This line is for local or subdomain comment our for Live server
//array_shift($elements);

// For Customer Details Trace [ START ]
if( isset($_SESSION['customers_id']) && $_SESSION['customers_id'] != ""  && $_SESSION['customers_id'] != 0 ) {
	$query = "Update customers set
				LAST_PAGE_REFERER='" .$_SERVER['HTTP_REFERER']. "',
				LAST_PAGE_VISIT='" .$_SERVER['REQUEST_URI']. "'
				WHERE customers_id = '".$_SESSION['customers_id']."'";
	$db->execQuery($query);
}
// For Customer Details Trace [ END ]

if( count($elements) == 0 ) {	}                   // No path elements means home
else switch(array_shift($elements))             	
{	  
    case $url_array['rest_menu']:
      	$_REQUEST["action"] = 'menu_list';
      	$_REQUEST["rid"] = '71';
        break;

	case $url_array['spacial_offer']:
      	$_REQUEST["action"] = 'pages';
		$_REQUEST["pid"] = '8';
        break;

	case $url_array['terms_and_cond']:
      	$_REQUEST["action"] = 'pages';
		$_REQUEST["pid"] = '5';
        break;

	case $url_array['cust_home']:
      	$_REQUEST["action"] = 'customeraccounthome';
        break;

	case $url_array['regis_log']:
      	$_REQUEST["action"] = 'login';
        break;

	case $url_array['customer_login']:
      	$_REQUEST["action"] = 'customer_login';

		// Added by rassel to maintain the page refresh
		if( isset($_SESSION['customers_id']) && $_SESSION['customers_id']!="" )	{	$_REQUEST["action"] = 'customeraccounthome';	}
        break;

	case $url_array['cust_registration']:
      	$_REQUEST["action"] = 'insert_customer';
        break;

	case $url_array['cust_edit']:
      	$_REQUEST["action"] = 'customer_edit';
        break;

	case $url_array['cust_add']:
      	$_REQUEST["action"] = 'address_book';
        break;

	case $url_array['cust_logout']:
      	$_REQUEST["action"] = 'customerlogout';
        break;

	case $url_array['opening_time']:
      	$_REQUEST["action"] = 'opening-time';
        break;

	case $url_array['contact_us']:
      	$_REQUEST["action"] = 'contact';
        break;

	case $url_array['service_info']:
      	$_REQUEST["action"] = 'service_info';
        break;

	case $url_array['ord_list']:
      	$_REQUEST["action"] = 'my_orderlist';
        break;

	case $url_array['cust_logout']:
      	$_REQUEST["action"] = 'customerlogout';
        break;

	case $url_array['order_place_page']:
      	$_REQUEST["action"] = 'order_place';
        break;

	case $url_array['confirm_order_page']:
      	$_REQUEST["action"] = 'confirm_orders';
        break;

	case $url_array['insert_order_online']:
      	$_REQUEST["action"] = 'insert_order_online';
        break;

	case $url_array['insert_order_cash']:
      	$_REQUEST["action"] = 'insert_order_cashdelivery';
        break;

    case $url_array['forget_password']:
		$_REQUEST["action"] = 'forget_password';
		break;

	case $url_array['reservation']:
		$_REQUEST["action"] = 'reservation';
		break;

	case $url_array['menu_card_view']:
      	$_REQUEST["action"] = 'menu_card_view';
        break;

	case $url_array['selskaber']:
      	$_REQUEST["action"] = 'selskaber';
        break;

	case $url_array['om_papatya']:
      	$_REQUEST["action"] = 'om_papatya';
        break;

	case $url_array['privacy_policy']:
      	$_REQUEST["action"] = 'privacy_policy';
        break;
}
//////////////////////////////////////////////
//	For Rewrite Restaurant Menu URL [End]	//
//////////////////////////////////////////////

if ( isset($_REQUEST["action"]) && !empty($_REQUEST["action"]) )
{
	$action = $_REQUEST["action"];

	switch ($_REQUEST["action"])
	{
		case 'login':
			$arreturnvalue = array('body' => 'login.php');
			break;

		case 'opening-time':
			$arreturnvalue = array('body' => 'opening_time.php');
			break;

		case 'service_info':
			$arreturnvalue = array('body' => 'service_info.php');
			break;

		case 'customeraccounthome':
			if($_SESSION['customers_id']!="")
			{	$arreturnvalue = array('body' => 'cust_account_home.php');	}
			else
			{	$arreturnvalue = array('body' => 'home.php');	}
			break;

		case 'customer_edit':
			if($_SESSION['customers_id']!="")
			{	$arreturnvalue = array('body' => 'cust_edit.php');	}
			else
			{	$arreturnvalue = array('body' => 'home.php');	}
			break;

		case 'address_book':
			if($_SESSION['customers_id']!="")
			{	$arreturnvalue = array('body' => 'cust_address_book.php');	}
			else
			{	$arreturnvalue = array('body' => 'home.php');	}
			break;

		case 'my_orderlist':
			if($_SESSION['customers_id']!="")
			{	$arreturnvalue = array('body' => 'cust_orderlist.php');	}
			else
			{	$arreturnvalue = array('body' => 'home.php');	}
			break;

		case 'orderdetails':
			if($_SESSION['customers_id']!="")
			{	$arreturnvalue = array('body' => 'cust_orderdetails.php');	}
			else
			{	$arreturnvalue = array('body' => 'home.php');		}
			break;

		case 'paidcancel':
			if($_SESSION['customers_id']=="")
			{	$arreturnvalue = array('body' => 'order_place.php');	}
			else
			{	$arreturnvalue = array('body' => 'payment_cancel.php');	}
			break;

		case 'paymentok':
			if($_SESSION['customers_id']=="")
			{	$arreturnvalue = array('body' => 'order_place.php');	}
			else
			{	$arreturnvalue = array('body' => 'checkout/payment_ok.php');	}
			break;

		case 'paidcallback':
			if($_SESSION['customers_id']=="")
			{	$arreturnvalue = array('body' => 'order_place.php');	}
			else
			{	$arreturnvalue = array('body' => 'payment_callback.php');	}
			break;

		case 'cashorderok':
			if($_SESSION['customers_id']=="")
			{	$arreturnvalue = array('body' => 'order_place.php');	}
			else
			{	
				if( isset($_SESSION['NewCashOrderId']) && $_SESSION['NewCashOrderId'] != "" && isPositiveIntValue($_SESSION['NewCashOrderId']) ) {
					$arreturnvalue = array('body' => 'checkout/thank_you.php');
				}
				else {
					header("Location: ".HOST.$url_array['rest_menu']);
					exit;
				}
			}
			break;

		case 'order_place':
			if( !isset($_SESSION['customers_id']) || $_SESSION['customers_id']=="" ) {
				$arreturnvalue = array('body' => 'order_place.php');
			} else {
				if($_SESSION['order_type']=="1") {	$arreturnvalue = array('body' => 'checkout/shipping.php');	}
				else {	$arreturnvalue = array('body' => 'checkout/collection.php');	}
			}
			break;
			
		case 'menu_list':
			$_SESSION['rids'] = $_REQUEST['rid'];

			if($_SESSION['rids']!="")	{	$arreturnvalue = array('body' => 'menu.php');	}
			else	{	$arreturnvalue = array('body' => 'home.php');	}

			if(isset($_REQUEST["rid"]) && $_REQUEST["rid"] !=="" && isset($_REQUEST["from"]) && $_REQUEST["from"] !=="") {
				// load template data
				unset($_SESSION['cart']);
				unset($_SESSION['qty']);
				$cart = array();
				$qty = array();
				$temp_i = 0;

				$sql = "SELECT ODT.*, COT.total_price
				FROM order_detail_template AS ODT
				LEFT JOIN customer_order_template AS COT ON COT.OrderId = ODT.OrderId
				WHERE ODT.OrderId = {$_REQUEST['from']}";
				$result=mysql_query($sql);

				while($row = mysql_fetch_array($result)){
					$cart[$temp_i] = $row["BaseProductId"];
					$qty[$temp_i] = $row["Qty"];
					$temp_i++;
				}

				$_SESSION['cart'] = $cart;
				$_SESSION['qty'] = $qty;
				$_SESSION['ttpric'] = $row[0]["total_price"]-($row[0]["DeliveryCost"] + $row[0]["HandlingFee"]);
			}
			break;

		case 'address_delete':
			if( isset($_REQUEST['ca_id']) && $_REQUEST['ca_id']!="" && $_SESSION['customers_id']!="" ) {
				$query = "DELETE FROM customer_address WHERE ca_id = '".$_REQUEST["ca_id"]."'";
				$result = $db->execQuery($query);
				$pageName="Registration";

				if(!$result) {
					$arreturnvalue = array(
						'body' => 'cust_address_book.php',
						'message' => $lang['address_delete_failed']);
				} else {
						$arreturnvalue = array(
						'body' => 'cust_address_book.php',
						'message' => $lang['address_delete_success']);

					$_REQUEST["ca_id"]="";
				}
			}
			break;

		case 'logout':
			session_unset();
			session_destroy();
			$pageName="Home";
			header("Location: ".HOST); exit;
			$arreturnvalue = array('body' => 'home.php');
			break;

		case 'customerlogout':
			// For Customer Details Trace [ START ]
			$query = "Update customers set
						LOGOUT_TIME='" .date('Y-m-d H:i:s'). "'
						WHERE customers_id = '".$_SESSION['customers_id']."'";
			$db->execQuery($query);
			// For Customer Details Trace [ END ]
			
			session_unset();
			session_destroy();

			if($_SESSION['fb_logged_in']=='1') {
				require_once('facebook.php');

				$facebook = new Facebook(array(
					'appId' => '602515196482951',
					'secret' => 'cfeeddea3d50701ebeeba441a3d2978b'
				));

				$urlToGoNext= $facebook->getLogoutUrl(array('next' =>HOST));
				header("Location: ".$urlToGoNext); exit;
			}
			else {
				$pageName="Home";
				header("Location: ".HOST); exit;
				$arreturnvalue = array('body' => 'home.php');
			}
			break;
	
		case 'update_address':
			require_once('controller/customer.php');
			$customer = new customer($db);
			$arreturnvalue = $customer->update_address();
			break;

		case 'confirm_orders':
			require_once('controller/order.php');
			$order = new order($db);
			$arreturnvalue = $order->confirm_orders();
			break;

		case 'insert_order_online':
			require_once('controller/order.php');
			$order = new order($db);
			$returnArray = $order->insert_order_online();

			$mlord = isset( $returnArray['mlord']) ? $returnArray['mlord'] : "0";
			$arreturnvalue['body'] = isset( $returnArray['body']) ? $returnArray['body'] : "";
			$arreturnvalue['ERROR_TYPE'] = isset( $returnArray['ERROR_TYPE']) ? $returnArray['ERROR_TYPE'] : "";
			break;

		case 'insert_order_cashdelivery':
			require_once('controller/order.php');
			$order = new order($db);
			$arreturnvalue = $order->insert_order_cash();
			break;

		case 'customer_login':
			require_once('controller/customer.php');
			$customer = new customer($db);
			//$arreturnvalue = $customer->login($_REQUEST);
			$arreturnvalue = $customer->login($_REQUEST, $url_array);
			break;

        case 'forget_password':
	   		require_once('controller/customer.php');
			$customer = new customer($db);
			$arreturnvalue = $customer->forget_password($_REQUEST);
			break;

		case 'new_password':
	   		require_once('controller/customer.php');
			$customer = new customer($db);
			$arreturnvalue = $customer->new_password($_REQUEST);
			break;
        
		case 'insert_customer':
			require_once('controller/customer.php');
			$customer = new customer($db);
			$arreturnvalue = $customer->registration($_REQUEST);
			break;

		case 'update_customer':
			require_once('controller/customer.php');
			$customer = new customer($db);
			$arreturnvalue = $customer->update_customer($_REQUEST);
			break;

		case 'contact':
		  	require_once('controller/customer.php');
			$customer = new customer($db);
			$arreturnvalue = $customer->contact($_REQUEST);
			break;

		case 'pages':
			require_once('controller/cms.php');
			$cms = new cms($db);
			$arreturnvalue = $cms->pages($_REQUEST);
			break;
			
		//	Added for Reorder [Start]	//
		case 'reorder':
			require_once('controller/order.php');
			$order = new order($db);
			$arreturnvalue = $order->reorder();
			break;
		break;
		//	Added for Reorder [End]	//

		case 'reservation':
			$arreturnvalue = array('body' => 'reservation.php');
			break;	

		case 'menu_card_view':
			$arreturnvalue = array('body' => 'menu_card_view.php');
			break;	

		case 'selskaber':
			$arreturnvalue = array('body' => 'selskaber.php');
			break;	
			
		case 'om_papatya':
			$arreturnvalue = array('body' => 'om_papatya.php');
			break;	
			
		case 'privacy_policy':
			//  For Privacy Policy
			$queryPrivacyPolicy = "SELECT * FROM cms_posts where ID='9'";
			$resultPrivacyPolicy = $db->execQuery($queryPrivacyPolicy);
			$arrPrivacyPolicy = $db->resultArray($resultPrivacyPolicy);    

			if( count($arrPrivacyPolicy) && $arrPrivacyPolicy[0]['post_status'] == "Publish") { 
				$arreturnvalue = array('body' => 'privacy_policy.php');
			}
			else {
				$arreturnvalue = array('body' => 'home.php');
			}	
			break;

		default:
			$arreturnvalue = array('body' => 'home.php');
			break;
	}
}
else
{
	$pageName="Home";
	$arreturnvalue = array('body' => 'home.php');
}

$body = isset( $arreturnvalue['body']) ? $arreturnvalue['body'] : "";
$message = isset( $arreturnvalue['message']) ? $arreturnvalue['message'] : "";
$message_flag = isset( $arreturnvalue['message_flag']) ? $arreturnvalue['message_flag'] : "";
$contact_message = isset( $arreturnvalue['contact_message']) ? $arreturnvalue['contact_message'] : "";
$ERROR_TYPE = isset( $arreturnvalue['ERROR_TYPE']) ? $arreturnvalue['ERROR_TYPE'] : "";

////////////////////////////////////////////////////////////////////
////				For Loading the Theme [Start]				////
////////////////////////////////////////////////////////////////////

//echo "</br>echo location 'index.php'</br>";
//error_reporting(E_ALL);

//formatedResponse($arreturnvalue);
//formatedResponse($_SESSION);

include $selected_theme_folder.'/index.php';
//include $selected_theme_folder.'/menu.php';

////////////////////////////////////////////////////////////////////
////				For Loading the Theme [End]					////
////////////////////////////////////////////////////////////////////

//	For Showing Special Error Message
include 'global_error_alert.php';
?>