MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/lifemaze_in/bend/chart_callback.php
<?php
require_once('../lp_lib/lpObject.php');
require_once('../lp_lib/lp_calculation.php');
$lp_session  =  lpObject::newObject('lp_session');
$lp_session->startSession();

$libObject   = $lp_session->is_session_exist();
if(!$libObject){
	echo json_encode(array('sts' => false, 'info' =>"Required Login"));
	exit(0);
}

$is_customer = $libObject->is_customer();
if(!$is_customer){
	echo json_encode(array('sts' => false, 'info' =>"Required Login"));
	exit(0);
}
$dbObject = $libObject->getDBObject();
$repObject = lpObject::newObject('lp_reports');
$repObject->setLibObject($libObject);
$repObject->set_cust_id($libObject->cust_id);

$frm = "";
if(isset($_POST['frm'])){
	$frm = $_POST['frm'];
}
$income_total = 0;
$expense_total = 0;
$loan_total = 0;
$investment_total = 0;

	
/**** OVER ALL INCOME CHART ****/
if($frm === "over_all_income_chart"){
	$income_rslt = $repObject->all_income_chart();
	$drill_list = array();
	$tr_line = "";
	
	
	foreach($income_rslt as $income){
		$family_id      = $income->family_id;
		$family_name    = $income->family_name;		
		$income_amt     = (int)$income->income_amt;
		$income_yearly  = (int)$income->income_yearly;
		$income_total   += $income_yearly;
		
		$rows['data'][] = array("name"=>$family_name,"y"=>$income_yearly,"drilldown"=>$family_name);
		
		$drill_result = $repObject->get_income_family_id($family_id);
		$drill = array();
		$drill['name'] = $family_name;
		$drill['id']   = $family_name;
				
		foreach ($drill_result as $drill_info) {
			$income_amt      = (int)$drill_info->income_amt;
			$income_yearly   = (int)$drill_info->income_yearly;
			$income_type     = $drill_info->income_type;
			$type = "Other";
			if((int)$income_type === 1){
				$type = "Salary";
			}
			$drill['data'][] = array($type,$income_yearly);
			array_push($drill_list,$drill);
		}
		$name_len = strlen($family_name);
		if($name_len >=9){
			$family_name = substr($family_name,0,6).'...';
		}
		$tr_line .= "<tr>
						<td>$family_name</td>
						<td>$income_yearly</td>
					  </tr>";
	}
	$chart_table = "<table class='striped responsive-table'>
						<tbody>
							$tr_line
						</tbody>
				  </table>";
	$rslt = array();		
	array_push($rslt,$rows);	
	$_SESSION['income_total'] =  $income_total;
	echo json_encode(array('series' => $rslt, 'drill_list' => $drill_list,'chart_table'=>$chart_table,'income_total'=>$income_total),JSON_NUMERIC_CHECK);
}else
/**** SALARY INCOME CHART ****/
if($frm === "salary_income_chart"){
	$income_hike = "";
	if(isset($_POST['income_hike'])){
		$income_hike = $_POST['income_hike'];
	}
	
	$income_rslt = $repObject->all_income_chart("1");
	$list = array();
	$cat  = array();
	foreach($income_rslt as $income){
		$family_id      = $income->family_id;
		$family_name    = $income->family_name;
		$income_amt     = $income->income_amt;
		$income_yearly  = (int)$income->income_yearly;
		$start_date  = date("Y-m-d");
		$list_data   = array();
		$list_data['name'][] = $family_name;
		$list_data['data'][] = $income_yearly;
		
		$push_date = explode("-",$start_date);
		$push_date = $push_date[0];
		array_push($cat,$push_date);
		
		for($x = 1; $x <= 10; $x++){
			$tot_salary = $income_yearly * $income_hike /100;
			$tot_salary = $income_yearly + $tot_salary;
			$list_data['data'][] = $tot_salary;
			$income_yearly = $tot_salary;
			
			$date  = new DateTime($start_date);
			$date  = $date->modify("+ 1 year");
			$date  = $date->format("Y-m-d");
			//$date = date("Y-m-d", strtotime(date("Y-m-d", strtotime($start_date)) ."+ 1 years"));
			$start_date = $date;
			$push_date = explode("-",$start_date);
			$push_date = $push_date[0];
			array_push($cat,$push_date);
		}
		array_push($list,$list_data);
	}
	echo json_encode(array('series' => $list, 'categories' => $cat),JSON_NUMERIC_CHECK);
}else
/**** OTHER INCOME CHART ****/
if($frm === "other_income_chart"){
	$income_hike = "";
	if(isset($_POST['income_hike'])){
		$income_hike = $_POST['income_hike'];
	}
	
	$income_rslt = $repObject->all_income_chart("2");
	$list = array();
	$cat  = array();
	foreach($income_rslt as $income){
		$family_id      = $income->family_id;
		$family_name    = $income->family_name;
		$income_amt     = $income->income_amt;
		$income_yearly  = (int)$income->income_yearly;
		$start_date  = date("Y-m-d");
		$list_data   = array();
		$list_data['name'][] = $family_name;
		$list_data['data'][] = $income_yearly;
		
		$push_date = explode("-",$start_date);
		$push_date = $push_date[0];
		array_push($cat,$push_date);
		
		for ($x = 1; $x <= 10; $x++) {
			$tot_salary = $income_yearly * $income_hike /100;
			$tot_salary = $income_yearly + $tot_salary;
			$list_data['data'][] = $tot_salary;
			$income_yearly = $tot_salary;
			
			$date  = new DateTime($start_date);
			$date  = $date->modify("+ 1 year");
			$date  = $date->format("Y-m-d");
			//$date = date("Y-m-d", strtotime(date("Y-m-d", strtotime($start_date)) ."+ 1 years"));
			$start_date = $date;
			$push_date = explode("-",$start_date);
			$push_date = $push_date[0];
			array_push($cat,$push_date);
		}
		array_push($list,$list_data);
	}
	echo json_encode(array('series' => $list, 'categories' => $cat),JSON_NUMERIC_CHECK);
}else
/**** EXPENSE CHART ****/
if($frm === "expense_chart"){
	$expense_rslt = $repObject->get_expense();
	$drill_list = array();
	
	foreach($expense_rslt as $expense){
		$expense_name    = $expense->expense_name;
		$exp_amt         = (int)$expense->exp_amt;
		$exp_yearly      = (int)$expense->exp_yearly;
		$expense_related = $expense->expense_related;
		$exp_family      = $expense->exp_family;
		$expense_total  += $exp_yearly;
		$rows['data'][]  = array("name"=>$expense_name,"y"=>$exp_yearly,"drilldown"=>$expense_name);	
		$drill_result    = $repObject->get_expense_drill($expense_name,$expense_related);
		$drill = array();
		$drill['name'] = $expense_name;
		$drill['id']   = $expense_name;
		foreach ($drill_result as $drill_info) {
			$exp_amt    = (int)$drill_info->exp_amt;
			$exp_yearly = (int)$drill_info->exp_yearly;
			if((int)$expense_related === 1){
				$sub_name  = $drill_info->expense_sub_name;
			}
			if((int)$expense_related === 2){
				$sub_name  = $drill_info->family_name;
			}
			$drill['data'][] = array($sub_name,$exp_yearly);
			array_push($drill_list,$drill);
		}
	}
	$rslt = array();
	array_push($rslt,$rows);
	$_SESSION['expense_total'] =  $expense_total;
	$income_total = $_SESSION['income_total'];	

	//$total = $income_total - $expense_total;
	//$expense_info  = "$income_total - $expense_total = $total";
	$total = round(($expense_total / $income_total) *100,2);
	
	$expense_info  = "(Yearly Expense $expense_total)  <span style='font-size:12px;'>$total%</span>";
	echo json_encode(array('series' => $rslt, 'drill_list' => $drill_list, 'expense_total' => $expense_info),JSON_NUMERIC_CHECK);
}else
/**** LOAN CHART ****/
if($frm === "loan_chart"){
	$loan_rslt = $repObject->get_loan();
	$rows = [];	
	foreach($loan_rslt as $loan){
		$loan_name    = $loan->loan_type_name;
		$loan_amt     = (int)$loan->loan_outstanding;
		$emi_yearly   = (int)$loan->emi_yearly;
		$loan_total  += $emi_yearly;
		$loan_chart[] = array($loan_name,$emi_yearly);
		$rows['data'][] = array("name"=>$loan_name,"y"=>$emi_yearly);
	}
	$rslt = array();
	array_push($rslt,$rows);
	if(empty($rows)){
		$sts = false;
	}else{
		$sts = true;
	}
	$_SESSION['loan_total'] =  $loan_total;
	$income_total  = $_SESSION['income_total'];
	//$expense_total = $_SESSION['expense_total'];	
	//$in_exp_total = $income_total - $expense_total;
	//$total        = $in_exp_total - $loan_total;
	//$loan_info  = "$in_exp_total - $loan_total = $total";	
	
	$total = round(($loan_total / $income_total) *100,2);
	$loan_info  = "(Yearly Loan $loan_total)  <span style='font-size:12px;'>$total%</span>";
	echo json_encode(array('sts'=>$sts,'series' => $rslt,'loan_total' => $loan_info),JSON_NUMERIC_CHECK);
}else
/**** INVESTMENTS CHART ****/
if($frm === "investment_chart"){
	$drill_list = array();	
	
	// BANK INFORMATION
	$bank_sum = $repObject->get_bank_sum();	
	$rows['data'][] = array("name"=>"Bank","y"=>$bank_sum,"drilldown"=>"Bank");	
	$investment_total += $bank_sum;
	
	$drill = array();
	$drill['name'] = "Bank";
	$drill['id']   = "Bank";
	$drill_result  = $repObject->get_bank_list();
	$drill_result  = json_decode($drill_result);
	foreach ($drill_result as $drill_info) {
		$bank_scheme       = $drill_info->bank_scheme;
		$bank_amt          = (int)$drill_info->bank_amt;
		$bank_maturity_amt = (int)$drill_info->bank_maturity_amt;
		$bank_scheme_info  = array('1'=>"Bank Fixed Deposit",'2'=>"Company Deposit",'3'=>"Bank Recurring Deposit",'4'=>"Bonds",'5'=>"Other Deposits");
		$bank_scheme_name  = $bank_scheme_info[$bank_scheme];
		$drill['data'][] = array($bank_scheme_name,$bank_amt);
		array_push($drill_list,$drill);
	}	
	
	//INSURANCE INFORMATION
	$insurance_rslt = $repObject->get_insurance_sum();
	foreach($insurance_rslt as $insurance){
		$insurance_type_name  = $insurance->insurance_type_name;
		$ins_premium          = (int)$insurance->ins_premium;
		$premium_yearly       = (int)$insurance->premium_yearly;
		$rows['data'][] = array("name"=>"Insurance","y"=>$premium_yearly,"drilldown"=>"Insurance");
		$investment_total += $premium_yearly;
		
		$drill = array();
		$drill['name'] = "Insurance";
		$drill['id']   = "Insurance";
		$drill_result  = $repObject->get_insurance_list();
		foreach ($drill_result as $drill_info) {
			$insurance_type_name  = $drill_info->insurance_type_name;
			$ins_premium          = (int)$drill_info->ins_premium;			
			$premium_yearly       = (int)$drill_info->premium_yearly;			
			$drill['data'][] = array($insurance_type_name,$premium_yearly);
			array_push($drill_list,$drill);
		}
	}
	//MUTUAL FUND INFORMATION
	$mf_rslt = $repObject->get_mf_sum();
	foreach($mf_rslt as $mf){
		$amc_name        = $mf->amc_name;
		$mf_present_val  = (int)$mf->mf_present_val;
		$mf_live_sip     = (int)$mf->mf_live_sip;
		$mf_yearly       = (int)$mf->mf_yearly;
		$rows['data'][]  = array("name"=>"Mutual Fund","y"=>$mf_yearly,"drilldown"=>"Mutual Fund");
		$investment_total += $mf_yearly;
		
		$drill = array();
		$drill['name'] = "Mutual Fund";
		$drill['id']   = "Mutual Fund";
		$drill_result  = $repObject->get_mf_list();
		foreach ($drill_result as $drill_info) {
			$amc_name       = $drill_info->amc_name;
			$mf_present_val = (int)$drill_info->mf_present_val;			
			$mf_live_sip    = (int)$drill_info->mf_live_sip;			
			$mf_yearly      = (int)$drill_info->mf_yearly;			
			$drill['data'][] = array($amc_name,$mf_yearly);
			array_push($drill_list,$drill);
		}
	}
	//GOVERNMENT SCHEME INFORMATION
	$gov_rslt = $repObject->get_gov_sum();
	foreach($gov_rslt as $gov){
		$gov_scheme_name = $gov->gov_scheme_name;
		$gov_amount      = (int)$gov->gov_amount;
		$gov_yearly      = (int)$gov->gov_yearly;
		$rows['data'][]  = array("name"=>"Government scheme","y"=>$gov_yearly,"drilldown"=>"Government scheme");
		$investment_total += $gov_yearly;
		
		$drill = array();
		$drill['name'] = "Government scheme";
		$drill['id']   = "Government scheme";
		$drill_result  = $repObject->get_gov_list();
		foreach ($drill_result as $drill_info) {
			$gov_scheme_name = $drill_info->gov_scheme_name;
			$gov_amount      = (int)$drill_info->gov_amount;			
			$gov_yearly      = (int)$drill_info->gov_yearly;			
			$drill['data'][] = array($gov_scheme_name,$gov_yearly);
			array_push($drill_list,$drill);
		}
	}
	//STOCK & BULLION INFORMATION
	$stock_rslt = $repObject->get_stock_sum();
	foreach($stock_rslt as $stock){
		$stockname_info   = array('1'=>"Stocks",'2'=>"Bullion");	
		$bullion_info = array('1'=>"Gold",'2'=>"Silver",'3'=>"Others");			
		$stock_type          = $stock->stock_type;
		$bullion_type        = $stock->bullion_type;
		$stock_current_value = (int)$stock->stock_current_value;
		$stock_inflow_value  = (int)$stock->stock_inflow_value;
		$stock_yearly        = (int)$stock->stock_yearly;
		$rows['data'][]  = array("name"=>"Stock & bullion","y"=>$stock_yearly,"drilldown"=>"Stock & bullion");
		$investment_total += $stock_yearly;
		
		$drill = array();
		$drill['name'] = "Stock & bullion";
		$drill['id']   = "Stock & bullion"; 
		$drill_result  = $repObject->get_stock_list();
		foreach ($drill_result as $drill_info) {
			$stock_type          = $drill_info->stock_type;
			$bullion_type        = $drill_info->bullion_type;			
			$stock_current_value = (int)$drill_info->stock_current_value;			
			$stock_inflow_value  = (int)$drill_info->stock_inflow_value;
			$stock_yearly        = (int)$drill_info->stock_yearly;
			$stock_name          = $stockname_info[$stock_type];			
			$drill['data'][] = array($stock_name,$stock_yearly);
			array_push($drill_list,$drill);
		}
	}
	//OTHER INFORMATION
	$other_rslt = $repObject->get_other_sum();
	foreach($other_rslt as $other){
		$others_amt   = (int)$other->others_amt;
		$other_yearly = (int)$other->other_yearly;
		$rows['data'][]  = array("name"=>"Others","y"=>$other_yearly,"drilldown"=>"Others");
		$investment_total += $other_yearly;
		
		$drill = array();
		$drill['name'] = "Others";
		$drill['id']   = "Others";
		$drill_result  = $repObject->get_other_list();
		foreach ($drill_result as $drill_info) {
			$family_name  = $drill_info->family_name;			
			$others_amt   = (int)$drill_info->others_amt;		
			$other_yearly = (int)$drill_info->other_yearly;		
			$drill['data'][] = array($family_name,$other_yearly);
			array_push($drill_list,$drill);
		}
	}	
	$rslt = array();
	array_push($rslt,$rows);
	
	$_SESSION['investment_total'] =  $investment_total;
	$income_total  = $_SESSION['income_total'];
	$expense_total = $_SESSION['expense_total'];
	$loan_total    = $_SESSION['loan_total'];
	
	//$in_exp_total = $income_total - $expense_total;
	//$total_loan   = $in_exp_total - $loan_total;
	//$inv_toal    = $total_loan - $investment_total;
	//$inv_info    = "$total_loan - $investment_total = $inv_toal";
	
	$total = round(($investment_total / $income_total) *100,2);
	$inv_info  = "(Yearly Investment $investment_total)  <span style='font-size:12px;'>$total%</span>";
	
	echo json_encode(array('series' => $rslt, 'drill_list' => $drill_list, 'investment_total' => $inv_info, 'inv_total' => $investment_total),JSON_NUMERIC_CHECK);	
}else
/**** IN OUT FLOW CHART ****/
if($frm === "in_out_flow_chart"){
	$in_out_years = "";
	if(isset($_POST['in_out_years'])){
		$in_out_years = $_POST['in_out_years'];
	}
	$in_out_inflation = "";
	if(isset($_POST['in_out_inflation'])){
		$in_out_inflation = $_POST['in_out_inflation'];
	}
	$income_hike = "";
	if(isset($_POST['income_hike'])){
		$income_hike = $_POST['income_hike'];
	}
	
	$in_out_rslt        = $repObject->get_in_out_flow();
	$tot_income         = $in_out_rslt->tot_income;
	$tot_expence        = $in_out_rslt->tot_expence;
	$loan_info          = $in_out_rslt->loan_info;
	$bank_in_info       = $in_out_rslt->bank_in_info;
	$bank_out_info      = $in_out_rslt->bank_out_info;
	$insurance_in_info  = $in_out_rslt->insurance_in_info;
	$insurance_out_info = $in_out_rslt->insurance_out_info;
	$mf_list            = $in_out_rslt->mf_list;
	$gov_in_info        = $in_out_rslt->gov_in_info;
	$gov_out_info       = $in_out_rslt->gov_out_info;
	$others_in_info     = $in_out_rslt->others_in_info;
	$others_out_info    = $in_out_rslt->others_out_info;
	
	$start_date  = date("Y-m-d");	
	$list = array();
	$cat  = array();
	$income_data['name'][]        = "Income";	
	$expense_data['name'][]       = "Expense";
	$loan_data['name'][]		  = "Loan";
	$bank_in_data['name'][]       = "Bank In";	
	$bank_out_data['name'][]      = "Bank Out";	
	$ins_in_data['name'][]        = "Insurance In";
	$insurance_out_data['name'][] = "Insurance Out";
	$mf_list_data['name'][]       = "Mutual Fund";
	$gov_in_data['name'][]        = "Government In";
	$gov_out_data['name'][]       = "Government Out";
	$others_in_data['name'][]     = "Others In";
	$others_out_data['name'][]    = "Others Out";
	$check_year  = new DateTime($start_date);
	$check_year  = $check_year->format("Y");
	//$check_year    = date('Y',strtotime($start_date));	
	for ($x = 0; $x <= (int)$in_out_years; $x++) {		
		if($x === 0){
			$tot_income  = $tot_income;
			$tot_expence = $tot_expence;
			$date        = $start_date;
		}else{
			$tot_salary    = $tot_income * $income_hike /100;
			$tot_salary    = $tot_income + $tot_salary;
			$tot_income    = round($tot_salary);
			
			$expence_total = $tot_expence * $in_out_inflation /100;
			$expence_total = $tot_expence + $expence_total;
			$tot_expence   = round($expence_total);
			$check_year    = $check_year + 1;
		}
		array_push($cat,$check_year);
		
		$income_data['data'][]  = (int)$tot_income;
		$expense_data['data'][] = "-$tot_expence";
		
		$loan_amt = 0;
		foreach(json_decode($loan_info) as $loan_out){
			$maturity_year = $loan_out->maturity_year;
			$emi_yearly    = $loan_out->emi_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$loan_amt += $emi_yearly;
			}
		}
		$loan_data['data'][] = "-$loan_amt";
		
		$mf_amt = 0;
		foreach(json_decode($mf_list) as $mf){
			$maturity_year = $mf->maturity_year;
			$mf_yearly     = $mf->mf_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$mf_amt += $mf_yearly;
			}
		}
		$mf_list_data['data'][] = "-$mf_amt";
		
		
		$bank_in_amt = 0;
		if(in_array($check_year, array_column(json_decode($bank_in_info,true), 'maturity_year'))) {
			foreach(json_decode($bank_in_info) as $bank_in){
				$maturity_year     = $bank_in->maturity_year;
				$bank_maturity_amt = $bank_in->bank_maturity_amt;
				if((int)$maturity_year === (int)$check_year){
					$bank_in_amt += $bank_maturity_amt;
				}
			}
		}
		$bank_in_data['data'][] = $bank_in_amt;
		
		$bank_out_amt = 0;
		foreach(json_decode($bank_out_info) as $bank_out){
			$maturity_year = $bank_out->maturity_year;
			$bank_yearly   = $bank_out->bank_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$bank_out_amt += $bank_yearly;
			}
		}
		$bank_out_data['data'][] = "-$bank_out_amt";
		
		$ins_in_amt = 0;
		if(in_array($check_year, array_column(json_decode($insurance_in_info,true), 'maturity_year'))) {
			foreach(json_decode($insurance_in_info) as $insurance_in){
				$maturity_year   = $insurance_in->maturity_year;
				$ins_sum_assured = $insurance_in->ins_sum_assured;
				$premium_yearly  = $insurance_in->premium_yearly;
				$ins_term        = $insurance_in->ins_term;
				$ins_ppt         = $insurance_in->ins_ppt;
				$inflation = $premium_yearly;
				if((int)$maturity_year === (int)$check_year){
					for($i=1; $i<(int)$ins_ppt; $i++){
						$interst= $inflation * 0.06;
						$inflation=$inflation+$interst+$premium_yearly;
					}							
					for($i=(int)$ins_ppt; $i<=(int)$ins_term; $i++){
						$inflation_info  = lp_calculation::compound_interest($inflation,6,1);
						$inflation_info  = json_decode($inflation_info); 
						$inflation       = $inflation_info->future_value;
					}						
					$ins_in_amt += $inflation;
				}
			}
		}
		$ins_in_data['data'][] = $ins_in_amt;		
		
		$insurance_out_amt = 0;
		foreach(json_decode($insurance_out_info) as $insurance_out){
			$maturity_year   = $insurance_out->maturity_year;
			$premium_yearly  = $insurance_out->premium_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$insurance_out_amt += $premium_yearly;
			}
		}
		$insurance_out_data['data'][] = "-$insurance_out_amt";
		
		$gov_in_amt = 0;
		if(in_array($check_year, array_column(json_decode($gov_in_info,true), 'maturity_year'))) {
			foreach(json_decode($gov_in_info) as $gov_in){
				$maturity_year      = $gov_in->maturity_year;
				$gov_maturity_value = $gov_in->gov_maturity_value;
				if((int)$maturity_year === (int)$check_year){
					$gov_in_amt += $gov_maturity_value;
				}
			}
		}
		$gov_in_data['data'][] = $gov_in_amt;
		
		
		$gov_out_amt = 0;
		foreach(json_decode($gov_out_info) as $gov_out){
			$maturity_year   = $gov_out->maturity_year;
			$gov_yearly      = $gov_out->gov_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$gov_out_amt += $gov_yearly;
			}
		}
		$gov_out_data['data'][] = "-$gov_out_amt";
		
		
		$others_in_amt = 0;
		if(in_array($check_year, array_column(json_decode($others_in_info,true), 'maturity_year'))) {
			foreach(json_decode($others_in_info) as $others){
				$maturity_year       = $others->maturity_year;
				$others_maturity_val = $others->others_maturity_val;
				if((int)$maturity_year === (int)$check_year){
					$others_in_amt += $others_maturity_val;
				}
			}
		}
		$others_in_data['data'][] = $others_in_amt;
		
		//print_r($others_out_info);
		$others_out_amt = 0;
		foreach(json_decode($others_out_info) as $others_out){
			$maturity_year   = $others_out->maturity_year;
			$other_yearly    = $others_out->other_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$others_out_amt += $other_yearly;
			}
		}
		$others_out_data['data'][] = "-$others_out_amt";
	}
	
	array_push($list,$income_data);
	array_push($list,$expense_data);
	array_push($list,$loan_data);
	array_push($list,$bank_in_data);
	array_push($list,$bank_out_data);
	array_push($list,$ins_in_data);
	array_push($list,$insurance_out_data);
	array_push($list,$mf_list_data);
	array_push($list,$gov_in_data);
	array_push($list,$gov_out_data);
	array_push($list,$others_in_data);
	array_push($list,$others_out_data);
	echo json_encode(array('series' => $list, 'categories' => $cat),JSON_NUMERIC_CHECK);
}else
/**** IN OUT FLOW INFORMATION ****/
if($frm === "in_out_flow_info"){
	$in_out_years = "";
	if(isset($_POST['in_out_years'])){
		$in_out_years = $_POST['in_out_years'];
	}
	$in_out_inflation = "";
	if(isset($_POST['in_out_inflation'])){
		$in_out_inflation = $_POST['in_out_inflation'];
	}
	$income_hike = "";
	if(isset($_POST['income_hike'])){
		$income_hike = $_POST['income_hike'];
	}
	$in_out_rslt        = $repObject->get_in_out_flow();
	$tot_income         = $in_out_rslt->tot_income;
	$tot_expence        = $in_out_rslt->tot_expence;
	$loan_info          = $in_out_rslt->loan_info;
	$bank_in_info       = $in_out_rslt->bank_in_info;
	$bank_out_info      = $in_out_rslt->bank_out_info;
	$insurance_in_info  = $in_out_rslt->insurance_in_info;
	$insurance_out_info = $in_out_rslt->insurance_out_info;
	$mf_list            = $in_out_rslt->mf_list;
	$gov_in_info        = $in_out_rslt->gov_in_info;
	$gov_out_info       = $in_out_rslt->gov_out_info;
	$others_in_info     = $in_out_rslt->others_in_info;
	$others_out_info    = $in_out_rslt->others_out_info;
	
	$start_date        = date("Y-m-d");	
	$check_year  = new DateTime($start_date);
	$check_year  = $check_year->format("Y");
	//$check_year        = date('Y',strtotime($start_date));	
	$th_line           = "<th>Type</th> <th>Name</th>";
	$salary_line       = "<td colspan='2'>Salary</td>";
	$expense_line      = "<td colspan='2'>House Hold Expense</td>";
	$in_total_line     = "<td colspan='2'>TOTAL INCOME PER YEAR</td>";
	$out_total_line    = "<td colspan='2'>TOTAL EXPENSES PER YEAR</td>";
	$final_total_line  = "<td colspan='2'>SURPLUS FUND PER YEAR</td>";
	$bank_in_line      = "";
	$bank_in_td        = "";
	$bank_bal_td       = "";
	$insurance_in_line = "";
	$insurance_in_td   = "";
	$insurance_bal_td  = "";	
	$gov_in_line       = "";
	$gov_in_td         = "";
	$gov_bal_td        = "";
	$others_in_line       = "";
	$others_in_td         = "";
	$others_bal_td        = "";
	$total_years       = (int)$in_out_years;
	for ($x = 0; $x <= $total_years; $x++) {	
		if($x === 0){
			$tot_income  = $tot_income;
			$tot_expence = $tot_expence;
			$date        = $start_date;
		}else{
			$tot_salary    = $tot_income * $income_hike /100;
			$tot_salary    = $tot_income + $tot_salary;
			$tot_income    = round($tot_salary);
			
			$expence_total = $tot_expence * $in_out_inflation /100;
			$expence_total = $tot_expence + $expence_total;
			$tot_expence   = round($expence_total);
			$check_year    = $check_year + 1;
			
			$bank_in_td      .= "<td>0</td>";
			$insurance_in_td .= "<td>0</td>";
			$gov_in_td       .= "<td>0</td>";
			$others_in_td    .= "<td>0</td>";
		}
		$in_toal  = $tot_income;
		$out_toal = $tot_expence;
		
		if(in_array($check_year, array_column(json_decode($bank_in_info,true), 'maturity_year'))) {
			foreach(json_decode($bank_in_info) as $bank_in){
				$maturity_year     = $bank_in->maturity_year;
				$bank_maturity_amt = $bank_in->bank_maturity_amt;
				$bank_scheme_name  = $bank_in->bank_scheme_name;
				if((int)$maturity_year === (int)$check_year){
					//$bank_in_amt += $bank_maturity_amt;
					$in_toal += $bank_maturity_amt;
					$x_count = $x +1;
					for ($j = $x_count; $j <= $total_years; $j++) {
						$bank_bal_td .= "<td>0</td>";
					}
					$bank_in_line .= "<tr><td>Bank</td><td>$bank_scheme_name</td>$bank_in_td<td>$bank_maturity_amt</td>$bank_bal_td</tr>";
					$bank_bal_td = "";
				}
			}
		}
		
		if(in_array($check_year, array_column(json_decode($insurance_in_info,true), 'maturity_year'))) {
			foreach(json_decode($insurance_in_info) as $insurance_in){
				$maturity_year       = $insurance_in->maturity_year;
				$ins_sum_assured     = $insurance_in->ins_sum_assured;				
				$insurance_type_name = $insurance_in->insurance_type_name;
				$premium_yearly      = $insurance_in->premium_yearly;
				$ins_term            = $insurance_in->ins_term;
				$ins_ppt             = $insurance_in->ins_ppt;
				$inflation           = $premium_yearly;
				
				if($insurance_type_name === "Annuity"){
					$pension_amount      = $insurance_in->pension_amount;					
					$x_count = $x +1;
					for ($j = $x_count; $j <= $total_years; $j++) {
						$insurance_bal_td .= "<td>$pension_amount</td>";
					}
					if((int)$maturity_year === (int)$check_year){
						$in_toal += $ins_sum_assured;
						$insurance_in_line .= "<tr><td>Insurance</td><td>$insurance_type_name</td>$insurance_in_td<td>$ins_sum_assured</td>$insurance_bal_td</tr>";
					}					
					$insurance_bal_td = "";
				}else{
					//$insurance_in_line = "";
					if((int)$maturity_year === (int)$check_year){						
						$x_count = $x +1;
						for ($j = $x_count; $j <= $total_years; $j++) {
							$insurance_bal_td .= "<td>0</td>";
						}
						for($i=1; $i<(int)$ins_ppt; $i++){
							$interst= $inflation * 0.06;
							$inflation=$inflation+$interst+$premium_yearly;
						}							
						for($i=(int)$ins_ppt; $i<=(int)$ins_term; $i++){
							$inflation_info  = lp_calculation::compound_interest($inflation,6,1);
							$inflation_info  = json_decode($inflation_info); 
							$inflation       = $inflation_info->future_value;
						}
						$in_toal += $inflation;
						$insurance_in_line .= "<tr><td>Insurance</td><td>$insurance_type_name</td>$insurance_in_td<td>$inflation</td>$insurance_bal_td</tr>";
						$insurance_bal_td = "";
					}
				}
			}
		}
				
		if(in_array($check_year, array_column(json_decode($gov_in_info,true), 'maturity_year'))) {
			foreach(json_decode($gov_in_info) as $gov_in){
				$maturity_year      = $gov_in->maturity_year;
				$gov_maturity_value = $gov_in->gov_maturity_value;
				$gov_scheme_name    = $gov_in->gov_scheme_name;
				if((int)$maturity_year === (int)$check_year){
					$in_toal += $gov_maturity_value;
					$x_count = $x +1;
					for ($j = $x_count; $j <= $total_years; $j++) {
						$gov_bal_td .= "<td>0</td>";
					}
					$gov_in_line .= "<tr><td>Government</td><td>$gov_scheme_name</td>$gov_in_td<td>$gov_maturity_value</td>$gov_bal_td</tr>";
					$gov_bal_td = "";
				}
			}
		}
		
		if(in_array($check_year, array_column(json_decode($others_in_info,true), 'maturity_year'))) {
			foreach(json_decode($others_in_info) as $others){
				$maturity_year       = $others->maturity_year;
				$others_maturity_val = $others->others_maturity_val;
				$others_descript     = $others->others_descript;
				if((int)$maturity_year === (int)$check_year){
					$in_toal += $others_maturity_val;
					$x_count = $x +1;
					for ($j = $x_count; $j <= $total_years; $j++) {
						$others_bal_td .= "<td>0</td>";
					}
					$others_in_line .= "<tr><td>Others</td><td>$others_descript</td>$others_in_td<td>$others_maturity_val</td>$others_bal_td</tr>";
					$others_bal_td = "";
				}
			}
		}
		foreach(json_decode($insurance_in_info) as $insurance_in){
			$maturity_year       = $insurance_in->maturity_year;
			$ins_sum_assured     = $insurance_in->ins_sum_assured;				
			$insurance_type_name = $insurance_in->insurance_type_name;
			if($insurance_type_name === "Annuity"){
				$pension_amount      = $insurance_in->pension_amount;
				if((int)$maturity_year < (int)$check_year){
					$in_toal += $pension_amount;
				}
			}
			//$maturity_year = $insurance_in->maturity_year;
			//$emi_yearly    = $insurance_in->emi_yearly;
			
		}
		foreach(json_decode($loan_info) as $loan_out){
			$maturity_year = $loan_out->maturity_year;
			$emi_yearly    = $loan_out->emi_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$out_toal += $emi_yearly;
			}
		}
		foreach(json_decode($bank_out_info) as $bank_out){
			$maturity_year = $bank_out->maturity_year;
			$bank_yearly   = $bank_out->bank_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$out_toal += $bank_yearly;
			}
		}
		foreach(json_decode($insurance_out_info) as $insurance_out){
			$maturity_year   = $insurance_out->maturity_year;
			$premium_yearly  = $insurance_out->premium_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$out_toal += $premium_yearly;
			}
		}
		foreach(json_decode($mf_list) as $mf){
			$maturity_year = $mf->maturity_year;
			$mf_yearly     = $mf->mf_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$out_toal += $mf_yearly;
			}
		}
		foreach(json_decode($gov_out_info) as $gov_out){
			$maturity_year   = $gov_out->maturity_year;
			$gov_yearly      = $gov_out->gov_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$out_toal += $gov_yearly;
			}
		}
		foreach(json_decode($others_out_info) as $others_out){
			$maturity_year   = $others_out->maturity_year;
			$other_yearly    = $others_out->other_yearly;
			if((int)$maturity_year >= (int)$check_year){
				$out_toal += $other_yearly;
			}
		}
		
		$th_line        .= "<th>$check_year</th>";
		$salary_line    .= "<td>$tot_income</td>";		 
		$expense_line   .= "<td>$tot_expence</td>";
		$in_total_line  .= "<td>$in_toal</td>";
		$out_total_line .= "<td>$out_toal</td>";
		$final_total     = $in_toal - $out_toal;
		$final_total_line .= "<td>$final_total</td>";
		$in_toal  = 0;
		$out_toal = 0;
	}
	
	$loan_line    = "";
	foreach(json_decode($loan_info) as $loan_out){
		$maturity_year = $loan_out->maturity_year;
		$emi_yearly    = $loan_out->emi_yearly;
		$loan_type_name = $loan_out->loan_type_name;
		$out_start_date  = date("Y-m-d");
		$out_start_date  = new DateTime($out_start_date);
		$out_check_year  = $out_start_date->format("Y");
		//$out_check_year = date('Y',strtotime($out_start_date));
		for ($x = 0; $x <= $total_years; $x++) {
			if($x === 0){
				$loan_td_line = "<td>Loan</td><td>$loan_type_name</td>";
			}else{
				$out_check_year    = $out_check_year + 1;
			}
			
			if((int)$maturity_year >= (int)$out_check_year){
				$loan_td_line  .= "<td>$emi_yearly</td>";
			}else{
				$loan_td_line  .= "<td>0</td>";
			}
		}
		$loan_line .= "<tr>$loan_td_line</tr>";
		$loan_td_line = "";
	}
	
	$bank_out_line    = "";
	foreach(json_decode($bank_out_info) as $bank_out){
		$maturity_year  = $bank_out->maturity_year;
		$bank_yearly    = $bank_out->bank_yearly;
		$bank_scheme_name  = $bank_out->bank_scheme_name;
		$out_start_date = date("Y-m-d");
		$out_start_date  = new DateTime($out_start_date);
		$out_check_year  = $out_start_date->format("Y");
		//$out_check_year = date('Y',strtotime($out_start_date));
		for ($x = 0; $x <= $total_years; $x++) {
			if($x === 0){
				$bank_out_td_line = "<td>Bank</td><td>$bank_scheme_name</td>";
			}else{
				$out_check_year    = $out_check_year + 1;
			}
			
			if((int)$maturity_year >= (int)$out_check_year){
				$bank_out_td_line  .= "<td>$bank_yearly</td>";
			}else{
				$bank_out_td_line  .= "<td>0</td>";
			}
		}
		$bank_out_line .= "<tr>$bank_out_td_line</tr>";
		$bank_out_td_line = "";
	}
		
	$insurance_out_line    = "";	
	foreach(json_decode($insurance_out_info) as $insurance_out){
		$insurance_id   = $insurance_out->insurance_id;
		$maturity_year   = $insurance_out->maturity_year;
		$premium_yearly  = $insurance_out->premium_yearly;
		$insurance_type_name  = $insurance_out->insurance_type_name;
		$out_start_date  = date("Y-m-d");
		$out_start_date  = new DateTime($out_start_date);
		$out_check_year  = $out_start_date->format("Y");
		//$out_check_year  = date('Y',strtotime($out_start_date));
		for ($x = 0; $x <= $total_years; $x++) {
			if($x === 0){
				$insurance_out_td_line = "<td>Insurance</td><td>$insurance_type_name</td>";
			}else{
				$out_check_year    = $out_check_year + 1;
			}
			
			if((int)$maturity_year >= (int)$out_check_year){
				$insurance_out_td_line  .= "<td>$premium_yearly</td>";
			}else{
				$insurance_out_td_line  .= "<td>0</td>";
			}
		}
		$insurance_out_line    .= "<tr>$insurance_out_td_line</tr>";
		$insurance_out_td_line  = "";
	}
	$mf_line    = "";
	foreach(json_decode($mf_list) as $mf){
		$maturity_year = $mf->maturity_year;
		$mf_yearly     = $mf->mf_yearly;
		$amc_name      = $mf->amc_name;
		$out_start_date  = date("Y-m-d");	
		//$out_check_year  = date('Y',strtotime($out_start_date));
		$out_start_date  = new DateTime($out_start_date);
		$out_check_year  = $out_start_date->format("Y");
		for ($x = 0; $x <= $total_years; $x++) {
			if($x === 0){
				$mf_td_line = "<td>Mutual Fund</td><td>$amc_name</td>";
			}else{
				$out_check_year    = $out_check_year + 1;
			}
			
			if((int)$maturity_year >= (int)$out_check_year){
				$mf_td_line  .= "<td>$mf_yearly</td>";
			}else{
				$mf_td_line  .= "<td>0</td>";
			}
		}
		$mf_line .= "<tr>$mf_td_line</tr>";
		$mf_td_line = "";
	}
		
	$gov_out_line    = "";	
	foreach(json_decode($gov_out_info) as $gov_out){
		$maturity_year   = $gov_out->maturity_year;
		$gov_yearly      = $gov_out->gov_yearly;
		$gov_scheme_name      = $gov_out->gov_scheme_name;
		$out_start_date  = date("Y-m-d");	
		//$out_check_year  = date('Y',strtotime($out_start_date));
		$out_start_date  = new DateTime($out_start_date);
		$out_check_year  = $out_start_date->format("Y");
		for ($x = 0; $x <= $total_years; $x++) {
			if($x === 0){
				$gov_out_td_line = "<td>Government</td><td>$gov_scheme_name</td>";
			}else{
				$out_check_year    = $out_check_year + 1;
			}
			
			if((int)$maturity_year >= (int)$out_check_year){
				$gov_out_td_line  .= "<td>$gov_yearly</td>";
			}else{
				$gov_out_td_line  .= "<td>0</td>";
			}
		}
		$gov_out_line .= "<tr>$gov_out_td_line</tr>";
		$gov_out_td_line = "";
	}
	$others_out_line    = "";	
	foreach(json_decode($others_out_info) as $others_out){
		$maturity_year   = $others_out->maturity_year;
		$other_yearly    = $others_out->other_yearly;
		$others_descript = $others_out->others_descript;
		$out_start_date        = date("Y-m-d");	
		//$out_check_year        = date('Y',strtotime($out_start_date));
		$out_start_date  = new DateTime($out_start_date);
		$out_check_year  = $out_start_date->format("Y");
		for ($x = 0; $x <= $total_years; $x++) {
			if($x === 0){
				$others_out_td_line = "<td>Others</td><td>$others_descript</td>";
			}else{
				$out_check_year    = $out_check_year + 1;
			}
			
			if((int)$maturity_year >= (int)$out_check_year){
				$others_out_td_line  .= "<td>$other_yearly</td>";
			}else{
				$others_out_td_line  .= "<td>0</td>";
			}
		}
		$others_out_line .= "<tr>$others_out_td_line</tr>";
		$others_out_td_line = "";
	}
		
	$total_years = $total_years+2;
	$income_table = "<h3 style='text-align:center;color:#43d854;'>Income per year</h3>
					<table class='striped highlight centered responsive-table' style='margin-bottom:15px;'>
						<thead style='background-color:#43d854;font-weight:bold;color:#FFFFFF;'>
							$th_line
						</thead>
						<tbody>
							<tr>$salary_line</tr>
							$bank_in_line
							$insurance_in_line
							$gov_in_line
							$others_in_line
							<tr style='color:#43d854;font-weight:bold;'>$in_total_line</tr>
						</tbody>
					</table>";
		$expence_table = "<h3 style='text-align:center;color:#CC3366;'>Expense per year</h3>
							<table class='striped highlight centered responsive-table'  style='margin-bottom:15px;'>
							<thead style='background-color:#CC3366;font-weight:bold;color:#FFFFFF;'>
								$th_line
							</thead>
							<tbody>
								<tr>$expense_line</tr>
								$loan_line
								$bank_out_line
								$insurance_out_line
								$mf_line
								$gov_out_line
								$others_out_line
								<tr style='color:#CC3366;font-weight:bold;'>$out_total_line</tr>
							</tbody>
						</table>";
		$final_table = "<h3 style='text-align:center;color:#ed780e;'>Surplus fund per year</h3>
							<table class='striped highlight centered responsive-table'  style='margin-bottom:15px;'>
							<thead style='background-color:#ed780e;font-weight:bold;color:#FFFFFF;'>
								$th_line
							</thead>
							<tbody>
								<tr>$final_total_line</tr>
							</tbody>
						</table>";

	$content = "$income_table $expence_table $final_table";
	echo json_encode(array('content' => $content),JSON_NUMERIC_CHECK);
}else
/**** PROTECTION SUGGESTED INFORMATION ****/
if($frm === "protection_suggested"){
	echo $repObject->protection_suggested();	
}else
/**** GOAL INFORMATION ****/
if($frm === "goal_info"){
	$in_out_inflation = "";
	if(isset($_POST['in_out_inflation'])){
		$in_out_inflation = $_POST['in_out_inflation'];
	}
	$income_hike = "";
	if(isset($_POST['income_hike'])){
		$income_hike = $_POST['income_hike'];
	}
	echo $repObject->get_goal_info();	
}else
/**** GOAL DETAIL INFORMATION ****/
if($frm === "goal_info_detail"){
	$goal_id = "";
	if(isset($_POST['goal_id'])){
		$goal_id = $_POST['goal_id'];
	}
	$returns = 6;
	echo $repObject->get_goal_info_detail($goal_id,$returns);	
}else
/**** GOAL DETAIL INFORMATION BY RETURS****/
if($frm === "suggestion_returs"){
	$goal_id = "";
	if(isset($_POST['goal_id'])){
		$goal_id = $_POST['goal_id'];
	}
	$returns = "";
	if(isset($_POST['suggestion_returs'])){
		$returns = $_POST['suggestion_returs'];
	}	
	echo $repObject->get_goal_info_detail($goal_id,$returns);	
}else{
	echo json_encode(array('sts' => FALSE, 'info' =>"No Record found"));
}
?>