<?php 

	if (Session::get("tipo_usuario") != "2" and Session::get("tipo_usuario") != "5"){ show_403();}
	if ($_SERVER["REQUEST_METHOD"] == "POST") {
		import_file(DIR_MODELS."Model.class.php");

		if (isset($_POST["topico"]) and !empty($_POST["topico"])) {
			$id_topico = encrypt_decode(filter_input(INPUT_POST, "topico", FILTER_SANITIZE_STRING));
		}

		if (isset($_POST["id_caixa_mensagem"]) and !empty($_POST["id_caixa_mensagem"])) {
			$id_caixa_mensagem = encrypt_decode(filter_input(INPUT_POST, "id_caixa_mensagem", FILTER_SANITIZE_STRING));
		}

		$model = new Model();

		if (isset($id_topico) and !empty($id_topico)) {
			$result = $model->query("
				SELECT * FROM caixa_mensagem 
				WHERE 
					id_usuario = :id_usuario AND 
					id_topico = :id_topico
			", [
				":id_usuario" => Session::get("id_usuario"), 
				":id_topico" => $id_topico
			]);

			if ($result->rowCount() > 0) {
				$id_caixa_mensagem = $result->fetch()->id_caixa_mensagem;
			}
			else{
				echo json_encode(["status" => false]);
				exit();
			}
		}

		$mensagens = $model->query("
			SELECT 
				mensagem, 
				anexo_mensagem, 
				DATE_FORMAT(datahora_mensagem, '%d/%m/%Y %H:%i:%s') AS datahora_mensagem, 
				nome_usuario 
			FROM mensagem 
			INNER JOIN usuario ON (usuario.id_usuario = mensagem.id_usuario) 
			WHERE 
				id_caixa_mensagem = :id_caixa AND 
				mensagem.id_usuario <> :id_usuario AND 
				visualizado_mensagem = 'N' AND 
				status_mensagem = 'S'
		", [
			":id_caixa" => $id_caixa_mensagem, 
			":id_usuario" => Session::get("id_usuario")
		]);

		if ($mensagens->rowCount() > 0) {
			$response = ["status" => true];

			foreach ($mensagens->fetchAll() as $key => $value) {
				foreach ($value as $k => $v) {
					$response["dados"][$key][$k] = $v;	
				}
			}

			$model->query("
				UPDATE 
					mensagem 
				SET 
					visualizado_mensagem = 'S' 
				WHERE 
					id_caixa_mensagem = :id_caixa AND 
					id_usuario <> :id_usuario
			", [
				":id_caixa" => $id_caixa_mensagem, 
				":id_usuario" => Session::get("id_usuario")
			]);

			echo json_encode($response);
		}
		else{
			echo json_encode(["status" => false]);
		}
	}
	else{
		show_403();
	}

?>