<?php
require "../commonincludefiles.php";
error_reporting(1);

$college_id = $_SESSION["VedantnrCollegeId"];


$start = isset($_REQUEST['start']) ? $_REQUEST['start'] : 0;
$limit = isset($_REQUEST['limit']) ? $_REQUEST['limit'] : 30;
$sort = isset($_REQUEST['sort']) ? $_REQUEST['sort'] : 'frm.feesreceive_id';
$dir = isset($_REQUEST['dir']) ? $_REQUEST['dir'] : 'ASC';
$filters = isset($_REQUEST['filter']) ? $_REQUEST['filter'] : null;

    if (is_array($filters)) {
        $encoded = false;
    } else {
        $encoded = true;
        $filters = json_decode($filters);
    }
$where = '';
$qs = '';


if (is_array($filters)) {
    for ($i=0;$i<count($filters);$i++){
        $filter = $filters[$i];
        if ($encoded) {
			$field = $filter->field;
            $value = $filter->value;
            $compare = isset($filter->comparison) ? $filter->comparison : null;
            $filterType = $filter->type;
        } else {
			$field = $filter['field'];
            $value = $filter['data']['value'];
            $compare = isset($filter['data']['comparison']) ? $filter['data']['comparison'] : null;
            $filterType = $filter['data']['type'];
        }

		switch ($filterType) {
			case 'string':
				if ($field == "student_name") {
					$qs .= " AND (student_surname LIKE '%" . $value . "%' or 
								 student_firstname LIKE '%" . $value . "%' or student_lastname LIKE '%" . $value . "%') ";
				} 
				break;
				case 'list' :
					if (strstr($value,',')){
						  
								   $fi = explode(',',$value);
								for ($q=0;$q < count($fi);$q++){
									$fi[$q] = "'".$fi[$q]."'";
								}
								$value = implode(',',$fi);
								$qs .= " AND ".$field." IN (".$value.")";
								
					  }
					else
					{
							
						$qs .= " AND ".$field." = '".$value."'";
							 
					}	
					
				break;
				case 'boolean' : $qs .= " AND ".$field." = ".($value); break;
				case 'numeric' :
					
						if($field == "student_gturegno") {
		
							$field="sm.".$field;
						}   
						switch ($compare) {                        
							case 'eq' : $qs .= " AND ".$field." = ".$value; break;
							case 'lt' : $qs .= " AND ".$field." < ".$value; break;
							case 'gt' : $qs .= " AND ".$field." > ".$value; break;
						}
					break;
					case 'date' :
						switch ($compare) {
							case 'eq' : $qs .= " AND ".$field." = '".date('Y-m-d',strtotime($value))."'"; break;
							case 'lt' : $qs .= " AND ".$field." < '".date('Y-m-d',strtotime($value))."'"; break;
							case 'gt' : $qs .= " AND ".$field." > '".date('Y-m-d',strtotime($value))."'"; break;
						}
					break;
				}
			}
	$where .= $qs;
}

$sortorder = "";
if ($sort != "") {
	$order_field = $sort;
	$order_type = $dir;

}

$objStudentFeesRecMgmt = new StudentFeesRecMgmt();
if ($_REQUEST['branch'] != "") {
	$where .= " and frm.branch_id = '" . $_REQUEST['branch'] . "'";
}
$k = 0;

$arr = array();
//$total = dbRows($total);
$rs = $objStudentFeesRecMgmt->getAllRecords($limit, $start, $where, $order_field, $order_type);
$total = $objStudentFeesRecMgmt->getCountRecords(0, 0, $where, $order_field, $order_type);
while ($obj = dbObject($rs)) {
	$arr[$k] = $obj;
	$k++;
}

echo '{"total":"' . $total . '","data":' . json_encode($arr) . '}';
?>