<?php
$servername = "127.0.0.1";
$username = "user01";
$password = "user01";
$dbname = "mydatabase";
//header('content-type text/html charset=utf-8');
$conn = mysqli_connect($servername, $username, $password, $dbname);


session_start();

$aCamara = $_SESSION;

//echo $_SESSION('sessionCamara');

//include "../php/conexaoDB.php";
//Receber a requisão da pesquisa 
$requestData= $_REQUEST;

//print_r($aCamara);

/*foreach ($requestData as $key => $value) {
	if ($key == 'columns' || $key == 'order') {
		foreach ($value as $key => $value) {
			foreach ($value as $key => $value) {
					echo "$key -> $value" . "\r";
			}
	 	}
	} else {
		echo "$key -> $value" . "\r";
	}
}*/

//Indice da coluna na tabela visualizar resultado => nome da coluna no banco de dados
$columns = array( 
	0 =>'dt_apres',
	1 =>'id', 
	2 =>'proposicao',
	3=> 'ementa',
	4=> 'detalhe',
	5=> 'keyWords',
	6=> 'valor',
	7=> 'origem'
);

$chk_camara = $requestData['camara'];
$chk_senado = $requestData['senado'];
$chk_stf = $requestData['stf'];
/*$chk_arquivado = $requestData['arquivado'];
$chk_conjunto = $requestData['conjunto'];
$chk_cae_cft = $requestData['cae_cft'];
$chk_conclusiva = $requestData['conclusiva'];*/

$filtro = '';
if ($chk_camara == 'S') {
	$filtro .= "'C'";
}
if ($chk_senado == 'S') {
	if (strlen(trim($filtro)) >0) { 
		$filtro .= ", 'S'";
	} else {
		$filtro .= "'S'";
	} 
}
if ($chk_stf == 'S') {
	if (strlen(trim($filtro)) >0) { 
		$filtro .= ", 'J'";
	} else {
		$filtro .= "'J'";
	}
}
//Obtendo registros de número total sem qualquer pesquisa
$query = "SELECT * FROM proposicoes ";
$resultado_busca =mysqli_query($mysqli, $query);
$total_rows = mysqli_num_rows($resultado_busca);

//Obter os dados a serem apresentados
$query = "SELECT * FROM proposicoes WHERE 1=1";

// se houver um parâmetro de pesquisa, $requestData['search']['value'] contém o parâmetro de pesquisa
if( !empty($requestData['search']['value']) ) { 
	$query.=" AND (id LIKE '%".$requestData['search']['value']."%'";  
	$query.=" OR proposicao LIKE '%".$requestData['search']['value']."%'";
	$query.=" OR ementa LIKE '%".$requestData['search']['value']."%'";
	$query.=" OR detalhe LIKE '%".$requestData['search']['value']."%'";
	$query.=" OR keyWords LIKE '%".$requestData['search']['value']."%'";
	$query.=" OR valor LIKE '%".$requestData['search']['value']."%'";
	$query.=" OR dt_apres LIKE '%".$requestData['search']['value']."%')";
}
//Filtro da origem das proposições
if (strlen($filtro) > 0) {
	$query.=" AND origem IN (" . $filtro . ")";
}

$resultado_usuarios=mysqli_query($mysqli, $query);
$totalFiltered = mysqli_num_rows($resultado_usuarios);
//Ordenar o resultado
$query .= " ORDER BY ". $columns[$requestData['order'][0]['column']]." ".$requestData['order'][0]['dir']." LIMIT ".$requestData['start'].",".$requestData['length'].";";

/*if (intval($requestData['draw']) != 1) {
	echo $query . "\r\n";
	echo $columns[$requestData['order'][0]['column']] . "\r\n";
	echo $requestData['order'][0]['dir'] . "\r\n";
	echo $requestData['start'] . "\r\n";
	echo $requestData['length'] . "\r\n";
}*/

$resultado = mysqli_query($mysqli, $query);
$data = array();
// Ler e criar o array de dados
foreach ($resultado as $key => $value) {
	$row = array();
	foreach ($value as $key => $value) {
		if ($key == 'dt_apres') {
			//$row[$key] = date("d/m/Y", strtotime($value));
			$row[$key] = date("Y-m-d", strtotime($value));
		} else {
			//$row[$key] = utf8_decode($value);
			$row[$key] = trim($value);
		}
  	}
  	$data[] = $row;
}

//while($row = $resultado_usuarios->fetch_array(MYSQLI_ASSOC)) {
	//$dados[] = $row;
//}

//Cria o array de informações a serem retornadas para o Javascript
$json_data = array(
	"draw" => intval( $requestData['draw'] ),//para cada requisição é enviado um número como parâmetro
	"recordsTotal" => intval( $total_rows ),  //Quantidade de registros que há no banco de dados
	"recordsFiltered" => intval( $totalFiltered ), //Total de registros quando houver pesquisa
	"ckeck" => $filtro,
	"query" => $query,
	"data" => $data   //Array de dados completo dos dados retornados da tabela 
);
//verifica matriz $json_data, mostrando cada elemento
//print_r($json_data);
$a = json_encode($json_data);
//print_r($a);
/*if (intval($requestData['draw']) != 1) {
	foreach ($json_data as $key => $value) {
	if ($key == "draw" || $key == "recordsTotal" || $key == "recordsFiltered"){
		echo "$key -> $value" . "\r";
	} else {
		foreach ($value as $key => $value) {
			foreach ($value as $key => $value) {
	 			echo "$key -> $value" . "\r";
	 			}
			}
		}	
	}
}*/

if ($json_data) {
	echo json_encode($json_data);  //enviar dados como formato json
	//echo $json_data;
} else {
	    if (!function_exists('json_last_error_msg')) {
        function json_last_error_msg() {
            static $ERRORS = array(
                JSON_ERROR_NONE => 'No error',
                JSON_ERROR_DEPTH => 'Maximum stack depth exceeded',
                JSON_ERROR_STATE_MISMATCH => 'State mismatch (invalid or malformed JSON)',
                JSON_ERROR_CTRL_CHAR => 'Control character error, possibly incorrectly encoded',
                JSON_ERROR_SYNTAX => 'Syntax error',
                JSON_ERROR_UTF8 => 'Malformed UTF-8 characters, possibly incorrectly encoded'
            );

            $error = json_last_error();
            print_r(isset($ERRORS[$error]) ? $ERRORS[$error] : 'Unknown error');
            return $error;
        }
    }
}
?>